[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [mdt-ocl.dev] Re: Backwards compatibility for MDT OCL
|
Hi Kenn
Kenn Hussey wrote:
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.
We would prefer 2.0, but we already have a 2.0 in Galileo for the UML
binding plugin that had to have a major version increment to match
UML's. Christian reasonably wanted to make clear that OCL had not had an
API change so the other OCL plugins stayed at 1.x.
Having a mix of N and N+1 versions in the same release is confusing so
moving direct to N+1 seems the least bad alternative.
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...
The hope is that every project moves forwards. Ongoing 1.x is only for
those that have a very stringent API concern or determination to
preserve the particular set of ambiguity and contradiction resolutions
that MDT-OCL 1.3.0 offers as a best endeavour support for OCL 2.0.
I would be very concerned if GMF felt any need to stay with 1.x, since I
would be very surprised if any GMF user is unhappy with the very minor
semantic improvements in OCL 2.2.
Do we need to change the version? see separate thread.
Cheers,
Kenn
On Wed, Jul 22, 2009 at 5:18 AM, Alexander Igdalov
<Alexander.Igdalov@xxxxxxxxxxx <mailto: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.
------------------------------------------------------------------------
_______________________________________________
mdt-ocl.dev mailing list
mdt-ocl.dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mdt-ocl.dev