Software Adaptation

Reuse and integration of heterogeneous software parts are promises of ComponentBased Software Development. However, current industrial approaches suffer from a limited support for anything else than component signatures. Software Adaptation promotes the use of adaptors —specific computational entities guaranteeing that software components will interact in the right way not only at the signature level, but also at the behavioural, semantic and service levels. This paper presents in details the field of adaptation and serves as an introduction to the four papers which have been selected after the WCAT workshop at ECOOP’2004. RÉSUMÉ. La réutilisation et l’intégration d’éléments logiciels hétérogènes est une promesse du développement logiciel à base de composants. Cependant, les approches industrielles actuelles souffrent d’un support limité pour autre chose que les signatures de composants. L’adaptation logicielle promeut l’utilisation d’adaptateurs —des entités de calcul qui garantissent que les composants logiciels interagiront correctement, non seulement au niveau de leurs signatures, mais aussi au niveau comportemental, sémantique et service. Ce papier présente en détail l’adaptation et sert d’introduction aux quatre papiers qui ont été sélectionnés suite à l’atelier WCAT à ECOOP’2004.

[1]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[2]  Antonio Brogi,et al.  Behavioural Types for Service Integration: Achievements and Challenges , 2007, FOCLASA.

[3]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

[4]  Mario Südholt,et al.  On Components with Explicit Protocols Satisfying a Notion of Correctness by Construction , 2002, CoopIS/DOA/ODBASE.

[5]  Thomas Ledoux,et al.  Aspect-Oriented Software Development , 2003 .

[6]  Elke Pulvermüller,et al.  A Flexible Approach for Instance Adaptation During Class Versioning , 2000, Objects and Databases.

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

[8]  Jerry R. Hobbs,et al.  DAML-S: Semantic Markup for Web Services , 2001, SWWS.

[9]  Joseph D. Gradecki,et al.  Mastering AspectJ: Aspect-Oriented Programming in Java , 2003 .

[10]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[11]  Gwen Salaün,et al.  Formal Methods for Component Description , Coordination and Adaptation , 2004 .

[12]  Oscar Nierstrasz,et al.  Research directions in software composition , 1995, CSUR.

[13]  Farhad Arbab,et al.  The IWIM Model for Coordination of Concurrent Activities , 1996, COORDINATION.

[14]  Elie Najm,et al.  Behavioural Contracts for a Sound Assembly of Components , 2003, FORTE.

[15]  Shing-Chi Cheung,et al.  Behaviour Analysis of Distributed Systems Using the Tracta Approach , 2004, Automated Software Engineering.

[16]  Thomas A. Henzinger,et al.  Web service interfaces , 2005, WWW '05.

[17]  Paola Inverardi,et al.  Deadlock-free software architectures for COM/DCOM Applications , 2003, J. Syst. Softw..

[18]  Walter Cazzola,et al.  Evolving Pointcut Definition to Get Software Evolution , 2004, RAM-SE.

[19]  Mehmet Aksit Software Architectures and Component Technology: The State of the Art in Research and Practice , 2001 .

[20]  Chang Jun CORBA Component Model , 2003 .

[21]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[22]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[23]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[24]  F. Arbab What Do You Mean , Coordination ? , 1998 .

[25]  Harold Ossher,et al.  Multi-Dimensional Separation of Concerns and the Hyperspace Approach , 2002 .

[26]  Mario Südholt,et al.  A Model of Components with Non-regular Protocols , 2005, SC@ETAPS.

[27]  Pavol Cerný,et al.  Synthesis of interface specifications for Java classes , 2005, POPL '05.

[28]  Gerd Kortuem,et al.  Adaptation as an aspect in pervasive computing , 2004 .

[29]  Antonio Vallecillo,et al.  New Issues in Object Interoperability , 2000, ECOOP Workshops.

[30]  Harold Ossher,et al.  Using multidimensional separation of concerns to (re)shape evolving software , 2001, CACM.

[31]  Siobhán Clarke,et al.  Subject-oriented design: towards improved alignment of requirements, design, and code , 1999, OOPSLA '99.

[32]  David A Chappell Understanding ActiveX and OLE , 1996 .

[33]  Sebastián Uchitel,et al.  Synthesis of Behavioral Models from Scenarios , 2003, IEEE Trans. Software Eng..

[34]  P. Y. A. Ryan Towards an Engineering Approach to Component Adaptation , 2006 .

[35]  Vinny Cahill,et al.  Supporting Unanticipated Dynamic Adaptation of Application Behaviour , 2002, ECOOP.

[36]  Antonio Vallecillo,et al.  Formalizing Web Service Choreographies , 2004, Electron. Notes Theor. Comput. Sci..

[37]  Steffen Becker,et al.  Towards an Engineering Approach to Component Adaptation , 2004, Architecting Systems with Trustworthy Components.

[38]  Yang Zongkai,et al.  Modeling the Flow in Dynamic Web Services Composition , 2004 .

[39]  Jeff Prosise Programming Microsoft .NET , 2002 .

[40]  Paola Inverardi,et al.  Software Architecture for Correct Components Assembly , 2003, SFM.

[41]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[42]  C. Peltz,et al.  Web Services Orchestration and Choreography , 2003, Computer.

[43]  Carlos Canal,et al.  Coordination and Adaptation Techniques for Software Entities , 2004, ECOOP Workshops.

[44]  Antonio Brogi,et al.  A formal approach to component adaptation , 2005, J. Syst. Softw..

[45]  Svend Frølund,et al.  Quality-of-service specification in distributed object systems , 1998, Distributed Syst. Eng..

[46]  Bedir Tekinerdogan,et al.  Aspect Composition using Comparition Filters , 2002 .

[47]  Dimitra Giannakopoulou,et al.  Behaviour Analysis of Software Architectures , 1999, WICSA.

[48]  Paola Inverardi,et al.  Connectors synthesis for deadlock-free component based architectures , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[49]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[50]  Juan Manuel Murillo,et al.  Run-Time Adaptability of Synchronization Policies in Concurrent Object Oriented Languages , 1998, ECOOP Workshops.

[51]  Harold Ossher,et al.  Asymmetrically vs. Symmetrically Organized Paradigms for Software Composition , 2002 .

[52]  Ralph E. Johnson,et al.  Using Aspects to Make Adaptive Object-Models Adaptable , 2004, RAM-SE.

[53]  Miguel A. Pérez,et al.  Aspect Modelling at Architecture Design , 2005, EWSA.

[54]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.

[55]  Thomas Ledoux,et al.  Towards a Framework for Self-adaptive Component-Based Applications , 2003, DAIS.

[56]  Gregor Kiczales,et al.  Discussing aspects of AOP , 2001, CACM.

[57]  Ralf H. Reussner,et al.  Generating Adapters for Concurrent Component Protocol Synchronisation , 2002, FMOODS.

[58]  Antonio Brogi,et al.  Behavioural Types and Component Adaptation , 2004, AMAST.

[59]  Yann-Gaël Guéhéneuc,et al.  Integrating Behavior Protocols in Enterprise Java Beans , 2002 .

[60]  Bruno Traverson,et al.  Classification and comparison of Adaptable Platforms , 2004 .

[61]  Bedir Tekinerdogan,et al.  Achieving adaptability through separation and composition of concerns , 1996 .

[62]  Manfred Broy,et al.  Distributed and Parallel Embedded Systems , 1999, IFIP International Federation for Information Processing.