A Syntactic Theory of Software Architecture

Introduces 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]  Daniel P. Friedman,et al.  Coordinated computing: tools and techniques for distributed software , 1984 .

[2]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[3]  M. Shaw Larger scale systems require higher-level abstractions , 1989, IWSSD '89.

[4]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[5]  Dorothea Blostein,et al.  A survey of graph grammars: theory and applications , 1992, Proceedings., 11th IAPR International Conference on Pattern Recognition. Vol.II. Conference B: Pattern Recognition Methodology and Systems.

[6]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[7]  David Garlan,et al.  Towards Formalized Software Architectures , 1992 .

[8]  Gregory D. Abowd,et al.  Using style to understand descriptions of software architecture , 1993, SIGSOFT '93.

[9]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[10]  R DeanThomas,et al.  A Syntactic Theory of Software Architecture , 1995 .

[11]  David Garlan,et al.  Formalizing Architectural Connection , 1994, ICSE.

[12]  James R. Cordy,et al.  Software characterization using connectivity , 1994 .

[13]  David Garlan,et al.  Formalizing architectural connection , 1994, Proceedings of 16th International Conference on Software Engineering.