Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-ocl.dev] Re: Backwards compatibility for MDT OCL

Alex,

I'm OK with the idea of producing two different versions of MDT OCL (we actually considered doing this for UML2 at one point), although, as Nick mentioned, the major version should probably be 2.0 instead of 3.0.

You want to make sure that it is possible for both versions to co-exist in the same environment. The fact that the Ecore packages will have different version numbers in their URIs will help, and assuming you're making use of content types instead of file extensions for serialized artifacts (are there any?) you should be OK. The one challenge I can think of is if/when major consumers of OCL, such as GMF, depend on one version vs. the other. This will, for example, force all GMF-based applications to use that particular version unless GMF in turn bifurcates its support for OCL...

Cheers,

Kenn

On Wed, Jul 22, 2009 at 5:18 AM, Alexander Igdalov <Alexander.Igdalov@xxxxxxxxxxx> wrote:
Hi Kenn and Nick,
 
The MDT OCL team has decided to implement the new OCL standard (2.2) and also to support backwards compatibility with the current implementation of the OCL 2.0 standard. Since the new and the old OCL standards are not compatible we have decided to create two initially similar sets of plugins/features - MDT OCL 1.4.0 (for backwards compatibility in Helios+ releases) and MDT OCL 3.0.0 (the new implementation of OCL 2.2). We think it would be convenient to make a CVS branch for 1.4.0, and thus, to build 3.0.0 artefacts from HEAD and release 1.4.0 artefacts from the branch.
Plugins for 1.4.0 and 3.0.0 are to be independent and must successfully co-exist in Helios. Ideally, 1.4.0 and 3.0.0 plugins should be in different components - so that the users have the option not only to install both implementations but also to install only one of them.
Kenn, is it ok for MDT OCL to split into two components?
Nick, do you forsee any difficulties in releng (releasing 3.0.0 from HEAD and 1.4.0 from branch)?
 
Thanks,
Alex.


Back to the top