Dear Hans-Peter: My title and abstract is attached. An alternative title would be: Alternative Title: Adaptive Application Architectures motivated by the following quote: ======================================================= Enterprise Architecture Strategies ... The primary design point for enterprisewide technical architectures (EWTAs) will be to enable rapid change in business and administrative processes and the applications that enable them. These "adaptive architectures" will create sustainable competitive advantage for ... companies that implement them. http://www.metagroup.com/ ======================================================== Challenges with Object-Oriented Frameworks and a Solution Using the APPC Pattern ======================================================== Prof. Dr. Karl Lieberherr College of Computer Science Northeastern University Boston, Massachusetts www.ccs.neu.edu/home/lieber January 1999 Abstract: Object-oriented frameworks are widely used as encapsulations of behavior for various application domains. When multiple frameworks are used and composed, several challenges arise as described by Riehle and Gross (OOPSLA '98): complexity of classes and object collaborations, code tangling and proper separation of concerns, and achieving reusable models. We present an architectural pattern, called the APPC pattern (Adaptive Plug-and-Play Component pattern), to help address those challenges. The APPC pattern builds on the observation that the general unit of reuse is not a single class, but a slice of behavior affecting a set of collaborating classes. The APPC pattern uses an "ideal" UML class diagram to express class collaborations using any object-oriented programming style but preferably using the traversal/visitor style. The mapping of the "ideal" UML class diagram into a concrete UML class diagram is achieved using any object-oriented programming style but preferably using the traversal/visitor style. The talk will outline how the APPC pattern can be implemented in Java using a traversal package and Java Beans. The APPC pattern not only facilitates the construction of complex software, specifically banking applications, by making the collaborations explicit, but it does so in a manner that supports the evolutionary nature of both structure and behavior.