, Volume 7, Issue 4, pp 443-467
Date: 04 Dec 2007

Understanding and improving UML package merge

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


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.

Communicated by Prof. Oscar Nierstrasz; Jon Whittle.