On the Precise Semantics of the Software Layering Design Pattern

1Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.

Abstract

Layering and layered system architectures are among the most common architectural styles in software engineering. Despite its near ubiquity, it turns out that there has been very little theoretical work on a more precise definition of what constitutes and what characterizes layering. This has had the unfortunate consequence that the layering style has been left open to frequent misinterpretation and misuse. To gain a clearer understanding of the semantics of layering, this article first delves into the origins of the concept, including a review of several key publications that popularized its application in the software domain. Through focused analysis of these foundations, the characteristics that make layering unique are derived and then used to provide a more precise definition of the semantics of layers and layer relationships. Along the way, some of the most common misconceptions associated with layered software architectures are identified and reviewed. Finally, some high-level guidance is provided to software architects and designers on when it is appropriate to use layering and how it should be applied.

Cite

CITATION STYLE

APA

Selić, B. (2021). On the Precise Semantics of the Software Layering Design Pattern. Journal of Object Technology, 50, 1–13. https://doi.org/10.5381/jot.2021.20.2.a6

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free