Dynamic Component Gluing
Frameworks elevate encapsulation and reuse to the level of large-grained components, namely groups of collaborating classes. The abstract collaboration defined in a framework is easily customized by an application through static subclassing. However, this implies non-independent development of the application and framework models and excludes the possibility of dynamically deploying the framework. We propose the dynamic composite adapter design pattern, which employs the use of Java inner classes to achieve dynamic, modular, non-invasive, component adaptation. We also present a new scoping construct for succinctly defining dynamic adaptation of Java components.
KeywordsPrice Scheme Abstract Class Defense Advance Research Project Agency Application Class Primitive Operation
Unable to display preview. Download preview PDF.
- 1.D. Batory, The GenVoca Model of Software-System Generators. in IEEE Software, September 1994.Google Scholar
- 2.D. Einarson, G. Hedin, Using Inner Classes in Design Patterns, Code examples available at <http://www.dna.lth.se/home/daniel/patterns_inner_classes.html>.
- 3.E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.Google Scholar
- 4.I. Holland, The design and representation of object-oriented components, Ph.D. Dissertation, Northeastern University, Computer Science, 1993.Google Scholar
- 5.K. Lieberherr, Lorenz, and M. Mezini, Aspect-Oriented Components, College of Computer Science, Northeastern University, Technical Report, Boston, MA, 1999.Google Scholar
- 6.M. Mezini. Variational Object-Oriented Programming Beyond Classes and Inheritance. Kluwer Academic Publishers, 1998.Google Scholar
- 7.M. Mezini and K. Lieberherr, Adaptive Plug and Play Components for Evolutionary Software Development. Proc. OOPSLA, October 1998. ACM Press.Google Scholar
- 8.Y. Smaragdakis and D. Batory, Implementing Layered Designs with Mixin Layers, in Proc. ECOOP’98, 550–570. Springer Verlag, Lecture Notes in Computer Science.Google Scholar
- 9.L. Seiter, J. Palsberg, and K. Lieberherr, Evolution of Object Behavior using Context Relations, in IEEE Transactions on Software Engineering, January 1998.Google Scholar
- 10.P. Tarr, H. Ossher, W. Harrison, S. Sutton Jr., N Degrees of Separation: Multi-Dimensional Separation of Concerns, In ICSE’99. May 1999.Google Scholar
- 11.M. VanHilst and D. Notkin, Using Role Components to Implement Collaboration-Based Designs, In OOPLSA’96. ACM Press.Google Scholar
- 12.Xerox PARC AspectJ Team, AspectJ, Xerox PARC Technical Report, January 1999, http://www.parc.xerox.com/spl/projects/aop/