eclipse-qvtd / org.eclipse.qvtd

Eclipse Public License 2.0
0 stars 0 forks source link

[qvtr] Support TypedModel inheritance #418

Open eclipse-qvtd-bot opened 12 hours ago

eclipse-qvtd-bot commented 12 hours ago

| --- | --- | | Bugzilla Link | 552252 | | Status | NEW | | Importance | P3 normal | | Reported | Oct 20, 2019 03:53 EDT | | Modified | Oct 20, 2019 03:58 EDT | | Blocks | 552098 |

eclipse-qvtd-bot commented 12 hours ago

By Ed Willink on Oct 20, 2019 03:58

From Bug 552098.

But suppose we need a->c to be executed for both aLeft->c and aRight->c how do we avoid having to code a->c twice?


If we support TYpedModel 'inheritance'.

If a is an abstract TypedModel,\ a->c is a relation using the abstract TypedModel,\ aLeft extends a,\ aRight extends a,

then a->c is available for both aLeft->c or aRight->c.

Pragmatically the QVTr direction analysis chooses whether to convert aLeft->c or aRight->c to QVTs. Only the resolved TypedModel exists in QVTs and beyond.

Syntactically

transformation X(abstract a : A, aLeft extends a, aRight extends a, ...