Issue 15097: VSL - B.3.3.11 and B.3.3.12 - Introducing optional keywords ‘Tuple’ and ‘Choice’ (marte-rtf) Source: Commissariat a l Energie Atomique-CEA (Dr. Arnaud Cuccuru, arnaud.cuccuru(at)cea.fr) Nature: Clarification Severity: Minor Summary: Adding an optional keyword ‘Tuple’ may improve readability of tuple expressions, since, depending on the context, an expression of the form ‘(‘ValueSpecification’)’ can resolve to a tuple value or a choice value. Of course, the context is enough to disambiguate the rule. The optional keyword ‘Tuple’ would only provide a mean for making the expressions more readable from a user standpoint (note that the ‘Tuple’ keyword is also used in OCL). For the same reason, an optional keyword ‘Choice’ could also be added in choice expressions. Resolution: This issue concerns two aspects of VSL: Introduction of optional keyword for clarifying the syntax, and alignment with OCL. These two points are interesting, but only focus on some very specific aspects on the relationship between VSL and OCL. It would not make sense to address this relationship by only focusing on the keyword Tuple. That’s why this issue must be closed without changes, and a new issue, more generally related to the clarification of the links between VSL and OCL (what parts are shared, how VSL is both a short-hand notation for some OCL statements / an extension of OCL) and the adjustments that may be needed by the VSL syntax should be raised. Disposition: Closed, no change Revised Text: Actions taken: March 1, 2010: received issue January 14, 2011: closed issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 01 Mar 2010 07:40:12 -0500 To: Subject: Issue/Bug Report ******************************************************************************* Name: Arnaud Cuccuru Company: CEA LIST mailFrom: arnaud.cuccuru@cea.fr Notification: Yes Specification: MARTE Section: B.3.3.11 / B.3.3.12 FormalNumber: formal/2009-11-02 Version: 1.0 RevisionDate: November 2009 Page: 449-450 Title: VSL - B.3.3.11 and B.3.3.12 - Introducing optional keywords .Tuple. and .Choice. would clarify the syntax of tuple and choice expressions. Nature: Clarification Severity: Minor test: 3qw8 B1: Report Issue Description: Adding an optional keyword .Tuple. may improve readability of tuple expressions, since, depending on the context, an expression of the form .(.ValueSpecification.). can resolve to a tuple value or a choice value. Of course, the context is enough to disambiguate the rule. The optional keyword .Tuple. would only provide a mean for making the expressions more readable from a user standpoint (note that the .Tuple. keyword is also used in OCL). For the same reason, an optional keyword .Choice. could also be added in choice expressions. Proposed resolution: - Replace: ::= '(' [ '='] (',' [ '='] )* ')' by ::= [.Tuple.] '(' [ '='] (',' [ '='] )* ')' - Replace: ::= ( [] '(' ')' ) | ( [] ) By ::= [.Choice.] (( [] '(' ')' ) | ( [] ))