Package Merge in UML 2: Practice vs. Theory?
The notion of compliance is meant to facilitate tool interoperability. UML 2 offers 4 compliance levels. Level Li + 1 is obtained from Level Li through an operation called package merge. Package merge is intended to allow modeling concepts defined at one level to be extended with new features. To ensure interoperability, package merge has to ensure compatibility: the XMI representation of the result of the merge has to be compatible with that of the original package. UML 2 lacks a precise and comprehensive definition of package merge. This paper reports on our work to understand and formalize package merge. Its main result is that package merge as defined in UML 2.1 does not ensure compatibility. To expose the problem and possible remedies more clearly, we present this result in terms of a very general classification of model extension mechanisms.
Unable to display preview. Download preview PDF.