-
Key: QVT13-32
-
Legacy Issue Number: 18912
-
Status: closed
-
Source: Model Driven Solutions ( Dr. Edward Willink)
-
Summary:
The pragmatic decision to define Module/Transformation as inheriting both Package and Class violates UML inheritance.
For a Package: self.nestingPackage.nestedPackages->includes(self)
For a Class:
self.package.ownedTypes->includes(self)But self cannot have two containers.
The problem is easily resolved by extending only Package and adding those Class features that are actually required.
-
Reported: QVT 1.1 — Mon, 16 Sep 2013 04:00 GMT
-
Disposition: Deferred — QVT 1.3
-
Disposition Summary:
Inconsistent multiple inheritance
The pragmatic decision to define Module/Transformation as inheriting both Package and Class violates UML inheritance.
For a Package: self.nestingPackage.nestedPackages->includes(self)
For a Class:
self.package.ownedTypes->includes(self)But self cannot have two containers.
The problem is easily resolved by extending only Package and adding those Class features that are actually required.
Discussion
Transformation is mostly a Class that may have arbitrary Package scoping. This has been successfully prototyped by the Eclipse QVT projects, but not in sufficient detail to justify this slightly breaking change.
-
Updated: Tue, 29 Mar 2016 15:09 GMT