Tau Be or not Tau Be? - A Perspective on Service Compatibility and Substitutability

One of the main open research issues in Service Oriented Computing is to propose automated techniques to analyse service interfaces. A first problem, called compatibility, aims at determining whether a set of services (two in this paper) can be composed together and interact with each other as expected. Another related problem is to check the substitutability of one service with another. These problems are especially difficult when behavioural descriptions (i.e., message calls and their ordering) are taken into account in service interfaces. Interfaces should capture as faithfully as possible the service behaviour to make their automated analysis possible while not exhibiting implementation details. In this position paper, we choose Labelled Transition Systems to specify the behavioural part of service interfaces. In particular, we show that internal behaviours (tau transitions) are necessary in these transition systems in order to detect subtle errors that may occur when composing a set of services together. We also show that tau transitions should be handled differently in the compatibility and substitutability problem: the former problem requires to check if the compatibility is preserved every time a tau transition is traversed in one interface, whereas the latter requires a precise analysis of tau branchings in order to make the substitution preserve the properties (e.g., a compatibility notion) which were ensured before replacement.

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

[2]  Zhaohui Wu,et al.  Computing compatibility in dynamic service composition , 2009, Knowledge and Information Systems.

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

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

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

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

[7]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum I , 2001, Handbook of Process Algebra.

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

[9]  Nabil Hameurlain On compatibility and behavioural substitutability of component protocols , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[10]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

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

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

[13]  Pavlína Vareková,et al.  Component Substitutability via Equivalencies of Component-Interaction Automata , 2007, FACS.

[14]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

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

[16]  R. J. vanGlabbeek The linear time - branching time spectrum , 1990 .

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

[18]  Heung Seok Chae,et al.  An Approach to Checking Behavioral Compatibility between Web Services , 2008, Int. J. Softw. Eng. Knowl. Eng..

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

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

[21]  José M. Troya,et al.  Compatibility and inheritance in software architectures , 2001, Sci. Comput. Program..

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

[23]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[24]  Nabil Hameurlain Flexible Behavioural Compatibility and Substitutability for Component Protocols: A Formal Specification , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[25]  Thomas A. Henzinger,et al.  Web service interfaces , 2005, WWW '05.

[26]  Massimo Mecella,et al.  When are Two Web Services Compatible? , 2004, TES.

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

[28]  Radu Mateescu,et al.  BISIMULATOR: A Modular Tool for On-the-Fly Equivalence Checking , 2005, TACAS.

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

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

[31]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[32]  Javier Cámara,et al.  ITACA: An integrated toolbox for the automatic composition and adaptation of Web services , 2009, 2009 IEEE 31st International Conference on Software Engineering.

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

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

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

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