Representing architectural evolution

Software engineers informally use block diagrams with boxes and lines to express system architectures. Diagrammatic representations of this type are also found in many specification techniques. However, rarely are architectural documents containing such representations systematically maintained; as a system evolves, architectural documents become obsolete, and the design history of the system is ultimately lost. Additionally, box-and-line representations used in these documents do not possess a precise semantics invariant across the different techniques that rely on them. This paper addresses expression of system evolution at the architectural level based on a formal model of box-and-line diagrams. The formal model (a) provides semantic uniformity and precision; and (b) allows evolutionary steps to be represented as structural transformations. Interesting classes of such transformations are characterized in terms of the underlying operators. With these tools, the architectural evolution of a system is captured as a directed acyclic graph of baselines, where each baseline consists of a system of box-and-line diagrams, and is mapped to a successor baseline by a set of structural transformations. It is also shown how familiar design concepts--such as extension, abstraction, and structural refinement-- can be formalized in simple terms within the framework developed.

[1]  Dewayne E. Perry,et al.  Software interconnection models , 1987, ICSE '87.

[2]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[3]  David C. Luckham,et al.  Three Concepts of System Architecture , 1995 .

[4]  Josef Hinterplattner,et al.  Process Topology Diagrams , 1990, FORTE.

[5]  Oryal Tanir Modeling Complex Computer and Communication Systems: A Domain-Oriented Design Framework , 1996 .

[6]  David Garlan,et al.  Acme: an architecture description interchange language , 1997, CASCON.

[7]  Hakan Erdogmus A Formal Framework for Software Architectures , 1995 .

[8]  Darlene A. Stewart,et al.  Commercial realtime software needs different configuation management , 1989, SCM.

[9]  Amardeo Sarma,et al.  Introduction to SDL-92 , 1996, Comput. Networks ISDN Syst..

[10]  David C. Luckham,et al.  Rapide: A language and toolset for simulation of distributed systems by partial orderings of events , 1997, Partial Order Methods in Verification.

[11]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[12]  David Garlan,et al.  Beyond Definition/Use: Architectural Interconnection , 1994, Workshop on Interface Definition Languages.

[13]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[14]  Robin Milner,et al.  Concurrent Processes and Their Syntax , 1979, JACM.

[15]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[16]  Mary Shaw,et al.  Characteristics of Higher-Level Languages for Software Architecture. , 1994 .

[17]  Aloysius K. Mok,et al.  Modechart: A Specification Language for Real-Time Systems , 1994, IEEE Trans. Software Eng..