
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 on their reusability and the possibility to compose them. Software Adaptation has become a hot topic as a non-intrusive 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 article, 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.
[INFO.INFO-LO] Computer Science [cs]/Logic in Computer Science [cs.LO], [INFO.INFO-WB] Computer Science [cs]/Web, [INFO.INFO-SE] Computer Science [cs]/Software Engineering [cs.SE], ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification, [INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO], protocols, [INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE], adaptation contracts, 004, ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.12: Interoperability, interfaces, tools, service composition, [INFO.INFO-MO] Computer Science [cs]/Modeling and Simulation, software adaptation, verification, mismatch, process algebra, on-the-fly generation
[INFO.INFO-LO] Computer Science [cs]/Logic in Computer Science [cs.LO], [INFO.INFO-WB] Computer Science [cs]/Web, [INFO.INFO-SE] Computer Science [cs]/Software Engineering [cs.SE], ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.4: Software/Program Verification, [INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO], protocols, [INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE], adaptation contracts, 004, ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.12: Interoperability, interfaces, tools, service composition, [INFO.INFO-MO] Computer Science [cs]/Modeling and Simulation, software adaptation, verification, mismatch, process algebra, on-the-fly generation
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 115 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 1% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 1% |
