Demeter: Aspect-Oriented Software Development

Learn how you can create software which is easy to maintain and evolve using Adaptive Programming (AP) and Aspect-Oriented Programming (AOP).

Aspect-Oriented Software Development Conferences

Current Software Releases:
Demeter Implementations from Northeastern.

List of Publications with complete papers. Many papers have a discussion page linking them to a web of related newer work.

Demeter Ideas in Practice (e.g., XML, UML, EJB, data description languages).

Project Ideas related to AOP and AP.

Adaptive Programming is viewed as a major advance in software technology based on using well-known finite automata and formal language theory to express succinctly and process efficiently path sets in architectural graphs (e.g. UML class diagrams). AP allows you to make your software both simpler and more reusable by exploiting regularities which exist in most object-oriented programs. AP reduces software development and maintenance costs significantly. The more collaborating objects you use in a project, the larger the reduction. Connection to Aspect-Oriented Programming from Xerox PARC

My book on adaptive programming is available on-line. Title: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, Author: Karl Lieberherr, Publisher: PWS Publishing Company, ISBN: 0-534-94602-X, Year: 1996. The Traversal Semantics in Object Graphs paper on traversal strategies improves on the traversal technology described in the book. Makes adaptive programming much simpler and more powerful. Strategies are implemented in the AP Library (see Demeter Implementations).

If you are wondering how to apply Adaptive Programming to specific applications, take a look at Demeter in Action to get an idea of what others have done. There is a good chance that you will be able to apply many of the ideas in these solutions to your own work.

JJTree from Sun Test: A Commercial Java Tool using Demeter Ideas
DemeterJ (first version of DemeterJ page)
DemeterJ (DARPA/EDCS project info)
Aires (DARPA project at BBN)
Five Patterns Summarizing Adaptive Programming
Benefits of Adaptive Programming
A PowerPoint Slideshow (keynote address) about Aspect-Oriented and Adaptive Programming (0.5 Megabytes)

Created by Ruth S. Lieberherr

  • Team Members
  • What is Demeter?
  • Related projects
  • Discussions with related projects
  • Reactions About Adaptive Software

  • Research
  • Books
  • FTP directories

  • Software (available now)
  • Adaptable Systems
  • Technology Transfer
  • Design Patterns for Adaptable Systems
  • Education in Aspect-Oriented Programming

    The Demeter Method addresses the issues of changing requirements in open, evolving systems through adaptive programming. The Method allows you to achieve more by working less: you can make your programs simultaneously shorter (i.e., you have to work less) and at the same time you get several benefits: better adaptability and even adaptiveness, better understandability, better maintainability.

    This apparent paradox is achieved by writing your object-oriented programs as collaborating views which are loosely glued together. The adaptiveness stems from a simple, but innovative glue, which allows the programming of entire families of open implementations. An implementation is said to be open, if clients can still significantly influence the implementation.

    This page links you to a new world of more flexible software. If you like what you found here, we appreciate your feedback and we would like to hear about your use of the technology. Please tell your software friends about this page.

    Demeter certified products are healthy for you. The Demeter Association is an independent agency that certifies Biodynamic farms in the U.S. and abroad.

    Professor Karl J. Lieberherr

    Belorussian translation