Database of Research Tools Developed Using CADP

ADAPTOR Tool for Generating Software Component Adaptors

Organisation: IBISC / Université d'Évry

Functionality: Model-Based Software Adaptation

Tools used: CADP (Construction and Analysis of Distributed Processes)
TINA (TIme petri Net Analyzer)

Period: 2006

Description: In general, existing software components do not perfectly fit the needs of a new system. Software adaptation promotes the use of additional components, so-called "adaptors", that guarantee correct interactions. The Adaptor tool allows the automatic generation of adaptors, taking as input behavioural descriptions of the component interfaces together with a specification of matching and ordering action labels; the latter are provided using a particular input language based on regular expressions of synchronization vectors.

The behavioural interface of a component is described by an LTS (Labeled Transition System). The composition of components is modelled by the synchronous product of the corresponding LTSs. A mismatch of the component interfaces can thus be detected by checking for deadlocks in the synchronous product.

Two techniques are used to generate an adaptor. To match components without reordering of interactions, an adaptor is derived from the synchronous product of the component interfaces. To match components requiring reordering of interactions, the tool generates a Petri net, the marking graph of which is computed using TINA, and used to derive an adaptor. In both cases, the size of the obtained adaptor is exponential. Therefore, a connection to CADP allows to minimize the adaptor with respect to the equivalence relations supported by CADP (branching bisimulation, tau-compression, tau-confluence, etc.).

Conclusions: Automatically generated adaptors facilitate the reuse of existing software components. However, the size of such adaptors is exponential in the size of the behavioural interface descriptions. The connection to CADP is convenient to provide minimal adaptors.

Publications: [Canal-Poizat-Salaun-06] Carlos Canal, Pascal Poizat, and Gwen Salaün. "Synchronizing Behavioural Mismatch in Software Composition". In Proceedings of the 8th IFIP International Conference on Formal Methods for Open Object-based Distributed Systems FMOODS'2006 (Bologna, Italy), Lecture Notes in Computer Science vol. 4037, pp. 63-77. Springer Verlag, June 2006.
Available on-line at:

[Canal-Poizat-Salaun-08] Carlos Canal, Pascal Poizat, and Gwen Salaün. "Model-Based Adaptation of Behavioral Mismatching Components". In IEEE Transactions on Software Engineering, volume 34, number 4, pp. 546-563, august 2008.
Available on-line from the CADP Web site in PDF or PostScript
Pascal Poizat
Université d'Évry Val d'Essonne
IBISC - Département d'Informatique
Tour Évry 2
523 place des terrasses de l'Agora
91000 Évry Cedex
Tel: +33 (0)1 60 87 39 37
Fax: +33 (0)1 60 87 37 89

Further remarks: This tool, amongst others, is described on the CADP Web site:

Last modified: Thu Feb 11 12:23:11 2021.

Back to the CADP research tools page