Previous | UML Classes | Table of Contents | UML Packages | Next |
The Classes package contains sub packages that deal with the basic modeling concepts of UML, and in particular classes and
their relationships.
Issue Editorial change: The original figure 7.1 and accompanying text incorrectly specified that the Kernel merges in elements
of Abstraction s. The editor felt that this could lead to crucial misunderstanding of the structure of the Kernel pacakge and
introduced the following change. NB: this is deemed a purely editorial change since the text accurately reflects the current
metamodel approved by the RTF and makes no technical changes.
Reusing packages from UML 2 Infrastructure
The Kernel package represents the core modeling concepts of the UML, including classes, associations, and packages. This part
is mostly reused from the infrastructure library, since many of these concepts are the same as those that are used in, for
example, MOF. The Kernel package is the central part of the UML, and reuses the Constructs and PrimitiveType s packages of
the InfrastructureLibrary.
In many cases, the reused classes are extended in the Kernel with additional features, associations, or superclasses. In subsequent
diagrams showing abstract syntax, the subclassing of elements from the infrastructure library is always elided since this
information only adds to the complexity without increasing understandability. Each metaclass is completely described as part
of this chapter; the text from the infrastructure library is repeated here.
It should also be noted that Kernel is a flat structure that like Constructs only contains metaclasses and no sub-packages.
The reason for this distinction is that parts of the infrastructure library have been designed for flexibility and reuse,
while the Kernel in reusing the infrastructure library has to bring together the different aspects of the reused metaclasses.
The packages that are explicitly merged from the InfrastructureLibrary are the following:
• PrimitiveType s
• Constructs
All other packages of the InfrastructureLibrary::Core are implicitly merged through the ones that are explicitly merged