Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques

Reuse and composition are increasingly advocated and put into practice in modern software engineering. However, the software entities that are to be reused to build an application, e.g., services, have seldom been developed to integrate and to cope with the application requirements. As a consequence, they present mismatch, which directly hampers their reusability and the possibility of composing them. Software Adaptation has become a hot topic as a nonintrusive solution to work mismatch out using corrective pieces named adaptors. However, adaptation is a complex issue, especially when behavioral interfaces, or conversations, are taken into account. In this paper, we present state-of-the-art techniques to generate adaptors given the description of reused entities' conversations and an abstract specification of the way mismatch can be solved. We use a process algebra to encode the adaptation problem, and propose on-the-fly exploration and reduction techniques to compute adaptor protocols. Our approach follows the model-driven engineering paradigm, applied to service-oriented computing as a representative field of composition-based software engineering. We take service description languages as inputs of the adaptation process and we implement adaptors as centralized service compositions, i.e., orchestrations. Our approach is completely tool supported.

[1]  Sunil Chandra,et al.  Orchestrating composite Web services under data flow constraints , 2005, IEEE International Conference on Web Services (ICWS'05).

[2]  Luca Padovani Contract-Based Discovery and Adaptation of Web Services , 2009, SFM.

[3]  Gwen Salaün,et al.  Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques , 2008, IEEE Transactions on Software Engineering.

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

[5]  Fatiha Zaïdi,et al.  A Formal Framework for Service Orchestration Testing Based on Symbolic Transition Systems , 2009, TestCom/FATES.

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

[7]  Uwe Aßmann,et al.  How dark should a component black-box be? The Reuseware Answer , 2007 .

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

[9]  Hernán C. Melgratti,et al.  Testing Service Composition , 2007 .

[10]  Radu Mateescu,et al.  CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes , 2011, TACAS.

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

[12]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[13]  F. Puntigam Black & White , Never Grey : On Interfaces , Synchronization , Pragmatics , and Responsibilities , 2007 .

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

[15]  Wil M. P. van der Aalst,et al.  Service Interaction: Patterns, Formalization, and Analysis , 2009, SFM.

[16]  Gwen Salaün,et al.  Behavioral adaptation of component compositions based on process algebra encodings , 2007, ASE '07.

[17]  Carlos Canal,et al.  Synchronizing Behavioural Mismatch in Software Composition , 2006, FMOODS.

[18]  Rance Cleaveland,et al.  A linear-time model-checking algorithm for the alternation-free modal mu-calculus , 1993, Formal Methods Syst. Des..

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

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

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

[22]  Jana Kosecka,et al.  Control of Discrete Event Systems , 1992 .

[23]  Jean-Claude Royer,et al.  A Formal Architectural Description Language based on Symbolic Transition Systems and Temporal Logic , 2006, J. Univers. Comput. Sci..

[24]  Radu Mateescu,et al.  On-the-fly state space reductions for weak equivalences , 2005, FMICS '05.

[25]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

[26]  Dexter Kozen,et al.  Results on the Propositional µ-Calculus , 1982, ICALP.

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

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

[29]  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).

[30]  Radu Mateescu,et al.  CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes , 2007, CAV.

[31]  James Dooley,et al.  A Framework for Dynamic Service Discovery , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[32]  P. Ramadge,et al.  On the supremal controllable sublanguage of a given language , 1984, The 23rd IEEE Conference on Decision and Control.

[33]  Richard E. Ladner,et al.  Propositional Dynamic Logic of Regular Programs , 1979, J. Comput. Syst. Sci..

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

[35]  Paul Grefen,et al.  An overview on protocol adaptors for service component integration , 2008 .

[36]  Paola Inverardi,et al.  Automatic synthesis of behavior protocols for composable web-services , 2009, ESEC/FSE '09.

[37]  Julien Vayssière,et al.  The Service Adaptation Machine , 2008, 2008 Sixth European Conference on Web Services.

[38]  Vivek Sarkar,et al.  Decentralizing execution of composite web services , 2004, OOPSLA.

[39]  M. Beek,et al.  Formal Methods for Service Composition , 2007 .

[40]  Hubert Garavel,et al.  OPEN/CÆSAR: An OPen Software Architecture for Verification, Simulation, and Testing , 1998, TACAS.

[41]  Frédéric Lang,et al.  SVL: A Scripting Language for Compositional Verification , 2001, FORTE.

[42]  Radu Mateescu,et al.  CAESAR_SOLVE: A generic library for on-the-fly resolution of alternation-free Boolean equation systems , 2006, International Journal on Software Tools for Technology Transfer.

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

[44]  André Arnold,et al.  Finite transition systems - semantics of communicating systems , 1994, Prentice Hall international series in computer science.

[45]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[46]  Carlos Canal,et al.  Software Adaptation , 2006, Obj. Logiciel Base données Réseaux.

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

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

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

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

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

[52]  Schahram Dustdar,et al.  Non-intrusive monitoring and service adaptation for WS-BPEL , 2008, WWW.

[53]  Paola Inverardi,et al.  Failure-free coordinators synthesis for component-based architectures , 2008, Sci. Comput. Program..

[54]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

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

[56]  Alfredo Navarra,et al.  Synthesis of decentralized and concurrent adaptors for correctly assembling distributed component-based systems , 2008, J. Syst. Softw..

[57]  J. Christian Attiogbé,et al.  A Formal and Tool-Equipped Approach for the Integration of State Diagrams and Formal Datatypes , 2007, IEEE Transactions on Software Engineering.

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

[59]  Annapaola Marconi,et al.  Synthesis and Composition of Web Services , 2009, SFM.

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

[61]  Antonio Vallecillo,et al.  Typing the Behavior of Objects and Component Using Session Types , 2003, FOCLASA.

[62]  Francisco Durán,et al.  Checking Protocol Compatibility using Maude , 2009, Electron. Notes Theor. Comput. Sci..

[63]  Iso. Lotos,et al.  A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour , 1985 .

[64]  M. Harman,et al.  Testing Web Services : A Survey , 2011 .

[65]  Piergiorgio Bertoli,et al.  Automated composition of Web services via planning in asynchronous domains , 2005, Artif. Intell..

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

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

[68]  Henrik Reif Andersen Model Checking and Boolean Graphs , 1992, ESOP.

[69]  Yehia Taher,et al.  Diagnosing Incompatibilities in Web Service Interactions for Automatic Generation of Adapters , 2009, 2009 International Conference on Advanced Information Networking and Applications.

[70]  Wolfgang Weck,et al.  The Greybox Approach: When Blackbox Specifications Hide Too Much , 1999 .

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