Report Number: CSL-TR-95-674
Institution: Stanford University, Computer Systems Laboratory
Title: Three Concepts of System Architecture
Author: Luckham, David C.
Author: Vera, James
Author: Meldal, Sigurd
Date: July 1995
Abstract: An architecture is a specification of the components of a
system and the communication between them. Systems are
constrained to conform to an architecture. An architecture
should guarantee certain behavioral properties of a
conforming system, i.e., one whose components are configured
according to the architecture. An architecture should also be
useful in various ways during the process of building a
system.
This paper presents three alternative concepts of
architecture: object connection architecture, interface
connection architecture, and plug and socket architecture. We
describe different concepts of interface and connection that
are needed for each of the three kinds of architecture, and
different conformance requirements of each kind. Simple
examples are used to compare the usefulness of each kind of
architecture in guaranteeing properties of conforming
systems, and in correctly modifying a conforming system.
In comparing the three architecture concepts the principle of
communication integrity becomes central, and two new
architecture concepts, duality of sub-interfaces (services)
and connections of dual services (service connection), are
introduced to define plug and socket architecture. We
describe how these concepts reduce the complexity of
architecture definitions, and can in many cases help
guarantee that the components of a conforming system
communicate correctly. The paper is presented independently
of any particular formalism, since the concepts can be
represented in widely differing architecture definition
formalisms, varying from graphical languages to event-based
simulation languages.
http://i.stanford.edu/pub/cstr/reports/csl/tr/95/674/CSL-TR-95-674.pdf