As software systems become more complex, the overall system structure—or software architecture—becomes a central design problem. An important step toward an engineering discipline of software is a formal basis for describing and analyzing these designs. In the article we present a formal approach to one aspect of architectural design: the interactions among 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.
%0 Journal Article
%1 258078
%A Allen, Robert
%A Garlan, David
%C New York, NY, USA
%D 1997
%I ACM
%J ACM Trans. Softw. Eng. Methodol.
%K ArchitectureLanguage Me:AOSD WRIGHT
%N 3
%P 213--249
%R http://doi.acm.org/10.1145/258077.258078
%T A Formal Basis for Architectural
Connection
%U http://portal.acm.org/citation.cfm?doid=258077.258078
%V 6
%X As software systems become more complex, the overall system structure—or software architecture—becomes a central design problem. An important step toward an engineering discipline of software is a formal basis for describing and analyzing these designs. In the article we present a formal approach to one aspect of architectural design: the interactions among 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.
@article{258078,
abstract = {As software systems become more complex, the overall system structure—or software architecture—becomes a central design problem. An important step toward an engineering discipline of software is a formal basis for describing and analyzing these designs. In the article we present a formal approach to one aspect of architectural design: the interactions among 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.},
added-at = {2008-09-30T14:24:00.000+0200},
address = {New York, NY, USA},
author = {Allen, Robert and Garlan, David},
biburl = {https://www.bibsonomy.org/bibtex/2076d48cfc81172d88a3cead850bd0d04/gron},
description = {A formal basis for architectural connection},
doi = {http://doi.acm.org/10.1145/258077.258078},
interhash = {fc7fc0fe0cc3f3fcedef8fd34359f4c4},
intrahash = {076d48cfc81172d88a3cead850bd0d04},
issn = {1049-331X},
journal = {ACM Trans. Softw. Eng. Methodol.},
keywords = {ArchitectureLanguage Me:AOSD WRIGHT},
number = 3,
pages = {213--249},
publisher = {ACM},
timestamp = {2008-09-30T14:24:00.000+0200},
title = {A Formal Basis for Architectural
Connection},
url = {http://portal.acm.org/citation.cfm?doid=258077.258078},
volume = 6,
year = 1997
}