Package merging

from Wikipedia, the free encyclopedia

A package merger (Engl. PackageMerge ) is a model element in the Unified Modeling Language (UML), a modeling language for software and other systems.

A packet merge is a directed relationship between two packets in the UML2. It specifies that the elements in the two packages involved are combined. The rules on how the individual elements in the source ( merged package ) and in the target package ( receiving package ) are merged are very detailed, because numerous special cases have to be distinguished.

Initially, a packet merge is only valid if some preconditions are met. For example, several relationships of the form packet merging must not form a cyclical dependency. It is also assumed that neither the target package is contained in the source package nor the source package in the target package.

In a greatly simplified manner, the rules for the packet merging can then be summarized as follows. All elements from the source package and all elements from the target package are copied into a third, temporary package . This can lead to conflicts if model elements with the same name and type appear in both the source and target packages. For each possible type it is specified how the conflict is resolved. If, for example, a class Adresseexists Adressein both the source and the target package, the package merge specifies a new class with the name in which the features of the two classes from the source and target system are combined. How features are to be combined is again specified in another detailed set of rules.

notation

Example of a package merge

A packet merge is shown as a dependency with a dashed line. The end with the open arrow points to the source package, the other end to the target package. The keyword «merge»is used to indicate that this is a packet merging.

Differences to UML 1.4

The model element package merging was newly introduced in UML2.

See also