University dell'Aquila and Camerino (Italy)
IMT Lucca Institute for Advanced Studies (Italy)
Analyzing software architectures
CADP (Construction and Analysis of Distributed Processes)
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.
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.
"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,
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 http://www.di.univaq.it/~tivoli/MainSpace/files/EvolvingCBSystems.pdf
or from the CADP Web site in PDF or PostScript
Dipartimento di Informatica
Università degli Studi dell'Aquila
I-67100, L'Aquila (AQ), Italy
Tel: +39 0862 433732
Fax: +39 0862 433732
|Further remarks:||This tool, amongst others, is described on the CADP Web site: http://cadp.inria.fr/software|