Differencing and Merging of Architectural Views
Abstract
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, the authors propose differencing and merging architectural views based on structural information. To that effect, they generalize a published polynomial-time, tree-to-tree correction algorithm that detects, inserts, renames, and deletes into a novel algorithm that also identifies restricted moves across levels of the hierarchy, and has the capability to force and prevent matches between view elements. They present a set of tools that use the tree-to-tree correction algorithm to compare and merge component-and-connector (C&C) architectural views. Case studies with real software illustrate the practicality of the algorithm and tool set, as they enabled the authors to find and reconcile interesting divergences between architectural views.
Document Details
- Document Type
- Technical Report
- Publication Date
- Aug 01, 2005
- Accession Number
- ADA456089
Entities
People
- Bradley Schmerl
- David Garlan
- Jonathan Erik Aldrich
- Marwan Abi-antoun
- Nagi Nahas
Organizations
- Carnegie Mellon University