Hello all,
I consider to modify our product Oclarity (http://www.empowertec.de/products/oclarity/) to implement the OCL 2.2 standard (Oclarity currently supports OCL 2.0).
However, I did not find a resource that fully describes the changes between these versions.
Resources I have checked:
- OCL 2.2 issues http://www.omg.org/issues/ocl2-rtf.clos.html
- The “change barred” OCL 2.2 specification http://www.omg.org/spec/OCL/2.2/PDF/changebarred
but none of them seems usable for this purpose.
Does anybody know a usable, coherent description of the changes between these OCL versions?
If not, could you please add whatever changes you are aware of, to this thread?
I would then create a consolidated version.
Thanks & best regards,
Andreas
I’m NOT sure about “usable”, “coherent description”, “consolidated” terms mean FOR your reader. IN principle, the provided issues web page lists the solved issues, SOME discussions about the issue, how the issue IS disposed (resolved, DEFERRED, duplicate, closed NO change ) AND what has been changed IN the document (revised text).
The RTF also manages a doc TO be used by us during the voting period. I think that it’s not publicly available but It mostly contains the same information which is later copy-pasted in the public issues web page.
The issues web page probably need much more editorial improvements (I don’t really know how this IS managed), nevertheless, it contains ALL the information which implementors must know.
On the one hand, the same metamodel has been used AND modified during MDT/OCL evolution (AT least since I’ve been dealing with it, since 4 years ago), at the same time it tries to follow some Eclipse API evolution policies.
However, Ed has developed a new experimental metamodel based on the pivot metamodel idea (which I think you already know) which is actually available in our last Eclipse Indigo’s M5 milestone which we published LAST week.
Some reply comments from Ed Willink and Adolfo-Sánchez Barbudo. Given their excellent work in the MDT-OCL component I thought they could have some input on this issue.
Read the RTF report. If you care about effectively trivial changes, then you care about the details. Most obviously Collection conforms to OclAny, the String/OrderedSet library grew a bit and a number of typos were corrected or moved.
Neither OCL 2.0 nor OCL 2.2 is implementable. Fortunately the ‘intent’ is ‘obvious’ and implementations are useful. Perhaps OCL 2.2 introduced as many problems as it cured. OCL 2.3 perhaps cures 10% of the unimplementable problems. OCL 2.4 might cure all, well ok 90% of the fundamental problems.
Until it’s implementable, compatibility IS NOT a big issue.
OCL 2.4 may migrate the bulk OF the semantics TO a Standard Library Model FOR which each version AND derived LANGUAGE can have model-defined differences.OCL 2.4 may also align WITH UML AND so may define its models AS a transformation/merge FROM UML.
Eclipse OCL may THEN provide alternate variants, OR a superset WITH configured subset validation; we’ll see.
Hello Jordi,
thanks for your time and energy.
I saw two problems with the issues page:
Regarding implementability:
Since Oclarity is just a static checker and not a interpreter/evaluator that is not so important to me.
Further, I would not mind if – in an interpreter/evaluator – I would have to restrict some functionality because it cannot be implemented reasonably. I just would like to make that a conscious decision and document it appropriately.
I think I have three choices now:
I think the most reasonable choice would be 3.
Regards,
Andreas
I definitely think that OPTION 3 IS the best one