Pushout: A Mathematical Model of Architectural Merger

Although there are many formal representations of architecture, actually determining what an architecture should be when systems are merged is largely based on context and human intuition. The goal of this paper is to find a mathematical model which supports this context and determines the architecture when the systems have been merged. A category of architectural models is presented, and the pushout in this category provides the unique minimal merger of two architectures by way of an abstraction of the desired intersection. We conclude by identifying deeper aspects of architectural type which should be incorporated into this theory, and how the whole model might be automated.

[1]  Xiaolei Qian,et al.  Correctness and composition of software architectures , 1994, SIGSOFT '94.

[2]  Richard N. Taylor,et al.  Towards architecture-based self-healing systems , 2002, WOSS '02.

[3]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[4]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[5]  Hartmut Ehrig,et al.  Graph rewriting with unification and composition , 1986, Graph-Grammars and Their Application to Computer Science.

[6]  John Leaney,et al.  Architectural Abstraction as Transformation of Poset Labelled Graphs , 2004, J. Univers. Comput. Sci..

[7]  Friederike Nickl,et al.  Pushouts of Order-Sorted Algebraic Specifications , 1996, AMAST.

[8]  Daniel Le Métayer Describing Software Architecture Styles Using Graph Grammars , 1998, IEEE Trans. Software Eng..

[9]  Murali Sitaraman,et al.  Foundations of component-based systems , 2000 .

[10]  Richard C. Holt,et al.  Using graph rewriting to specify software architectural transformations , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[11]  Luciano Baresi,et al.  Style-based refinement of dynamic software architectures , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[12]  Manfred Nagl,et al.  Graph-Grammars and Their Application to Computer Science , 1986, Lecture Notes in Computer Science.

[13]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[14]  Mehrdad Sabetzadeh,et al.  A category-theoretic approach to syntactic software merging , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[15]  Paola Inverardi,et al.  Formal Analysis of Architectural Patterns , 2004, EWSA.

[16]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[17]  Richard C. Holt,et al.  Software architecture transformations , 2000, Proceedings 2000 International Conference on Software Maintenance.