-
Key: OCL25-162
-
Legacy Issue Number: 15220
-
Status: open
-
Source: Model Driven Solutions ( Dr. Edward Willink)
-
Summary:
Section 7.5.4 describes an association navigation qualification to
accommodate
recursive associations.e.g. self.employeeRanking[bosses]
in which "bosses" is a Property role name.
OCL 2.2 has no concrete syntax for this. Superficially it resembles an
AssociationClassCallExp, but that requires OclExpression values for its
qualifiers.Prior to OCL 2.0 (and still present in many obstinate residual artefacts in
OCL 2.2),
there was an AssociationEndCallExp, whose syntax was identical to an
AssociationClassCallExp
and so it was removed and merged with AttributeCallExp as PropertyCallExp.It would appear that a form of AssociationEndCallExp is required with
syntaxesOclExpressionCS '.' pathNameCS[1] ('[' pathNameCS[2] ']')? isMarkedPreCS?
pathNameCS[1] ('[' pathNameCS[2] ']')? isMarkedPreCS?in which pathNameCS[2] defines the NavigationCallExpCS.ast.navigationSource
that is currently completely undefined and very confusingly described in
Section 8.3.2:"navigationSource The source denotes the association end Property at the end
of the object itself. This is used to
resolve ambiguities when the same Classifier is at more than one end (plays
more than one
role) in the same association. In other cases it can be derived."Suggest:
Remove NavigationCallExp::navigationSource that currently has no semantics
Introduce QualifiedPropertyCallExp (and etc.) as a further NavigationCallExp
to support
the qualified navigation. It has two associations:referredSourceProperty: Property (e.g. "bosses")
referredTargetProperty: Property (e.g. "employeeRanking"). -
Reported: OCL 2.1 — Thu, 22 Apr 2010 04:00 GMT
-
Updated: Thu, 8 Oct 2015 14:12 GMT
OCL25 — OCL 2.2 7.5.4 Property-qualified association navigation has no concrete or abstract syntax
- Key: OCL25-162
- OMG Task Force: Object Constraint Language 2.5 RTF