Describing software architecture styles using graph grammars
- 1 July 1998
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 24 (7) , 521-533
- https://doi.org/10.1109/32.708567
Abstract
We believe that software architectures should provide an appropriate basis for the proof of properties of large software. This goal can be achieved through a clearcut separation between computation and communication and a formal definition of the interactions between individual components. We present a formalism for the definition of software architectures in terms of graphs. Nodes represent the individual agents and edges define their interconnection. Individual agents can communicate only along the links specified by the architecture. The dynamic evolution of an architecture is defined independently by a "coordinator." An architecture style is a class of architectures specified by a graph grammar. The class characterizes a set of architectures sharing a common communication pattern. The rules of the coordinator are statically checked to ensure that they preserve the constraints imposed by the architecture style.Keywords
This publication has 24 references indexed in Scilit:
- A calculus of mobile processes, IPublished by Elsevier ,2004
- Formalizing architectural connectionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Correct architecture refinementIEEE Transactions on Software Engineering, 1995
- Higher-order concurrent programs with finite communication topology (extended abstract)Published by Association for Computing Machinery (ACM) ,1994
- Using style to understand descriptions of software architecturePublished by Association for Computing Machinery (ACM) ,1993
- Foundations for the study of software architectureACM SIGSOFT Software Engineering Notes, 1992
- The chemical abstract machineTheoretical Computer Science, 1992
- Graph Rewriting: An Algebraic and Logic ApproachPublished by Elsevier ,1990
- Linda in contextCommunications of the ACM, 1989
- A model for distributed systems based on graph rewritingJournal of the ACM, 1987