Synthesis of correct adaptors for protocol enhancement in component-based systems

Adaptation of software components is an important issue in Component Based Software Engineering (CBSE). Building a system from reusable or Commercial-Off-The-Shelf (COTS) components introduces a set of problems, mainly related to compatibility and communication aspects. On one hand, components may have incompatible interaction behavior. This might require to restrict the system's behavior to a subset of safe behaviors. On the other hand, it might be necessary to enhance the current communication protocol. This might require to augment the system's behavior to introduce more sophisticated interactions among components. We address these problems by enhancing our architectural approach which allows for detection and recovery of incompatible interactions by synthesizing a suitable coordinator. Taking into account the specification of the system to be assembled and the specification of the protocol enhancements, our tool (called SYNTHESIS) automatically derives, in a compositional way, the glue code for the set of components. The synthesized glue code implements a software coordinator which avoids incompatible interactions and provides a protocol-enhanced version of the composed system. By using an assume-guarantee technique, we are able to check, in a compositional way, if the protocol enhancement is consistent with respect to the restrictions applied to assure the specified safe behaviors.

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

[2]  S. Balemi,et al.  Supervisory control of a rapid thermal multiprocessor , 1993, IEEE Trans. Autom. Control..

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

[4]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[5]  Paola Inverardi,et al.  Automatic adaptor synthesis for protocol transformation , 2014, ArXiv.

[6]  Paola Inverardi,et al.  Failure-free Coordinator Synthesis for Correct Components Assembly , 2003 .

[7]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[8]  Stephan Merz,et al.  Model Checking , 2000 .

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

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

[11]  Sebastián Uchitel,et al.  Detecting implied scenarios in message sequence chart specifications , 2001, ESEC/FSE-9.

[12]  Massimo Tivoli,et al.  SYNTHESIS, a Tool for Synthesizing Correct and Protocol-Enhanced Adaptors , 2006, Obj. Logiciel Base données Réseaux.

[13]  Alberto L. Sangiovanni-Vincentelli,et al.  Convertibility verification and converter synthesis: two faces of the same coin , 2002, ICCAD 2002.

[14]  Paola Inverardi,et al.  Correct Components Assembly for a Product Data Management Cooperative System , 2004, CBSE.

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

[16]  David Garlan,et al.  A compositional formalization of connector wrappers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[17]  P. S. Thiagarajan,et al.  Message Sequence Charts , 2003, UML for Real.

[18]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.