Prev Up Next
Go backward to Generative Programming: Beyond Generic Programming
Ulrich Eisenecker

Go up to Programming Methodology
Go forward to Complete Traversals: Implementation and Generality
Arturo Sánchez-Ruíz

Generic Programming Using Adaptive and
Aspect-Oriented Programming
Karl Lieberherr

Aspect-Oriented Programming (AOP) addresses the problem of tangling of aspects in programs and splits a program into loosely coupled building blocks. Each building block addresses one aspect of the application; some example aspects are: structure, synchronization, remote invocation, quality of service, etc. A weaver combines the building blocks, at least conceptually, into a program where the building blocks are tangled together and sometimes replicated several times.

Adaptive Programming is the special case of Aspect-Oriented Programming where one of the building blocks is expressible in terms of graphs and where the other building blocks refer to the graphs using traversal strategies. A traversal strategy is a partial specification of a class diagram pointing out a few cornerstone classes and relationships. Traversal strategies are graphs where each edge defines a regular expression specifying a traversal through a graph.

The experience with AP has been very positive. It has been used in several industrial projects. Programs become both simpler and more flexible. For more information, see


Prev Up Next