A Formal Specification Language for the Description
of Architectural Patterns in Software Systems

C. Canal, E. Pimentel, J.M. Troya

Argentine Symposium on Object Orientation (ASOO'97)

Buenos Aires (Argentine), 1997

In Proceedings, pp. 47-56


Software Architecture refers to the level of design in which a system is described as a collection of interconnected components. Most concepts in the object-oriented paradigm can be applied to Software Architecture, where the more general term component-oriented is preferred. However, object-oriented notations often fail to describe the interaction patterns that the components of a system must follow. On the other hand, process algebras are good candidates for the specification of interactive systems, but they are low-level notations, which makes difficult their direct application to the description of complex systems. In this paper we present an Architecture Description Language which combines object-oriented characteristics, such as inheritance and pattern instantiation, with the use of process algebras to determine system compatibility and well-formedness. The language permits the description of architectural patterns which can be instanced to obtain specific architectures for different systems. (Paper)