Database of Case Studies Achieved Using CADP

LOTOS Patterns for Architectural Styles.

Organisation: Technische Universitaet Berlin (GERMANY)
CRIN/CNRS, Vandoeuvre-les-Nancy (FRANCE)

Method: LOTOS

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

Domain: Software Architectures.

Period: 1997.

Size: about 100 lines of LOTOS

Description: 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 development process.

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.

Conclusions: 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 descriptions.

Publications: [Heisel-Levy-97] 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:
or from the CADP Web site in PDF or PostScript
Maritta Heisel
Fakultaet fuer Informatik (FIN)
Institut fuer Verteilte Systeme (IVS)
Postfach 4120
39106 Magdeburg
Tel: +49 391 67 12 230
Fax: +49 391 67 12810

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

Last modified: Thu Feb 11 12:22:05 2021.

Back to the CADP case studies page