Classifying Software Component Interoperability Errors to Support Component Adaption

This paper discusses various classifications of component interoperability errors. These classifications aim at supporting the automation of component adaptation. The use of software components will only demonstrate beneficial, if the costs for component deployment (i.e., acquisition and composition) are considerably lower than those for custom component development. One of the main reasons for the moderate progress in component-based software engineering are the high costs for component deployment. These costs are mainly caused by adapting components to bridge interoperability errors between unfitting components. One way to lower the costs of component deployment is to support component adaptation by tools, i.e., for interoperability checks of (semi-)automated adaptor generation. This automation of component adaptation requires a deep understanding of component interoperability errors. In particular, one has to differentiate between different classes of interoperability errors, as different errors require different adaptors for resolving. Therefore, the presented classification of component interoperability errors supports the automation of component adaptation by aiding automated interoperability problem detection and semi-automated adaptor generation. The experience gained from already implemented solutions for a specific class of interoperability errors provides hints for the solution of similar problems of the same class.

[1]  Antonio Vallecillo,et al.  Object Interoperability , 1999, ECOOP Workshops.

[2]  Flavio Oquendo,et al.  Software Architecture , 2004, Lecture Notes in Computer Science.

[3]  Elaine J. Weyuker,et al.  The trouble with testing components , 2001 .

[4]  Peter Thomas,et al.  WS-Specification: Specifying Web Services Using UDDI Improvements , 2002, Web, Web-Services, and Database Systems.

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

[6]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975, IEEE Transactions on Software Engineering.

[7]  Ian M. Graham,et al.  Migrating to object technology , 1994 .

[8]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[9]  J. Bosch Composition through Superimposition , 1996 .

[10]  Heike Wehrheim Relating State-based and Behaviour-oriented Subtyping , 2002, Nord. J. Comput..

[11]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[12]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[13]  Daniel M. Yellin,et al.  Interfaces, protocols, and the semi-automatic construction of software adaptors , 1994, OOPSLA 1994.

[14]  John Daniels,et al.  Designing Object Systems , 1994 .

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

[16]  Paddy Nixon,et al.  Semantic Trading: Tackling Interoperability Problems During System Integration , 1999, ECOOP Workshops.

[17]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[18]  B. Randell,et al.  Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968, Brussels, Scientific Affairs Division, NATO , 1969 .

[19]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[20]  Ralf H. Reussner Parametrisierte Verträge zur Protokolladaption bei Software-Komponenten , 2001 .

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

[22]  Daniel M. Yellin,et al.  Interfaces, protocols, and the semi-automatic construction of software adaptors , 1994, OOPSLA '94.

[23]  Heike Wehrheim,et al.  Behavioural Subtyping and Property Preservation , 2000, FMOODS.

[24]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[25]  Antonio Brogi,et al.  Dynamically Adapting the Behaviour of Software Components , 2002, COORDINATION.

[26]  Ralf Reussner,et al.  Automatic component protocol adaptation with the CoConut/J tool suite , 2003, Future Gener. Comput. Syst..

[27]  Leigh A. Davis,et al.  A notation for problematic architecture interactions , 2001, ESEC/FSE-9.

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

[29]  Daniel M. Yellin,et al.  Protocols and the Semiautomatic Construction of Software Adaptors , 1994, OOPSLA 1994.

[30]  Antonio Brogi,et al.  Systematic Component Adaptation , 2002, Electron. Notes Theor. Comput. Sci..

[31]  John Daniels,et al.  Designing object systems: object-oriented modelling with Syntropy , 1995 .

[32]  Ralf H. Reussner Counter-Constrained Finite State Machines: A New Model for Component Protocols with Resource-Dependencies , 2002, SOFSEM.

[33]  Henk Sol,et al.  Information Systems Methodologies: A Framework for Understanding , 1988 .

[34]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[35]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[36]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[37]  Alexander L. Wolf,et al.  Software architecture , 2001 .