Patterns for Adaptive Programming (version 3). Those newer patterns replace some of the patterns below, except the Inventor's Paradox pattern.
We use five patterns to describe AP. The first pattern is called Inventor's Paradox. It has four subpatterns called Structure-Shy-Traversal, Structure-Shy Object and Context. The Class Graph pattern is about customizers for adaptive programs.
Those patterns are useful for designing software architectures, for designers who want to enlarge their design techniques, for methodologists who want to add adaptiveness to their methods, for programming language designers who want to support adaptiveness directly at the programming language level.
Two of the patterns: Structure-Shy-Traversal and Context are improvements of the Visitor pattern described in the Design Patterns book by Gamma et al. Structure-Shy-Traversal is good for describing traversals and Context allows to elegantly describe the visitor objects. Those two patterns are explained in the viewgraphs of the talk: Explaining Demeter/Adaptive Software with Patterns.
The Inventor's Paradox uses several loosely coupled concerns. Structure-Shy Traversal deals with only two concerns: traversals and class graphs. Structure-Shy Object uses also two concerns: textual object representations and extended class graphs. Context uses the two concerns: behavior and behavior modification.
A condensed list of applications of adaptiveness sorted by technique to achieve adaptiveness.
Televised Course from National Technological University
The position paper for the ACM Workshop on Strategic Directions in Computing Research contains a discussion of patterns and software architecture.
Back to AP home page
To Patterns home page
Karl J. Lieberherr College of Computer Science, Northeastern University Cullinane Hall, Boston, MA 02115 Internet: firstname.lastname@example.org Fax: (617) 373 5121