Technische Universitaet Berlin (GERMANY)
CRIN/CNRS, Vandoeuvre-les-Nancy (FRANCE)
CADP (Construction and Analysis of Distributed Processes)
about 100 lines of LOTOS
Software architectures are a mechanism to make system design knowledge
explicit and amenable to use. They characterize designs in terms of
system components and connectors that enable communication between
components. The problem is to represent architectural styles in such
a way that unambiguous criteria can be stated to decide whether a given
design conforms to some style and how a style representation can help
to develop concrete architectures. For this purpose, the authors show
that LOTOS and its associated tools are appropriate for the development
of architectural styles, since they allow to characterize styles by
means of LOTOS patterns and to support the software architecture
The approach proposed to represent architectural styles is to describe components using LOTOS processes and connectors using communication and synchronization mechanisms offered by LOTOS (gates and rendezvous). Three different styles are represented in LOTOS: the repository style, which contains a central data structure representing the current state of the system and a collection of independent components that operate on this state; the pipe/filter style, in which all components (called filters) have inputs and outputs for consuming and producing streams of data through the connectors (called pipes) that link outputs of a filter to inputs of another; and the event-action style, in which events occurring in the environment of the system trigger actions in response, which may in turn generate other events. These styles are characterized by specific communication patterns described as LOTOS behaviour expressions, and by specific constraints on the form of components.
The approach is exemplified on the case-study of a simple biped robot. Three alternative specifications of the robot are developed, one for each architectural style considered. The CADP toolset is used to construct the LTS models for all three specifications. Using ALDEBARAN, it was shown that these models are safety equivalent. Moreover, the visualization and interactive simulation facilities of CADP have been used to animate the LOTOS specifications in order to validate their correct behaviour.
This work showed that LOTOS is a suitable language for describing
individual architectures and that LOTOS patterns in combination with
constraints are adequate for characterizing architectural styles.
Their schematic nature makes them also usable as templates for the
development of concrete architectures. The approach allows hierarchical
composition of architectural descriptions and definition of substyles
by adding further constraints or adding further detail to the patterns.
Moreover, the availability of verification toolsets such as CADP makes
possible the animation and formal analysis of architectural
M. Heisel and N. Lévy.
"Using LOTOS Patterns to Characterize Architectural Styles".
In M. Bidoit and M. Dauchet, editors, Proceedings of the International
Conference on Theory and Practice of Software Development TAPSOFT'97,
LNCS vol. 1214, pp. 818-832, Springer-Verlag, 1997.
Available on-line at: http://ivs.cs.uni-magdeburg.de/~heisel/pub/tapsoft.ps.gz
or from the CADP Web site in PDF or PostScript
Fakultaet fuer Informatik (FIN)
Institut fuer Verteilte Systeme (IVS)
Tel: +49 391 67 12 230
Fax: +49 391 67 12810
|This case study, amongst others, is described on the CADP Web site: http://cadp.inria.fr/case-studies