a_syntactic_theory_of_software_architecture
Differences
This shows you the differences between two versions of the page.
| Previous revision | |||
| — | a_syntactic_theory_of_software_architecture [2025/01/15 21:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Dean, T. R. & Cordy, J. R. A Syntactic Theory of Software Architecture. Transactions on Software Engineering, | ||
| + | ===== Abstract ===== | ||
| + | |||
| + | In this paper we 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. | ||
| + | |||
| + | ===== Comments ===== | ||
| + | |||
| + | // | ||
| + | |||
| + | The paper introduces the need for a uniform notation to describe software architecture, | ||
| + | |||
| + | The paper describes a syntactic theory, i.e., the diagrammatic elements needed to syntactically describe some architectures. The theory is based on abstract types, describing the elements of systems, not their semantics/ | ||
| + | |||
| + | Then, the paper introduces several concepts useful to reason about software architectures: | ||
| + | * Partial systems: systems with at least one incomplete connection. | ||
| + | * Interface and Abstraction: | ||
| + | * Homogeneous and Heterogeneous Abstractions: | ||
| + | * Equivalence: | ||
| + | * Specialisation: | ||
| + | |||
| + | Using these concepts, it must be possible to describe most existing software architectures as well as architectural styles. The paper gives many examples of styles, including but not limited to Pipe and Filter, Layered, and Client-Server. Such notation and styles could be used to describe the results of recovery approaches for simultaneous mixed-language systems; possibly with attributes describing the programming languages as well as the communication protocols. Also, using these concepts, the paper introduces pattern matching, first as simple " | ||
| + | |||
| + | The paper mentions several interesting extensions: extending the types, adding semantics to the types and connections, | ||
