On the Semantics of Software Adaptation

A. Brogi, C. Canal, E. Pimentel

Science of Computer Programming,  61(2):136–151, Elsevier, 2006


The problem of adapting heterogeneous software components that present mismatching interaction behaviour is one of the crucial problems in Component-Based Software Engineering. A promising approach to solve this problem is based on an adaptation methodology relying on extending component interfaces with protocol information which describes their interaction behaviour, and of using a high-level notation to express the intended connection between component interfaces. The adaptor specification defines a component-in-the-middle capable of making two components interact successfully, according to certain constraints. The aim of this paper is to contribute to setting a theoretical foundation for software adaptation following this approach. A formal analysis of adaptor specifications is presented, and their usage to feature different forms of flexible adaptations is illustrated.

Note. A preliminar version of this paper, with the title On the Specification of Software Adaptation was presented in the CONCUR’2003 Workshop on the Foundations of Coordination Languages and Software Architectures (FOCLASA’03).