Next: 2.4 Composability
Up: 2 Position
Previous: 2.2 Architectural Description Languages
The success on the application of formal methods to SA depends on the ability in finding models and formalisms adequate to this level of the development process. To this effect, process algebras are widely accepted for the specification of software systems, in particular for communication protocols and distributed systems. The systems so specified can be checked for equivalence, deadlock freedom, and other interesting properties.
In particular, we propose the use of the -calculus
[MPW92] for the specification of software
architectures. The
-calculus is a simple and powerful process
algebra which can express directly mobility
[EN86], making easier the specification of dynamic
systems. Mobility is achieved in the
-calculus by passing channel
names as arguments of messages. Since the names received can be used
as channels for future transmissions, this allows an easy and
effective reconfiguration of the system.
The calculus permits the specification of both local and
global choices . Local choices indicate that a process may decide, not
depending on its context, to commit to a certain transition or not,
and model nondeterministic behavior. Global choices indicate that a
process only commits to a transition after an agreement with another
process performing the complementary action (either by local or global
choice), and model deterministic behavior. Thus, using the
-calculus, we are able to express whether a process can initiate
a certain communication (and then it requires that its
environment could follow its decisions), or it just offers a
certain behavior to its environment.
The formal basis of the -calculus permits the analysis of the
specifications for bisimilarity, deadlock and other interesting
properties, and also the development of automated verification tools
[Vic94]. However, the
-calculus is a low level notation,
which makes difficult its direct application to the specification of
large systems. Hence, a higher level notation is required. Formal
specifications in
-calculus can be incorporated into the
description of components by extending one of the existing ADLs.
Carlos Canal, Ernesto Pimentel, and Jose M. Troya