Foundations for the study of software architecture
- 1 October 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGSOFT Software Engineering Notes
- Vol. 17 (4) , 40-52
- https://doi.org/10.1145/141874.141884
Abstract
The purpose of this paper is to build the foundation for software architecture. We first develop an intuition for software architecture by appealing to several well-established architectural disciplines. On the basis of this intuition, we present a model of software architecture that consists of three components: elements, form, and rationale. Elements are either processing, data, or connecting elements. Form is defined in terms of the properties of, and the relationships among, the elements --- that is, the constraints on the elements. The rationale provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements. We discuss the components of the model in the context of both architectures and architectural styles and present an extended example to illustrate some important architecture and style considerations. We conclude by presenting some of the benefits of our approach to software architecture, summarizing our contributions, and relating our approach to other current work.This publication has 7 references indexed in Scilit:
- OROS: toward a type model for software development environmentsPublished by Association for Computing Machinery (ACM) ,1989
- Invited talk: modular architectures for distributed and databases systemsPublished by Association for Computing Machinery (ACM) ,1989
- The inscape environmentPublished by Association for Computing Machinery (ACM) ,1989
- Discovering, visualizing, and controlling software structurePublished by Association for Computing Machinery (ACM) ,1989
- A framework for information systems architectureIBM Systems Journal, 1987
- A Guided Tour of Program Design MethodologiesComputer, 1981
- Petri NetsACM Computing Surveys, 1977