Understanding and improving UML package merge

J Dingel, Z Diskin, A Zito - Software & Systems Modeling, 2008 - Springer
Software & Systems Modeling, 2008Springer
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 …
Abstract
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.
Springer