Issues for Mailing list of the Concrete Syntax for a UML Action language for Foundational UML (ALF)
To comment on any of these issues, send email to alf-ftf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.
List of issues (green=resolved, yellow=pending Board vote, red=unresolved)
Issue 16028: [ALF] Issue with Section 8.3.6 - Invocation Expressions
Issue 16028: [ALF] Issue with Section 8.3.6 - Invocation Expressions (alf-ftf)
Click here for this issue's archive.
Source: RPC Software (Mr. Ted Stockwell, emorning(at)yahoo.com)
Nature: Uncategorized Issue
Severity:
Summary:
The abstract syntax defined in Section 8.3.7 (Invocation Expressions) and
Section 8.3.9 (Behavior Invocation Expressions) will not match this
expression...
this.monitor.getActiveSensor().getReading()
(NOTE: the above expression is used as an example in Section 8.5.6 - Isolation
Expressions)
The issue seems to be that the definition of InvocationExpression does not
repeat.
Here is the current definition for InvocationExpression...
InvocationExpression= InvocationTarget Tuple
InvocationTarget= BehaviorInvocationTarget
| FeatureInvocationTarget
| SuperInvocationTarget
Maybe the definition for InvocationTarget should be something like this?...
InvocationExpression= InvocationTarget Tuple { "." InvocationTarget
Tuple }
Resolution: The expression “this.monitor.getActiveSensor().getReading()” is not a behavior invocation expression, it is a feature invocation expression. The production needed is the one for FeatureInvocationTarget in Subclause 8.3.10:
FeatureInvocationTarget(e: FeatureInvocationExpression)
= FeatureReference(e.target) | "this"
The expression given in the issues parses in full as follows:
FeatureInvocationExpression
FeatureInvocationTarget
FeatureReference
FeatureTargetExpression
NonNamePrimaryExpression
InvocationExpression [ <- Note recursion on InvocationExpression here ]
FeatureInvocationExpression
FeatureInvocationTarget
FeatureReference
FeatureTargetExpression
NonNamePrimaryExpression
PropertyAccessExpression
FeatureReference
FeatureTargetExpression
NonNamePrimaryExpression
ThisExpression
NameBinding
Name
“monitor”
NameBinding
Name
“getActiveSensor”
Tuple
NameBinding
Name
“getReading”
Tuple
Revised Text: closed no0 change
Actions taken:
February 15, 2011: received issue
October 21, 2011: closed issue