QVT 1.0 NO IDEA Avatar
  1. OMG Issue

QVT — RelationalCallExp missing

  • Key: QVT-2
  • Legacy Issue Number: 10645
  • Status: closed  
  • Source: Model Driven Solutions ( Dr. Edward Willink)
  • Summary:

    Since this is missing from the specification, it is difficult to be sure what the semantics of
    type discrepancies are between invocation and definition. One perspective is that mis-matches
    correspond to overloaded pattern matches so that the first, best or any, or any distinct matches apply
    with a total type inconsistency being a silent error/behaviour. Another perspective is that
    like function calls, all implementation should derive from some abstract interface so that
    all invocations can be type checked against the abstract interface. I think we need some words.
    I prefer complinace with an abstract interface, and invocation of all distinct matches, so that
    when someone extends the transformation exuisting behaviours are not suppressed.

  • Reported: QVT 1.0b1 — Tue, 6 Feb 2007 05:00 GMT
  • Disposition: Resolved — QVT 1.0
  • Disposition Summary:

    Add class RelationCallExp in Fig 7.7 QVTRelation package and the following text in section 7.11.3

    RelationCallExp
    A relation call expression specifies the invocation of a relation. A relation may be invoked from the when or where clause of another relation. The expression contains a list of argument expressions corresponding to the domains of the relation. The number and types of the arguments must match the number of domains and types of the root variables of the domains respectively.

    Superclasses
    OclExpression
    Associations
    argument : OclExpression [2..*]

    {Composes, Ordered}

    - Arguments to the relation call.
    referredRelation : Relation [1] - The relation being invoked.

  • Updated: Fri, 6 Mar 2015 20:53 GMT