Component Integration with Pluggable Composite Adapters

  • Mira Mezini
  • Linda Seiter
  • Karl Lieberherr
Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 648)


In this chapter we address object-oriented component integration issues. We argue that traditional framework customization techniques are inappropriate for component-based programming since they lack support for non-invasive, encapsulated, dynamic customization. We propose a new language construct, called a pluggable composite adapter, for expressing component gluing. A pluggable composite adapter allows the separation of customization code from component implementation, resulting in better modularity, flexible extensibility, and improved maintenance and understandability. We also discuss alternative realizations of the construct.


Business process integration separation of concerns object-oriented frameworks component-based programming component integration 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Don Batory, Vivek Singhai, Jeff Thomas, Sankar Dasari, Bart Geraci and Marty Sirkin. The GenVoca Model of Software-System Generators. In IEEE Software, 11(5), 1994.Google Scholar
  2. 2.
    J. Bosch. Design Patterns as Language Constructs. In Journal of OOP, 1998.Google Scholar
  3. 3.
    G. Cohen, J. Chase, and D. Kaminsky. Automatic Program Transformation with JOIE. In USENIX 1998 Annual Technical Conference, pp. 167–178, 1998.Google Scholar
  4. 4.
    D. Einarson and G. Hedin. Using Inner Classes in Design Patterns. Available at <>.
  5. 5.
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.Google Scholar
  6. 6.
    J. Holzle and R. Keller. Binary Component Adaptation. In Proceedings of ECOOP ′98, Springer Verlag LNCS 1445, pp. 307–329, 1998.Google Scholar
  7. 7.
    G. Kniesel. Type-Safe Delegation for Run-Time Component Adaptation. In Proceedings of ECOOP ′99, Springer Verlag LNCS 1628, pp. 351–366, 1999.Google Scholar
  8. 8.
    J. Gil and D. Lorenz. Design Patterns and Language Design. In IEEE Computer, 31(3), pp. 118–120, 1998.Google Scholar
  9. 9.
    I. Holland. The Design and Representation of Object-Oriented Components. Ph.D. Dissertation, Northeastern University, Computer Science, 1993.Google Scholar
  10. 10.
    K. Lieberherr, D. Lorenz, and M. Mezini. Modeling Aspects with Adaptive Plug & Play Components. College of Computer Science, Northeastern University, Technical Report No. NU-CCS-99-01, Boston, MA, 1999.Google Scholar
  11. 11.
    H. Lieberman. Using Prototypical Objects to Implement Shared Behavior in OO Systems. In Proc. of OOPSLA ′86, ACM Sigplan Notices, 21(11), pp. 214–223, 1986.Google Scholar
  12. 12.
    M. Mattson, J. Bosch and M. Fayad. Framework Integration Problems, Causes, Solutions. Communications of ACM, 42(10), pp. 80–87, 1999.CrossRefGoogle Scholar
  13. 13.
    M. Mezini. Variational Object-Oriented Programming Beyond Classes and Inheritance. Kluwer Academic Publishers, 1998.Google Scholar
  14. 14.
    M. Mezini. A Reflective Implementation of Pluggable Composite Adapters.
  15. 15.
    M. Mezini and K. Lieberherr. Adaptive Plug and Play Components for Evolutionary Software Development. In Proceedings of OOPSLA ′98, 33(10), pp. 97–116, 1998.Google Scholar
  16. 16.
    L. Seiter, M. Mezini, K. Lieberherr. Dynamic Component Gluing in Java. In Proc. of 1st Symposium on Generative and Component-Based Software Engineering (GCSE ′99), Springer Verlag, LNCS, 1999.Google Scholar
  17. 17.
    Y. Smaragdakis and D. Batory. Implementing Layered Designs with Mixin Layers. In Proceedings of ECOOP′98, Springer Verlag LNCS, pp. 550–570, 1998.Google Scholar
  18. 18.
    L. Seiter, J. Palsberg, and K. Lieberherr. Evolution of Object Behavior using Context Relations. In IEEE Transactions on Software Engineering, 24(1), pp. 79–92, 1998.Google Scholar
  19. 19.
    P. Tarr, H. Ossher, W. Harrison, S. Sutton Jr. N Degrees of Separation: Multi-Dimensional Separation of Concerns. In Proceedings of ICSE′99, pp. 107–119, 1999.Google Scholar
  20. 20.
    M. VanHilst and D. Notkin. Using Role Components to Implement Collaboration-Based Designs. In Proceedings of OOPLSA′96, pp. 359–369, 1996, San Jose.Google Scholar
  21. 21.
  22. 22.
    R. Monson-Haefel. Enterprise Java Beans. O’Reilly & Associates, Inc., 1999.Google Scholar
  23. 23.
    C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison- Wesley, 1998.Google Scholar
  24. 24.
    D. Ungar and R. Smith. Self: The Power of Simplicity. In Proceedings of OOPSLA ′87, ACM Sigplan Notices, 22(12), pp. 227–242, 1987.Google Scholar
  25. 25.
    Xerox PARC Aspect J Team. AspectJ, Xerox PARC Technical Report, January 1999. Google Scholar

Copyright information

© Springer Science+Business Media New York 2002

Authors and Affiliations

  • Mira Mezini
    • 1
  • Linda Seiter
    • 2
  • Karl Lieberherr
    • 3
  1. 1.Department of Computer ScienceDarmstadt University of TechnologyDarmstadtGermany
  2. 2.Department of Computer EngineeringSanta Clara UniversitySanta ClaraUSA
  3. 3.College of Computer ScienceNortheastern UniversityBostonUSA

Personalised recommendations