Database of Research Tools Developed Using CADP

CHARMY and SYNTHESIS Tools for Analyzing Software Architectures

Organisation: University dell'Aquila and Camerino (Italy)
IMT Lucca Institute for Advanced Studies (Italy)

Functionality: Analyzing software architectures

Tools used: CADP (Construction and Analysis of Distributed Processes)

Period: 2007-2008

Description: With ever-increasing pressure to reduce software development costs, there is increasing focus on reuse. A component-based systems architecture (CBSA) utilises components that already exist, together with glue or adaptor elements that enable the reused components to work together. This leads to a need to verify that component behaviour will be as expected when it is reused in a new context and as component evolve.

Model differencing techniques have previously been used to study the evolution of a component. However, they can also be used in regression testing to demonstrate the behaviour of a reused component is as expected. The CHARMY framework is used to model a CBSA, specifying the topology and state-based behaviour, and to select and run test cases.

Using SYNTHESIS together with CHARMY, a system can be automatically assembled at run time from already implemented and verified components, and glue code that is correct by construction can be created automatically. This means that a system can evolve to take account of changed or replacement components without the need for costly redevelopment or retesting.

Conclusions: The CHARMY and SYNTHESIS combined framework, which includes tools from the CADP toolbox, provides both architectural analysis and code synthesis. Component selection and creation of the required glue code for a system can be completely automated, reducing development and testing time. A system that is assembled at run time can evolve automatically to take advantage of improvements in components.

Publications: [Muccini-07] Henry Muccini. "Using Model Differencing for Architecture-Level Regression Testing". In Peter Liggesmeyer, Erik Maehle, and Paul Müller editors, Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications SEAA'2007 (Lübeck, Germany), IEEE Computer Society Press, pp. 59-66, August 2007.
Full version available from the CADP Web site in PDF or PostScript

[Pelliccione-Tivoli-Bucchiarone-Polini-08] Patrizio Pelliccione, Massimo Tivoli, Antonio Bucchiarone, and Andrea Polini. "An Architectural Approach to the Correct and Automatic Assembly of Evolving Component-Based Systems". In Journal of Systems and Software, vol 81, nb 12, pp. 2237-2251, December 2008.
Full version available on-line from
or from the CADP Web site in PDF or PostScript
Massimo Tivoli
Dipartimento di Informatica
Università degli Studi dell'Aquila
Via Vetoio
I-67100, L'Aquila (AQ), Italy
Tel: +39 0862 433732
Fax: +39 0862 433732
Email: tivoli[at]

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

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

Back to the CADP research tools page