The FTF needs to review and complete this section -- this version was derived from the “Introduction” section of the Preface in the Draft Adopted Specification.
The basic units of compliance for UML are the packages which define the UML metamodel. Unless otherwise qualified, complying with a package requires complying with its abstract syntax, well-formedness rules, semantics and notation.
In the case of the UML Infrastructure, its InfrastructureLibrary is intended to be flexibly reused by UML2, MOF2, CWM2 and future metmodels. In order to maximize its flexibility for reuse, each subpackage in the InfrastructureLibrary constitutes a separate compliance point.
All metamodels that reuse the InfrastructureLibrary should clearly specify which packages they reuse, and further clarify which packages are imported without change, and which packages are imported and extended via specialization. For example, the UML::AuxiliaryConstructs::Profiles package imports the InfrastructureLibrary::Profiles package without change, whereas the UML::Classes::Kernel package imports all the Infrastructure::Core subpackages and extends some of their classes via specialization. In the latter case, specific specializations needs to be clearly defined.
no compliance | Implementation does not comply with the abstract syntax, well-formedness rules, semantics and notation of the package. |
partial compliance | Implementation partially complies with the abstract syntax, well-formedness rules, semantics and notation of the package. |
compliant compliance | Implementation fully complies with the abstract syntax, well-formedness rules, semantics and notation of the package. |
interchange compliance | Implementation fully complies with the abstract syntax, well-formedness rules, semantics, notation and XMI schema of the package. |
Compliance Point | Valid Options |
---|---|
Core::Abstractions::BehavioralFeatures | no, partial, complete, interchange |
Core::Abstractions::Changeabilities | no, partial, complete, interchange |
Core::Abstractions::Classifiers | no, partial, complete, interchange |
Core::Abstractions::Comments | no, partial, complete, interchange |
Core::Abstractions::Constraints | no, partial, complete, interchange |
Core::Abstractions::Elements | no, partial, complete, interchange |
Core::Abstractions::Expressions | no, partial, complete, interchange |
Core::Abstractions::Generalizations | no, partial, complete, interchange |
Core::Abstractions::Instances | no, partial, complete, interchange |
Core::Abstractions::Literals | no, partial, complete, interchange |
Core::Abstractions::Multiplicities | no, partial, complete, interchange |
Core::Abstractions::MultiplicityExpressions | no, partial, complete, interchange |
Core::Abstractions::Namespaces | no, partial, complete, interchange |
Core::Abstractions::Ownerships | no, partial, complete, interchange |
Core::Abstractions::Redefinitions | no, partial, complete, interchange |
Core::Abstractions::Relationships | no, partial, complete, interchange |
Core::Abstractions::StructuralFeatures | no, partial, complete, interchange |
Core::Abstractions::Super | no, partial, complete, interchange |
Core::Abstractions::Visibilities | no, partial, complete, interchange |
Core::Abstractions::Basic | no, partial, complete, interchange |
Core::Abstractions::Constructs | no, partial, complete, interchange |
Core::Abstractions::PrimitiveTypes | no, partial, complete, interchange |
Core::Abstractions::Profiles | no, partial, complete, interchange |