Per UML2.4.1, a
In 12.4, constraint [8] currently reads:
An EMOF metamodel is restricted to use the following concrete metaclasses from UML’s Kernel:
• Class
• Comment
• DataType
• Enumeration
• EnumerationLiteral
• Generalization
• InstanceValue
• LiteralBoolean
• LiteralInteger
• LiteralNull
• LiteralReal
• LiteralString
• LiteralUnlimitedNatural
• Operation
• Package
• Parameter
• PrimitiveType
• Property
The list includes InstanceValue but incorrectly omits InstanceSpecification.
InstanceSpecification must be included in the list because an InstanceValue requires an InstanceSpecification;
see UML2.4.1, 7.3.23:
• instance: InstanceSpecification [1]
The instance that is the specified value.
Since the list includes Class and a Class can have Property features, an InstanceSpecification that is the value of an InstanceValue in EMOF may have to specify values for the instantiated Class' Property features. Therefore, the list should also include UML2.4.1's Slot as well.
The list should be corrected as follows:
• Class
• Comment
• DataType
• Enumeration
• EnumerationLiteral
• Generalization
• InstanceSpecification
• InstanceValue
• LiteralBoolean
• LiteralInteger
• LiteralNull
• LiteralReal
• LiteralString
• LiteralUnlimitedNatural
• Operation
• Package
• Parameter
• PrimitiveType
• Property
In 14.4, constraint [10] currently reads:
A CMOF metamodel is restricted to use the following concrete metaclasses from UML’s Kernel:
• Association
• Class
• Comment
• Constraint
• DataType
• ElementImport
• Enumeration
• EnumerationLiteral
• Generalization
• InstanceValue
• LiteralBoolean
• LiteralInteger
• LiteralNull
• LiteralReal
• LiteralString
• LiteralUnlimitedNatural
• OpaqueExpression
• Operation
• Package
• PackageImport
• PackageMerge
• Parameter
• PrimitiveType
• Property
The list includes InstanceValue but incorrectly omits InstanceSpecification.
InstanceSpecification must be included in the list because an InstanceValue requires an InstanceSpecification;
see UML2.4.1, 7.3.23:
• instance: InstanceSpecification [1]
The instance that is the specified value.
Since the list includes Class and DataType, both of which can have Property features, an InstanceSpecification that is the value of an InstanceValue in CMOF may have to specify values for the instantiated Class' or DataType's Property features. Therefore, the list should also include UML2.4.1's Slot as well.
The list should be corrected as follows:
• Association
• Class
• Comment
• Constraint
• DataType
• ElementImport
• Enumeration
• EnumerationLiteral
• Generalization
• InstanceSpecification
• InstanceValue
• LiteralBoolean
• LiteralInteger
• LiteralNull
• LiteralReal
• LiteralString
• LiteralUnlimitedNatural
• OpaqueExpression
• Operation
• Package
• PackageImport
• PackageMerge
• Parameter
• PrimitiveType
• Property
• Slot