-
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
{Composes, Ordered}
OclExpression
Associations
argument : OclExpression [2..*]- Arguments to the relation call.
referredRelation : Relation [1] - The relation being invoked. -
Updated: Fri, 6 Mar 2015 20:53 GMT