-
Key: UML24-116
-
Legacy Issue Number: 15778
-
Status: closed
-
Source: Model Driven Solutions ( Mr. Steve Cook)
-
Summary:
Description: To ensure that the UML2.4 metamodel is consistent with the specification document, the following inconsistencies must be resolved:
1) NamedElement::qualifiedName()
InfrastructureLibrary::Core::Abstractions::Namespaces::NamedElement::qualifiedName()
? this corresponds to 9.14.1 constraint [2] – OK
InfrastructureLibrary::Core::Constructs::NamedElement::qualifiedName()
? no description of this in clause 11 for Core::Constructs – OK per current conventions that clause 11 does not duplicate the constraints/operations from the merged increments shown in 11.2
For the superstructure:
? the description in super 7.3.34 constraint [2] is copied from 9.14.1 constraint [2] ? OK
? UML::Classes::Kernel::NamedElement::qualifiedName() is missing ? not OK per current conventionss that Kernel in the superstructure has all of the elements corresponding to the resulting merge of Core::Constructs and what it merges per infra figure 11.2
Resolution:
In the metamodel add qualifiedName() to UML::Classes::Kernel::NamedElement with the same definition as in InfrastructureLibrary::Core::Constructs::NamedElement::qualifiedName()
2) DataType::inherit()
? No description anywhere of InfrastructureLibrary::Core::Constructs::DataType::inherit() in infra 11.6.1 or super 7.3.11
? UML::Classes::Kernel::DataType::inherit() is missing ? not OKK per current conventions that Kernel in the superstructure has all of the elements corresponding to the resulting merge of Core::Constructs and what it merges per infra figure 11.2
Resolution:
1.a) figure 11.2 is only in the document, the package merge relationships are not in the infrastructure at all.
? add the relationships as described in infra 11.2
? add a package merge relationship from Core::Constructs to Core::Abstractions::Element, which other merge increments in Core::Abstractions import.
2) DataType::inherit()
In the metamodel, copy InfrastructureLibrary::Core::Constructs::DataType::inherit() into UML::Classes::Kernel::DataType::inherit()
In Infrastructure 11.6.2 and Superstructure 7.3.11, add the following section:
Additional Operations
[1] The inherit operation is overridden to exclude redefined properties.
DataType::inherit(inhs: Set(NamedElement)) : Set(NamedElement);
inherit = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))
>select(redefinedElement>includes(inh))) -
Reported: UML 2.3 — Mon, 25 Oct 2010 04:00 GMT
-
Disposition: Resolved — UML 2.4
-
Disposition Summary:
The issue summary is a bit garbled, but here is a summary of what it proposes, in order to make the metamodel and specification document consistent.
In the metamodel add qualifiedName() to UML::Classes::Kernel::NamedElement with the same definition as in InfrastructureLibrary::Core::Constructs::NamedElement::qualifiedName()
In the metamodel change infrastructure figure 11.2 so that Constructs does not merge Basic, and instead Constructs does merge Core::Abstractions::Elements. The merge to Basic is conceptually flawed because Basic has a different and conflicting definition and semantics for Operation.
Note that these merges remain purely conceptual they are not explicit in the metamodel.
In the metamodel, delete the association Core::Abstractions::BehavioralFeatures::A_parameter::behavioralFeature, because if this association was actually merged according to figure 11.2 it would be an orphaned derived union, with no subsets in the metamodel.
In the metamodel, copy InfrastructureLibrary::Core::Constructs::DataType::inherit() into UML::Classes::Kernel::DataType::inherit()
In Infrastructure 11.6.1 and Superstructure 7.3.11, add the following section:
Additional Operations
[1] The inherit operation is overridden to exclude redefined properties.
DataType::inherit(inhs: Set(NamedElement)) : Set(NamedElement);
inherit = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))>select(redefinedElement>includes(inh))) -
Updated: Fri, 6 Mar 2015 20:58 GMT
UML24 — Fix minor inconsistencies between infrastructure specification document & metamodel
- Key: UML24-116
- OMG Task Force: UML 2.4 RTF