Formal Connectors
Authors: Robert Allen and David Garlan
CMU CS Technical Report, CMU-CS-94-115, March 1994.
PostScript
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 theory for one aspect of architectural description: 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.
Keywords: software architecture, formal models, model checking, module
interconnection, software analysis
For further information, please visit the home pages of the
ABLE research project and
Carnegie Mellon University's
Composable Systems Group.
Last modified: 8/29/2006. For comments and problems, contact able-help@cs.cmu.edu.