QVT 1.3 RTF Avatar
  1. OMG Issue

QVT13 — QVTo: Incorrect ModelType.additionalCondition multiplicity

  • Key: QVT13-35
  • Legacy Issue Number: 19201
  • Status: closed  
  • Source: Model Driven Solutions ( Dr. Edward Willink)
  • Summary:

    The EBNF:

    <modeltype> ::= 'modeltype' <identifier> <compliance_kind>?
    'uses' <packageref_list> <modeltype_where>? ';'
    <modeltype_where> ::= 'where' <expression_block>

    allows only a single where which may be a BlockExp, so ModelType.additionalCondition should be [0..1] rather than [*].

  • Reported: QVT 1.1 — Thu, 30 Jan 2014 05:00 GMT
  • Disposition: Closed; No Change — QVT 1.3
  • Disposition Summary:

    Incorrect ModelType.additionalCondition multiplicity

    The EBNF:

    <modeltype> ::= 'modeltype' <identifier> <compliance_kind>?
    'uses' <packageref_list> <modeltype_where>? ';'
    <modeltype_where> ::= 'where' <expression_block>

    allows only a single where which may be a BlockExp, so ModelType.additionalCondition should be [0..1] rather than [*].

    Discussion

    Yes, but

    <expression_block> ::= '{' <expression_list>? '}'

    which allows for the multiple expressions.

    The multiple expressions could be shown more clearly by flattening as:

    <modeltype> ::= 'modeltype' <identifier> <compliance_kind>?
    'uses' <packageref_list> ('where' '{' <expression_list>? '}')? ';'

    But in the absence of a CS2AS mapping, implementations are not obliged to create the inappropriate BlockExp.

  • Updated: Tue, 29 Mar 2016 15:09 GMT