eclipse-ocl / org.eclipse.ocl

Eclipse Public License 2.0
0 stars 0 forks source link

Integration of OCL pivot meta model with EMF Validation Framework #847

Open eclipse-ocl-bot opened 2 months ago

eclipse-ocl-bot commented 2 months ago

| --- | --- | | Bugzilla Link | 371024 | | Status | NEW | | Importance | P3 enhancement | | Reported | Feb 08, 2012 18:37 EDT | | Modified | Feb 09, 2012 02:39 EDT | | Reporter | Max Bureck |

Description

Build Identifier: Version: Indigo Service Release 1 Build id: 20110916-0149

It looks like the current implementation of constraint providers (EMF Validation Engine) for OCL are not based on the OCL pivot meta model. As side product of one of our projects at Fraunhofer FOKUS we created an implementation of a constraint provider, loading complete OCL files with the pivot meta model and registering the containing constraints. We would like to contribute the code to the OCL implementation. So we can build on top of an official Eclipse implementation and duplicate implementation efforts by implementing the same thing at FOKUS and Eclipse can be avoided.\ This is a first implementation, based on the code of the CompleteOCLEObjectValidator (EValidator) and contains several TODO tags, where it should be checked if better solutions are possible.\ There is currently no license information provided with the code, we would (of course) provide the code under the EPL.\ We also provide an example plugin showing how the constraint provider can be used.

Reproducible: Always

eclipse-ocl-bot commented 2 months ago

By Max Bureck on Feb 08, 2012 18:38

Created attachment 210765 Constraint provider for complete OCL files

:compression: org.eclipse.ocl.validation.pivot.zip

eclipse-ocl-bot commented 2 months ago

By Max Bureck on Feb 08, 2012 18:39

Created attachment 210766 Example plugin making use of the OCL constraint provider

:compression: org.eclipse.ocl.validation.pivot.example.zip

eclipse-ocl-bot commented 2 months ago

By Ed Willink on Feb 09, 2012 02:39

Thank you for your interest. There are unfortunately a couple of problems.

a) The pivot is current in examples plugins, and will not be promoted until Kepler, so no code dependent on it can be non-examples. The Pivot APIs are not stable and while the model is close to being UML-aligned, there is a bit more work to be done.

b) Currently EMFv depends on OCL rather than OCL on EMFv, so any contribution using EMFv should be to the OCL extension of EMFv.

I have previously offered to take the OCL parts of EMFv, EMFq into MDT/OCL since they are small and awkward for the relevant teams to support now that Christian Damus is no longer the committer for all relevant projects.

It seems that in the short term an o.e.o.examples.pivot.validator plugin could provide all the EMFv (and EMFq) OCL functionality for the pivot model. This could be promoted to o.e.o.pivot.validator along with the pivot for Kepler.

I'm currently working hard to get all the UML-alignment and OCL-driven WFR validation in place, so additional pivot dependencies are not high on my priority list for Juno.

If you are able to assist in creating the full o.e.o.examples.pivot.validator plugin then it could happen, I might finally understand how an added layer on top of OCL is useful, and it would be maintained along with the OCL code base.