Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
MDT/OCL Limitations
Limitations
The Ecore and UML binding have evolved with OCL from 1.x to 2.0, 2.2 and 2.3. They have a substantial legacy usage that is difficult to change, so as problems with OCL 2.3 are identified, it is not clear whether they can be fixed for existing clients.
The new Pivot binding prototypes solutions to many problems and so may be considered a candidate for OCL 2.5.
This page identifies the differences between the Ecore (and UML) bindings and the Pivot binding and where appropriate significant Bugzillas that have been WONTFIXed in regard to the Ecore binding and the OCL 2.3 specification.
Facility | Bugzillas | Commentary |
---|---|---|
Operation Lookup | 339952 |
OCL 2.3 does not specify use of inherited operations. The Ecore binding uses a local operation in preference to an inherited operation. The Pivot binding selects the best static match of all inherited operations for subsequent dynamic dispatch. |
Operation Dispatch | 367822 |
OCL 2.3 does not specify dynamic dispatch of operations. The Ecore binding invokes the static operation regardless of overriding. The Pivot binding selects the dynamic overload. |