This Article 
 Bibliographic References 
 Add to: 
A Syntactic Theory of Software Architecture
April 1995 (vol. 21 no. 4)
pp. 302-313
In this paper we introduce a general, extensible diagrammatic syntax for expressing software architectures based on typed nodes and connections and formalized using set theory. The syntax provides a notion of abstraction corresponding to the concept of a subsystem, and exploits this notion in a general mechanism for pattern matching over architectures. We demonstrate these ideas using a small example architecture language with a limited number of types of nodes and connectors, and a small taxonomy of architectures characterized as sets of patterns in the language.

[1] G. Abowd, R. Allen, and D. Garlan,“Using style to understand descriptions of software architecture,”inProc. First ACM SIGSOFT Symp. Foundations of Software Eng., Dec. 1993.
[2] R. Allen and D. Garlan,“Toward formalized software architectures,”Carnegie Mellon Univ., School of Comput. Sci., Tech. Rep. CMU-CS-92-163, July 1992.
[3] ——,“Formalizing architectural connection,”inProc. Sixteenth Int. Conf. Software Eng., 1994.
[4] T. Dean,“Software characterization using connectivity,”Ph.D. dissertation, Dep. Comput. and Inform. Sci., Queen's Univ., Kingston, Canada, 1993.
[5] H. Fahmy and D. Blostein,“A survey of graph grammars: Theory and applications,”in11th Int. Conf. Pattern Recognition,; also inPattern Recognition Methodology and Systems Vol. II. The Hague, Netherlands: Sept. 1992, pp. 294–298.
[6] R. Fillman and D. Friedman,Coordinated Computing: Tools and Techniques for Distributed Software.New York: McGraw-Hill, 1984.
[7] D. Garlan and M. Shaw,“An introduction to software architecture,”Advances in Software Engineering and Knowledge Engineering.New York: World Scientific, 1993, Vol. 1, pp. 1–39.
[8] C.A.R. Hoare,“Communicating sequential processes,” Comm. of the ACM, vol. 21, no. 8, pp. 666-677, Aug. 1978.
[9] R. Milner, A Calculus of Communicating Systems. Berlin: Springer Verlag, vol. 92, 1980.
[10] M. Shaw, "Larger Scale Systems Require Higher-Level Abstractions," Proc. Fifth Int'l Workshop Software Specification and Design, 1989.
[11] J. M. Spivey,The Z Notation: A Reference Manual. Englewood Cliffs, NJ: Prentice-Hall, 1989.

Index Terms:
Software architecture, software structure, pattern matching
Thomas R. Dean, James R. Cordy, "A Syntactic Theory of Software Architecture," IEEE Transactions on Software Engineering, vol. 21, no. 4, pp. 302-313, April 1995, doi:10.1109/32.385969
Usage of this product signifies your acceptance of the Terms of Use.