Differencing and Merging of Architectural Views
Marwan Abi-Antoun, Jonathan Aldrich, Nagi Nahas,
Bradley Schmerl and
David Garlan.
In Automated Software Engineering Journal, Vol. 15(1), March 2008. Final version available online at http://dx.doi.org/10.1007/s10515-007-0023-3.
Online links: Plain Text
Abstract
Differencing and merging architectural views is an important activity in software engineering. However, existing approaches are still based on restrictive assumptions, such as requiring view elements to have unique identiers or exactly matching types, which is often not the case in many application domains.
We propose an approach based on structural information. We generalize a published polynomial-time tree-to-tree correction algorithm that detects inserts, renames and deletes, into a novel algorithm that additionally detects restricted moves.
Our algorithm also supports forcing and preventing matches between view elements. We incorporate the algorithm into tools to compare and merge Component-and-Connector (C&C) architectural views. We provide an empirical evaluation of the algorithm. We illustrate the tools using extended examples, and use them to detect and reconcile interesting differences between real architectural views. |
Keywords: Acme, ArchJava, Software Architecture.
|
|