Software & Systems Modeling

, Volume 7, Issue 4, pp 443–467

Understanding and improving UML package merge

Regular Paper


Package merge allows the content of one package to be combined with that of another package. Package merge is used extensively in the UML 2 specification to modularize the definition of the UML 2 meta model and to define the four compliance levels of UML 2. Package merge is a novel construct in UML and currently not well understood. This paper summarizes our work to understand and improve package merge. First, we identify ambiguous and missing rules in the package merge definition and suggest corrections. Then, we formalize package merge and analyze it with respect to some desirable properties. Our analyses employs Alloy, a first-order modelling language with tool support, and concepts from mathematical logic which allow us to develop a general taxonomy of package extension mechanisms. The analyses reveal the unexpected failure of important properties.


UML Semantics formalization Model composition Metamodeling techniques 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.School of ComputingQueen’s UniversityKingstonCanada
  2. 2.Department of Computer ScienceUniversity of TorontoTorontoCanada
  3. 3.IBM Rational SoftwareKanataCanada
  4. 4.Institute for Software and Systems EngineeringBraunschweig University of TechnologyBraunschweigGermany

Personalised recommendations