Component Adaptation: Specification and Verification

In a component-based software development, components are considered as black boxes. They are only described by their interfaces expressing their visible behaviors. They must be connected in an appropriate way, through required and provided interfaces. To guarantee interoperability of components, we must consider each connection of a required interface with another provided interface. In the best cases, a provided interface -- after some renaming -- constitutes an implementation of the required interface. In the general cases, to construct a working system out of components, adapters have to be defined. They connect the required operations and attributes to the required ones. The interoperability between a required interface and provided interfaces through an adapter is guaranteed by the use of the B formal method with its underlying concept of refinement, and its powerful tool support, the B prover.

[1]  Dominique Cansell,et al.  Click'n Prove: Interactive Proofs within Set Theory , 2003, TPHOLs.

[2]  Jun Han A comprehensive interface definition framework for software components , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[3]  Jun Han,et al.  Temporal Logic Based Specifications of Component Interaction Protocols , 2000 .

[4]  Marie-Laure Potet,et al.  A Study on Components and Assembly Primitives in B , 1996 .

[5]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .

[6]  Samir Chouali,et al.  Proving Component Interoperability with B Refinement , 2006, FACS.

[7]  Lidia Fuentes,et al.  Extending CORBA Interfaces with Protocols , 2001, Comput. J..

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

[9]  Clemens Szyperski,et al.  Component software , 1997 .

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

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

[12]  Dimitri Konstantas,et al.  Interoperation of object-oriented applications , 1995 .

[13]  Ralf H. Reussner,et al.  Reasoning about Software Architectures with Contractually Specified Components , 2003, Component-Based Software Quality.

[14]  Antonio Brogi,et al.  Coordinating interaction patterns , 2001, SAC.

[15]  Jun Han Temporal Logic Based Specification of Component Interaction Protocols , 2000 .

[16]  Jeanine Souquières,et al.  Contributions for Modelling UML State-Charts in B , 2002, IFM.

[17]  Samir Chouali,et al.  Verifying the compatibility of component interfaces using the B formal method , 2005, Software Engineering Research and Practice.

[18]  Marie-Laure Potet,et al.  Automatic Construction of Validated B Components from Structured Developments , 2000, ZB.

[19]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

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

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

[22]  Jeanine Souquières,et al.  A Systematic Approach to Transform OMT Diagrams to a B Specification , 1999, World Congress on Formal Methods.

[23]  George T. Heineman,et al.  An Evaluation of Component Adaptation Techniques , 1998 .

[24]  Arvinder Kaur,et al.  Component Based Software Engineering , 2010 .

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