Issue No. 04 - July-Aug. (2012 vol. 38)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2011.62
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.
Service composition, software adaptation, interfaces, protocols, mismatch, adaptation contracts, process algebra, on--the-fly generation, verification, tools
R. Mateescu, P. Poizat and G. Salaün, "Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques," in IEEE Transactions on Software Engineering, vol. 38, no. , pp. 755-777, 2011.