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.
Cited By
- Nicolaescu A, Lichter H, Göringer A, Alexander P and Le D The ARAMIS Workbench for Monitoring, Analysis and Visualization of Architectures based on Run-time Interactions Proceedings of the 2015 European Conference on Software Architecture Workshops, (1-7)
- Floch J and Bræk R Using projections for the detection of anomalous behaviors Proceedings of the 11th international conference on System design, (251-268)
- Medvidovic N and Taylor R (2000). A Classification and Comparison Framework for Software Architecture Description Languages, IEEE Transactions on Software Engineering, 26:1, (70-93), Online publication date: 1-Jan-2000.
- Hilliard R and Rice T Expressiveness in architecture description languages Proceedings of the third international workshop on Software architecture, (65-68)
- Erdogmus H Representing architectural evolution Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
- Medvidovic N and Taylor R A framework for classifying and comparing architecture description languages Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering, (60-76)
- Medvidovic N and Taylor R (2019). A framework for classifying and comparing architecture description languages, ACM SIGSOFT Software Engineering Notes, 22:6, (60-76), Online publication date: 1-Nov-1997.
- Medvidovic N and Rosenblum D Domains of concern in software architectures and architecture description languages Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997, (16-16)
- Erdogmus H (2018). Architecture-driven verification of concurrent systems, Nordic Journal of Computing, 4:4, (380-413), Online publication date: 1-Dec-1997.
Recommendations
Relationships between three-way concepts and classical concepts
Special Section: Recent Advances in Machine Learning and Soft ComputingIn this paper, we firstly present some properties of classical concepts (i.e., formal concepts induced by positive operators and negative operators) and three-way concepts, respectively. Based on this, we systematically study the relationships between ...
Concepts of high-level-language computer architecture
ACM '75: Proceedings of the 1975 annual conferenceHigh-level-language (HLL) computer architecture refers to those architecture which can accept one or more high-level languages (such as Fortran, Alogl, Snobol, etc.). This paper classifies the HLL computer architecture into four types (von Neumann ...