9
work provided by π-AAL (with π-ADL) and its ve-
rification tools.
7 IMPLEMENTATION AND
EXPERIMENTATION
A major impetus behind developing formal languag-
es for architecture analysis is that their formality
renders them suitable to be manipulated by software
tools. The usefulness of an AAL is thereby directly
related to the kinds of tools it provides to support
automated verification. Indeed, π-AAL is supported
by a comprehensive analytical toolset composed of:
a model checking tool based on CADP;
a theorem proving tool implemented in XSB.
π-AAL (jointly with π-ADL) has been applied in
practice in several pilot projects in France, Italy,
UK, Switzerland, and China for designing compo-
nent-based software architectures. For instance, π-
AAL and its supporting toolset have been applied at
CERN (the European Organization for Nuclear Re-
search, Switzerland) for enforcing the correctness of
distributed control systems to restart particle accele-
rators.
Particle accelerators at CERN, as in many soft-
ware-intensive systems, are composed of a large
amount of distributed components, including nu-
merous sensors, actuators, processing and storage
devices. The CERN’s Technical Control Room de-
fined an architectural style with π-ADL and π-AAL
by formalizing all the correctness properties of sys-
tems controlling the restart of a particle accelerator.
These properties were embodied as a software envi-
ronment integrating the π-AAL toolset, in order to
guide the architectural design of such systems, ana-
lyze and generate the code of CERN’s particle acce-
lerator restart control systems.
This and other experimentations have shown that
π-AAL and its toolset are suitable for formally spe-
cifying and verifying structural and behavioral cor-
rectness properties of component-based software
architectures.
Furthermore, the ArchWare integrated develop-
ment environment itself (Oquendo et al. 2004) that
supports the architecture and development of soft-
ware-intensive systems using π-ADL and π-AAL is
itself a validation of π-ADL and π-AAL since it was
designed based on a component-based software ar-
chitecture and has been specified and developed
using these languages.
8 CONCLUSIONS AND FUTURE
WORK
This paper presented, in a nutshell, how π-AAL can
be used for specifying correctness properties of
component-based software architectures described
in π-ADL. It complements other publications on π-
AAL by providing a practical view on how to use its
concepts and notation for specifying correctness
instead of presenting its formal semantics.
π-AAL supports formal specification and corres-
ponding verification of both structural and beha-
vioral properties. This is a key factor in the
architectural design phase in order to support se-
mantic correctness.
Future work will mainly focus on specializing π-
AAL for Service-Oriented Architecture (SOA)
(OASIS 2008), a mainstream architectural style for
developing software-intensive component-based
systems based on the Web service technology stack,
in particular by refining the level of description and
analysis by providing service-oriented abstractions.
REFERENCES
Alloui I., Garavel H., Mateescu R., Oquendo F. (2003).
The ArchWare Architecture Analysis Language: Syn-
tax and Semantics. Deliverable D3.1b, ArchWare Eu-
ropean RTD Project, IST-2001-32360, January 2003,
URL: http://www-valoria.univ-ubs.fr/
ARCHLOG/ArchWare-IST/documents.htm
Barber K.S., Holt J. (2001). Software Architecture Cor-
rectness. IEEE Software, November/December 2001.
Bernardo M., Ciancarini P., Donatiello L. (2001). Detect-
ing Architectural Mismatches in Process Algebraic
Descriptions of Software Systems. Proceedings of the
2nd Working IEEE/IFIP Conference on Software Ar-
chitecture, Amsterdam, IEEE-CS Press, August 2001.
Fernandez J-C., Garavel H., Kerbrat A., Mateescu R.,
Mounier L., Sighireanu M. (1996). CADP (CAESAR/
ALDEBARAN Development Package) – A Protocol
Validation and Verification Toolbox. Proceedings of
the 8th International Conference on Computer-Aided
Verification, New Brunswick, USA, LNCS 1102,
Springer, August 1996.
Fischer M.J., Ladner R.E. (1979). Propositional Dynamic
Logic of Regular Programs. Journal of Computer and
System Sciences, Vol. 18, 1979.
Garavel H. (1989). Compilation and Verification of
LOTOS Programmes. PhD Dissertation, Univ. Joseph
Fourier (Grenoble), November 1989 (In French).
Garavel H., Lang F., Mateescu R. (2002). An Overview of
CADP 2001. European Association for Software
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
216