An Evaluation of Component Adaptation Techniques

Adapting existing code to include additional functionality or behavior is a common theme in software engineering. These e orts are complicated because the developer adapting the code will rarely be the designer of the code. As object-oriented and component-based software development achieve greater widespread use, there will be a distinct need to support such third-party adaptation. This paper describes the issues and challenges surrounding component adaptation and surveys various approaches in the literature. We evaluate these adaptation techniques by comparing their use in adapting an existing component in a sample application. Our experience leads us to a better understanding of the similarities and di erences between existing adaptation techniques.

[1]  M. Nedim Alpdemir,et al.  Customizable Adapters For Blackbox Components , 1998 .

[2]  Urs Hölzle,et al.  Binary Component Adaptation , 1997, ECOOP.

[3]  Ian Welch,et al.  Adaptation of Connectors in Software Architectures , 1998, ECOOP Workshops.

[4]  Daniel M. Yellin,et al.  Protocol specifications and component adaptors , 1997, TOPL.

[5]  George T. Heineman,et al.  Composition and interfaces within software architecture , 1998, CASCON.

[6]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[7]  Jesper Andersson Reactive dynamic architectures , 1998, ISAW '98.

[8]  Urs Hölzle,et al.  Integrating Independently-Developed Components in Object-Oriented Languages , 1993, ECOOP.

[9]  Israel Ben-Shaul,et al.  A reflective model for mobile software objects , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[10]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[11]  Alan W. Brown,et al.  The Current State , 2016 .

[12]  Lui Sha,et al.  Evolving dependable real-time systems , 1996, 1996 IEEE Aerospace Applications Conference. Proceedings.

[13]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[14]  George T. Heineman Adaptation and software architecture , 1998, ISAW '98.

[15]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[16]  Gail E. Kaiser,et al.  An Architecture for Integrating Concurrency Control into Environment Frameworks , 1995, 1995 17th International Conference on Software Engineering.

[17]  Jan Bosch,et al.  Superimposition: a component adaptation technique , 1999, Inf. Softw. Technol..

[18]  George T. Heineman,et al.  Composing Software Systems from Adaptable Software Components , 1997 .

[19]  David Garlan,et al.  Formal modeling and analysis of the HLA component integration standard , 1998, SIGSOFT '98/FSE-6.

[20]  George T. Heineman A model for designing adaptable software components , 2000, SOEN.

[21]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[22]  Gregory D. Abowd,et al.  Formalizing style to understand descriptions of software architecture , 1995, TSEM.

[23]  Richard N. Taylor,et al.  A framework for classifying and comparing architecture description languages , 1997, ESEC '97/FSE-5.

[24]  Cristina V. Lopes,et al.  Open Implementation Design Guidelines , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[25]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[26]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .