Institute for Software Research International
School of Computer Science, Carnegie Mellon University


Differencing and Merging of Architectural Views

Marwan Abi-Antoun, Jonathan Aldrich, Nagi Nahas,
Bradley Schmerl, David Garlan

August 2005

Revised March 2006 as CMU-ISRI-05-128R.

Keywords: View differencing, view merging, view synchronization, tree-to-tree correction, unordered labeled trees.

As architecture-based techniques become more widely adopted, software architects face the problem of reconciling different versions of architectural models. However, existing approaches to differencing and merging architectural views are based on restrictive assumptions, such as requiring view elements to have unique identifiers or explicitly log changes between versions.

To overcome some of the above limitations, we propose differencing and merging architectural views based on structural information. To that effect, we generalize a published polynomial-time tree-to-tree correction algorithm (that detects inserts, renames and deletes) into a novel algorithm to additionally detect restricted moves and support forcing and preventing matches between view elements. We implement a set of tools to compare and merge component-and-connector (C&C) architectural views, incorporating the algorithm. Finally, we provide an empirical evaluation of the algorithm and the tools on case studies with real software, illustrating the practicality of the approach to find and reconcile interesting divergences between architectural views.

23 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by