This Article 
 Bibliographic References 
 Add to: 
Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques
July-Aug. 2012 (vol. 38 no. 4)
pp. 755-777
Radu Mateescu, Inria Grenoble-Rhône-Alpes/CONVECS, Montbonnot Saint-Martin
Pascal Poizat, Université d'Evry Val d'Essonne, Paris and LRI UMR CNRS, Université Paris Sud, Orsay
Gwen Salaün, Grenoble INP and Inria Grenoble-Rhône-Alpes/CONVECS, Montbonnot Saint-Martin
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] S. Becker, A. Brogi, I. Gorton, S. Overhage, A. Romanovsky, and M. Tivoli, "Towards an Engineering Approach to Component Adaptation," Architecting Systems with Trustworthy Components, pp. 193-215, Springer, 2006.
[2] C. Canal, J.M. Murillo, and P. Poizat, "Software Adaptation," L'Objet, vol. 12, no. 1, pp. 9-31, 2006.
[3] R. Seguel, R. Eshuis, and P. Grefen, An Overview on Protocol Adaptors for Service Component Integration. Beta, 2009.
[4] R.H. Reussner, "Automatic Component Protocol Adaptation with the CoConut/J Tool Suite," Future Generation Computer Systems, vol. 19, no. 1, pp. 627-639, 2003.
[5] M. Tivoli and P. Inverardi, "Failure-Free Coordinators Synthesis for Component-Based Architectures," Science of Computer Programming, vol. 71, no. 3, pp. 181-212, 2008.
[6] A. Bracciali, A. Brogi, and C. Canal, "A Formal Approach to Component Adaptation," J. Systems and Software, vol. 74, no. 1, pp. 45-54, 2005.
[7] M. Dumas, K.W.S. Wang, and M.L. Spork, "Adapt or Perish: Algebra and Visual Notation for Service Interface Adaptation," Proc. Int'l Conf. Business Process Management, pp. 65-80, 2006.
[8] C. Canal, P. Poizat, and G. Salaün, "Model-Based Adaptation of Behavioural Mismatching Components," IEEE Trans. Software Eng., vol. 34, no. 4, pp. 546-563, July/Aug. 2008.
[9] A. Marconi and M. Pistore, "Synthesis and Composition of Web Services," Formal Methods for Web Services: Int'l School on Formal Methods for the Design of Computer, Comm. and Software Systems, pp. 89-157, Springer, 2009.
[10] P. Bertoli, M. Pistore, and P. Traverso, "Automated Composition of Web Services via Planning in Asynchronous Domains," Artificial Intelligence, vol. 174, pp. 316-361, 2010.
[11] F. Plasil and S. Visnovsky, "Behavior Protocols for Software Components," IEEE Trans. Software Eng., vol. 28, no. 11, pp. 1056-1076, Nov. 2002.
[12] H. Garavel, F. Lang, R. Mateescu, and W. Serwe, "CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes," Proc. Int'l Conf. Tools and Algorithms for the Construction and Analysis of Systems, pp. 372-387, 2011.
[13] J.A. Martín and E. Pimentel, "Automatic Generation of Adaptation Contracts," Proc. Int'l Workshop Foundations of Coordination Languages and Software Architectures, 2008.
[14] J. Cámara, G. Salaün, C. Canal, and M. Ouederni, "Interactive Specification and Verification of Behavioural Adaptation Contracts," Proc. Ninth Int'l Conf. Quality Software, pp. 65-75, 2009.
[15] M.H. ter Beek, A. Bucchiarone, and S. Gnesi, "Formal Methods for Service Composition," Annals of Math., Computing and Teleinformatics, vol. 1, no. 5, pp. 1-10, 2007.
[16] A. Bucchiarone, H. Melgratti, and F. Severoni, "Testing Service Composition," Proc. Argentine Symp. Software Eng., 2007.
[17] X. Fu, T. Bultan, and J. Su, "Analysis of Interacting BPEL Web Services," Proc. 13th Int'l Conf. World Wide Web, pp. 621-630, 2004.
[18] G. Salaün, L. Bordeaux, and M. Schaerf, "Describing and Reasoning on Web Services Using Process Algebra," Int'l J. Business Process Integration and Management, vol. 1, no. 2, pp. 116-128, 2006.
[19] H. Foster, S. Uchitel, and J. Kramer, "LTSA-WS: A Tool for Model-Based Verification of Web Service Compositions and Choreography," Proc. Int'l Conf. Software Eng., pp. 771-774, 2006.
[20] J. Cubo, G. Salaün, C. Canal, E. Pimentel, and P. Poizat, "A Model-Based Approach to the Verification and Adaptation of WF/.NET Components," Proc. Fourth Int'l Workshop Formal Aspects Component Software, pp. 39-55, 2007.
[21] A. Bertolino, P. Inverardi, P. Pelliccione, and M. Tivoli, "Automatic Synthesis of Behavior Protocols for Composable Web-Services," Proc. Seventh Joint Meeting of the European Software Eng. Conf. and the ACM SIGSOFT Symp. Foundations of Software Eng., pp. 141-150, 2009.
[22] M. Hennessy and H. Lin, "Symbolic Bisimulations," Theoretical Computer Science, vol. 138, no. 2, pp. 353-389, 1995.
[23] P. Poizat and J.-C. Royer, "A Formal Architectural Description Language Based on Symbolic Transition Systems and Modal Logic," J. Universal Computer Science, vol. 12, no. 12, pp. 1741-1782, 2006.
[24] C. Attiogbé, P. Poizat, and G. Salaün, "A Formal and Tool-Equipped Approach for the Integration of State Diagrams and Formal Datatypes," IEEE Trans. Software Eng., vol. 33, no. 3, pp. 157-170, Mar. 2007.
[25] F. Durán, M. Ouederni, and G. Salaün, "Checking Protocol Compatibility Using Maude," Proc. Int'l Workshop Foundation of Coordination Languages and Software Architectures, pp. 65-81, 2009.
[26] L. Bentakouk, P. Poizat, and F. Zaïdi, "A Formal Framework for Service Orchestration Testing Based on Symbolic Transition Systems," Proc. 21st IFIP WG 6.1 Int'l Conf. Testing of Software and Comm. Systems, pp. 16-32, 2009.
[27] A. Zisman, G. Spanoudakis, and J. Dooley, "A Framework for Dynamic Service Discovery," Proc. IEEE/ACM Int'l Conf. Automated Software Eng., pp. 158-167, 2008.
[28] C.A.R. Hoare, Communicating Sequential Processes. Prentice Hall, 1985.
[29] ISO/IEC, "LOTOS—A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour," ISO, Int'l Standard 8807, 1989.
[30] T. Bolognesi and E. Brinksma, "Introduction to the ISO Specification Language LOTOS," Computer Networks and ISDN Systems, vol. 14, no. 1, pp. 25-59, 1988.
[31] C. Canal, P. Poizat, and G. Salaün, "Synchronizing Behavioural Mismatch in Software Composition," Proc. Eighth IFIP WG 6.1 Int'l Conf. Formal Methods for Open Object-Based Distributed Systems, pp. 63-77, 2006.
[32] M.J. Fischer and R.E. Ladner, "Propositional Dynamic Logic of Regular Programs," J. Computer and System Sciences, vol. 18, no. 2, pp. 194-211, Sept. 1979.
[33] R. Mateescu and M. Sighireanu, "Efficient On-the-Fly Model-Checking for Regular Alternation-Free Mu-Calculus," Science of Computer Programming, vol. 46, no. 3, pp. 255-281, 2003.
[34] H.R. Andersen, "Model Checking and Boolean Graphs," Theoretical Computer Science, vol. 126, no. 1, pp. 3-30, Apr. 1994.
[35] D. Kozen, "Results on the Propositional $\mu$ -Calculus," Theoretical Computer Science, vol. 27, pp. 333-354, 1983.
[36] R. Cleaveland and B. Steffen, "A Linear-Time Model-Checking Algorithm for the Alternation-Free Modal mu-Calculus," Formal Methods in System Design, vol. 2, no. 2, pp. 121-147, Apr. 1993.
[37] R. Mateescu, "Caesar_solve: A Generic Library for On-the-Fly Resolution of Alternation-Free Boolean Equation Systems," Int'l J. Software Tools for Technology Transfer, vol. 8, no. 1, pp. 37-56, July 2006.
[38] R. Mateescu, "On-the-Fly State Space Reductions for Weak Equivalences," Proc. 10th Int'l Workshop Formal Methods for Industrial Critical Systems, T. Margaria and M. Massink, eds., pp. 80-89, Sept. 2005.
[39] H. Garavel, "Open/Cæsar: An Open Software Architecture for Verification, Simulation, and Testing," Proc. Int'l Conf. Tools and Algorithms for the Construction and Analysis of Systems, pp. 68-84, 1998.
[40] H. Garavel and F. Lang, "SVL: A Scripting Language for Compositional Verification," Proc. 21st Int'l Conf. Formal Techniques for Networked and Distributed Systems, pp. 377-392, 2001.
[41] M. Gowri Nanda, S. Chandra, and V. Sarkar, "Decentralizing Execution of Composite Web Services," Proc. 19th Ann. ACM SIGPLAN Conf. Object-Oriented Programming, Systems, Languages, and Applications, 2004.
[42] G. Chafle, S. Chandra, V. Mann, and M. Gowri Nanda, "Orchestrating Composite Web Services under Data Flow Constraints," Proc. IEEE Int'l Conf. Web Services, 2005.
[43] M. Autili, L. Mostarda, A. Navarra, and M. Tivoli, "Synthesis of Decentralized and Concurrent Adaptors for Correctly Assembling Distributed Component-Based Systems," J. Systems and Software, vol. 81, no. 12, pp. 2210-2236, 2008.
[44] G. Salaün, "Generation of Service Wrapper Protocols from Choreography Specifications," Proc. Sixth IEEE Int'l Conf. Software Eng. and Formal Methods, 2008.
[45] OASIS, "Web Services Business Process Execution Language (WSBPEL) Version 2.0," technical report, OASIS, Apr. 2007.
[46] M. Bozkurt, M. Harman, and Y. Hassoun, "Testing Web Services: A Survey," technical report, King's College London, 2010.
[47] D.M. Yellin and R.E. Strom, "Protocol Specifications and Components Adaptors," ACM Trans. Programming Languages and Systems, vol. 19, no. 2, pp. 292-333, 1997.
[48] A. Brogi and R. Popescu, "Automated Generation of BPEL Adapters," Proc. Int'l Conf. Service-Oriented Computing, pp. 27-39, 2006.
[49] M. Buchi and W. Weck, "The Greybox Approach: When Blackbox Specifications Hide Too Much," Technical Report 297, Turku Center for Computer Science, 1999.
[50] J. Henriksson, F. Heidenreich, J. Johannes, S. Zschaler, and U. Aßmann, "How Dark Should a Component Black-Box Be? The Reuseware Answer," Proc. 12th Int'l Workshop Component-Oriented Programming, 2007.
[51] F. Puntigam, "Black & White, Never Grey: On Interfaces Synchronization, Pragmatics and Responsibilities," Proc. 12th Int'l Workshop Component-Oriented Programming, 2007.
[52] W.M.P. van der Aalst, A.J. Mooij, C. Stahl, and K. Wolf, "Service Interaction: Patterns, Formalization, and Analysis," Formal Methods for Web Services: Int'l School on Formal Methods for the Design of Computer, Comm. and Software Systems, pp. 42-88, Springer, 2009.
[53] Y. Taher, A. Aït-Bachir, M.-C. Fauvet, and D. Benslimane, "Diagnosing Incompatibilities in Web Service Interactions for Automatic Generation of Adapters," Proc. Int'l Conf. Advanced Information Networking and Applications, pp. 652-659, 2009.
[54] J. Cámara, G. Salaün, and C. Canal, "Composition and Run-Time Adaptation of Mismatching Behavioural Interfaces," J. Universal Computer Science, vol. 14, no. 13, pp. 2182-2211, 2008.
[55] K. Wang, M. Dumas, C. Ouyang, and J. Vayssière, "The Service Adaptation Machine," Proc. Sixth European Conf. Web Services, pp. 145-154, 2008.
[56] H.R. Motahari-Nezhad, B. Benatallah, A. Martens, F. Curbera, and F. Casati, "Semi-Automated Adaptation of Service Interactions," Proc. Int'l Conf. World Wide Web, pp. 993-1002, 2007.
[57] O. Moser, F. Rosenberg, and S. Dustdar, "Non-Intrusive Monitoring and Adaptation for WS-BPEL," Proc. Int'l Conf. World Wide Web, pp. 815-824, 2008.
[58] H.R.M. Nezhad, G.Y. Xu, and B. Benatallah, "Protocol-Aware Matching of Web Service Interfaces for Adapter Development," Proc. Int'l Conf. World Wide Web, pp. 731-740, 2010.
[59] S. Nejati, M. Sabetzadeh, M. Chechik, S.M. Easterbrook, and P. Zave, "Matching and Merging of Statecharts Specifications," Proc. Int'l Conf. Software Eng., pp. 54-64, 2007.
[60] W.M. Wonham and P.J. Ramadge, "On the Supremal Controllable Sublanguage of a Given Language," SIAM J. Control and Optimization, vol. 25, no. 3, pp. 637-659, 1987.
[61] P.J.G. Ramadge and W.M. Wonham, "The Control of Discrete Event Systems," Proc. IEEE, vol. 77, no. 1, pp. 81-98, Jan. 1989.
[62] A. Vallecillo, V.T. Vasconcelos, and A. Ravara, "Typing the Behavior of Objects and Component Using Session Types," Electronic Notes in Theoretical Computer Science, vol. 68, no. 3, pp. 439-456, 2003.
[63] A. Brogi, C. Canal, and E. Pimentel, "Behavioural Types and Component Adaptation," Proc. Int'l Conf. Algebraic Methodology and Software Technology, pp. 42-56, 2004.
[64] L. Padovani, "Contract-Based Discovery and Adaptation of Web Services," Formal Methods for Web Services: Int'l School on Formal Methods for the Design of Computer, Comm. and Software Systems, pp. 213-260, Springer, 2009.
[65] R. Mateescu, P. Poizat, and G. Salaün, "Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques," Proc. Int'l Conf. Service-Oriented Computing, pp. 84-99, 2008.

Index Terms:
Service composition, software adaptation, interfaces, protocols, mismatch, adaptation contracts, process algebra, on--the-fly generation, verification, tools
Radu Mateescu, Pascal Poizat, Gwen Salaün, "Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques," IEEE Transactions on Software Engineering, vol. 38, no. 4, pp. 755-777, July-Aug. 2012, doi:10.1109/TSE.2011.62
Usage of this product signifies your acceptance of the Terms of Use.