A Formal Basis for Architectural Connection
Authors: Robert Allen and David Garlan
To appear ACM Transactions on Software Engineering and Methodology,
July 1997.
Download the
Postscript or
PDF
BIBTEX Citation
Abstract
As software systems become more complex the overall system
structure---or software architecture---becomes a central design
problem. An important step towards an engineering discipline of
software is a formal basis for describing and analyzing these
designs. In this paper we present a formal approach to one
aspect of architectural design: the interactions between
components. The key idea is to define architectural connectors as
explicit semantic entities. These are specified as a collection of
protocols that characterize each of the participant roles in an
interaction and how these roles interact. We illustrate how this
scheme can be used to define a variety of common architectural
connectors. We further provide a formal semantics and show how this
leads to a system in which architectural compatibility can be checked
in a way analogous to type checking in programming languages.
Note: this is an expanded version of the paper
Formalizing Architectural Connection ,
Robert Allen and David Garlan,
Proceedings of the 16th International Conference on SW
Engineering , May 1994.
Keywords: Software Architecture, Formal Description,
Architectural Connector, Formal Semantics, Compatibility Checking,
Wright
For further information, please visit the home pages of the
ABLE research project and
Carnegie Mellon University's
Composable Systems Group.
[Last modified 10-Feb-1999.
Mail suggestions to the Maintainer.]