UML Package Merge
A package merge is a directed relationship between two packages that indicates that content of one package is extended by the contents of another package.
Package merge is similar to generalization in the sense that the source element conceptually adds the characteristics of the target element to its own characteristics resulting in an element that combines the characteristics of both.
Package merge can be viewed as an operation that takes the contents of two packages and produces a new package that combines the contents of the packages involved in the merge.
This mechanism should be used when elements defined in different packages have the same name and are intended to represent the same concept. Most often it is used to provide different definitions of a given concept for different purposes, starting from a common base definition.
A given base concept is extended in increments, with each increment defined in a separate merged package. By selecting which increments to merge, it is possible to obtain a custom definition of a concept for a specific end.
Package merge is particularly useful in meta-modeling and is extensively used in the definition of the UML metamodel.
Package merge is shown using a dashed line with an open arrowhead pointing from the receiving package to the merged package. Keyword «merge» is shown near the dashed line.
Kernel and Profile packages merge Constructs package
which imports Primitive Types.