ACM Transactions on Software Engineering and Methodology · 1997 · 1.2K citations · 27 references
ComputingArchitectural DesignComputer ScienceFormal MethodsSoftware EngineeringSystems ArchitectureComponent-based Software EngineeringDesign SpecificationSoftware ArchitectureSoftware DesignSoftware ModelingType SystemsArchitectural SemanticsArchitecture ModelsComponent ModelsConnectorsFormal Analysis In ArchitectureFormal ModelingSoftware Architecture ModelingSystem Architecture Specification
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.
27
Statecharts: a visual formalism for complex systems
David Harel · Science of Computer Programming · 1987 · 6.7K citations
A calculus of mobile processes, I
Robin Milner, Joachim Parrow, David Walker · Information and Computation · 1992 · 2.8K citations · Full text
Symbolic model checking: 1020 States and beyond
Jerry R. Burch, E. M. Clarke, Kenneth L. McMillan et al. · Information and Computation · 1992 · 2.7K citations