Source: Model Driven Solutions ( Ed Willink)
An InstanceValue instance is part of two type systems. As a derived TypedElement, its type is UML::InstanceValue. As an InstanceSpecification.instance, its type is the InstanceSpecification::classifier(s).
This is confusing to users who may attempt to use oclType() to access the type and get the 'wrong' type. (See http://issues.omg.org/browse/OCL25-206 and linked Eclipse OCL issues.)
Suggest addition of:
ValueSpecification::umlClassifiers() : Set(Classifier) = type->asSet()
InstanceValue::umlClassifiers() : Set(Classifier) = instance.classifier
These should contrast obviously with oclType() and its SMOF oclTypes() extension.
Reported: UML 2.5 — Tue, 16 Feb 2016 10:32 GMT
Updated: Thu, 18 Feb 2016 13:44 GMT