Interactive Specification and Verification of Behavioural Adaptation Contracts

Adaptation is a crucial issue when building new applications by reusing existing software services which were not initially designed to interoperate with each other. Adaptation contracts describe composition constraints and adaptation requirements among these services. The writing of this specification by a designer is a difficult and error-prone task, especially when service protocol needs to be considered and service functionality accessed through behavioural interfaces. In this paper, we propose an interactive approach to support the contract design process, and more specifically: (i) a graphical notation to define port bindings, and an interface similarity measure to compare protocols and suggest some port connections to the designer, (ii) compositional and hierarchical techniques to facilitate the specification of adaptation contracts by building them incrementally, (iii) validation and verification techniques to check that the contract will make the involved services work correctly and as expected by the designer. Our approach is fully supported by a prototype tool we have implemented.

[1]  Carlos Canal,et al.  Model-Based Adaptation of Behavioral Mismatching Components , 2008, IEEE Transactions on Software Engineering.

[2]  Boualem Benatallah,et al.  Protocol-aware matching of web service interfaces for adapter development , 2010, WWW '10.

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

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

[5]  Javier Cámara,et al.  Interactive Specification and Verification of Behavioural Adaptation Contracts , 2009, 2009 Ninth International Conference on Quality Software.

[6]  Mehrdad Sabetzadeh,et al.  Matching and Merging of Statecharts Specifications , 2007, 29th International Conference on Software Engineering (ICSE'07).

[7]  Fabio Casati,et al.  Semi-automated adaptation of service interactions , 2007, WWW '07.

[8]  Mihaela Sighireanu,et al.  Efficient on-the-fly model-checking for regular alternation-free mu-calculus , 2003, Sci. Comput. Program..

[9]  André Arnold,et al.  Finite transition systems , 1994 .

[10]  Antonio Brogi,et al.  Automated Generation of BPEL Adapters , 2006, CIbSE.

[11]  Erhard Rahm,et al.  A survey of approaches to automatic schema matching , 2001, The VLDB Journal.

[12]  Javier Cubo,et al.  A Model-Based Approach to the Verification and Adaptation of WF/.NET Components , 2008, Electron. Notes Theor. Comput. Sci..

[13]  Sebastián Uchitel,et al.  LTSA-WS: a tool for model-based verification of web service compositions and choreography , 2006, ICSE.

[14]  Dimitra Giannakopoulou,et al.  Automata-based verification of temporal properties on running programs , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[15]  Robin Milner,et al.  Modal Logics for Mobile Processes , 1991, CONCUR.

[16]  Ernesto Pimentel,et al.  Measuring the compatibility of service interaction protocols , 2011, SAC '11.

[17]  Gwen Salaün Generation of Service Wrapper Protocols from Choreography Specifications , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

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

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

[20]  Dave Clarke,et al.  Decomposing port automata , 2009, SAC '09.

[21]  Marlon Dumas,et al.  Adapt or Perish: Algebra and Visual Notation for Service Interface Adaptation , 2006, Business Process Management.

[22]  Paola Inverardi,et al.  Synthesis of correct and distributed adaptors for component-based systems: an automatic approach , 2005, ASE '05.

[23]  Ernesto Pimentel,et al.  Automatic Generation of Adaptation Contracts , 2009, Electron. Notes Theor. Comput. Sci..

[24]  Paola Inverardi,et al.  SYNTHESIS: A Tool for Automatically Assembling Correct and Distributed Component-Based Systems , 2007, 29th International Conference on Software Engineering (ICSE'07).

[25]  Christel Baier,et al.  Modeling Component Connectors in Reo by Constraint Automata: (Extended Abstract) , 2004, Electron. Notes Theor. Comput. Sci..

[26]  Javier Cámara,et al.  Composition and Run-time Adaptation of Mismatching Behavioural Interfaces , 2008, J. Univers. Comput. Sci..

[27]  Farhad Arbab,et al.  Web services choreography and orchestration in Reo and constraint automata , 2007, SAC '07.

[28]  Gwen Salaün,et al.  Tau Be or not Tau Be? - A Perspective on Service Compatibility and Substitutability , 2010, WCSI.

[29]  Xiang Fu,et al.  Analysis of interacting BPEL web services , 2004, WWW '04.

[30]  Gwen Salaün,et al.  Adaptation of Open Component-Based Systems , 2007, FMOODS.

[31]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[32]  Gwen Salaün,et al.  Describing and reasoning on Web services using process algebra , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[33]  Matthew Hennessy,et al.  Symbolic Bisimulations , 1995, Theor. Comput. Sci..