A Model of Layered Architectures

Diego Marmsoler
(Technische Universitaet Muenchen)
Alexander Malkis
(Technische Universitaet Muenchen)
Jonas Eckhardt
(Technische Universitaet Muenchen)

Architectural styles and patterns play an important role in software engineering. One of the most known ones is the layered architecture style. However, this style is usually only stated informally, which may cause problems such as ambiguity, wrong conclusions, and difficulty when checking the conformance of a system to the style. We address these problems by providing a formal, denotational semantics of the layered architecture style. Mainly, we present a sufficiently abstract and rigorous description of layered architectures. Loosely speaking, a layered architecture consists of a hierarchy of layers, in which services communicate via ports. A layer is modeled as a relation between used and provided services, and layer composition is defined by means of relational composition. Furthermore, we provide a formal definition for the notions of syntactic and semantic dependency between the layers. We show that these dependencies are not comparable in general. Moreover, we identify sufficient conditions under which, in an intuitive sense which we make precise in our treatment, the semantic dependency implies, is implied by, or even coincides with the reflexive-transitive closure of the syntactic dependency. Our results provide a technology-independent characterization of the layered architecture style, which may be used by software architects to ensure that a system is indeed built according to that style.

In Bara Buhnova, Lucia Happe and Jan Kofroň: Proceedings 12th International Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA 2015), London, United Kingdom, April 12th, 2015, Electronic Proceedings in Theoretical Computer Science 178, pp. 47–61.
Published: 17th March 2015.

ArXived at: https://dx.doi.org/10.4204/EPTCS.178.5 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org