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.]