Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [gmf-dev] Re: [modeling-pmc] Re: [m2t-dev] Xpand OCL component proposal (code migration)

(narrowing list, as I'm sure the EMO and Bjorn have little interest in
this...)

Hi Jonathan,

I'm really interested to understand what you see as easier in
Xpand/Xtend/expression-language as compared to OCL + QVTO.  I get the
impression that few have looked at QVTO recently to see what it can offer
beyond the OCL in this context.  I don't believe MTL actually uses QVTO,
does it?  Either way, I feel the combination of Xpand with OCL/QVTO provides
the best overall M2T solution.  Hopefully, I'm not alone ;)  Maybe we just
need to let Alex & Artem finish their work and then provide a demonstration?

Also, I'd appreciate some help identifying the outstanding GMF patches you
mention.  I'm assuming "we" is Obeo?  In that case, I see 3 bugs: one with a
patch submitted in January; one with a patch re: code style submitted 2
weeks ago; the third patch was submitted on the 15th of this month.  Note
that I only searched for bugs submitted that included 'obeo' in the ID.

Thanks,
Rich


On 8/26/08 12:26 PM, "Jonathan MUSSET" <jonathan.musset@xxxxxxx> wrote:

> Rich, Sven,
> 
> I agree with Sven in a sens that I think it is not a good idea to create
> a new component in M2T.
> 
> At the moment, it is difficult to understand the difference between JET,
> Xpand, and MTL. But, we can argue :
> -JET : a Java/Xpath way, you don't need EMF, it is better if you don't
> have any model
> -XPand : easier to use because without OCL
> -MTL : the standard, a little bit more difficult because of OCL
> 
> I would not understand why there should be another Xpand OCL or another
> name when there is MTL component that is there to do the trick. The same
> was argued with us several times when we proposed to contribute the
> Acceleo code and its community to the M2T project : Acceleo was not
> enough "different" from what Xpand offers in M2T.
> FYI, we are working on MTL, and a version will be available in September
> with the target to provide a stable one for the next simultaneous
> release of Eclipse.
> 
> On the contrary, I hope that you'll find a way to work with the XPand
> guys to have your contribution integrated into Xpand.
> 
> Another subject is about the complexity of OCL. It is a real concern and
> this is one of the reasons why you find such a variety of modeling tools
> having their own navigation language (ATL, QVT, MTL, Xpand, Acceleo,
> JET...).
> I think we should discuss this with the OMG since some discussions have
> started between Eclipse and the OMG and we should carry on the work
> already made in MDT OCL to make OCL easier. It could be a good subject
> for the Eclipse summit as well.
> 
> Regards,
> Jonathan Musset
> MTL leader
> 
> PS : BTW, you argued about the fact that OAW did not considered your
> contributions, would it be possible for you to check at the different
> patches we submitted to the GMF team, there are about 10, some of them
> waiting for more than a year...
> 
> 
> Sven Efftinge a écrit :
>> Rich,
>> 
>> surely, I should have raised this discussion earlier.
>> 
>> Naming the component differently is a good idea and should avoid
>> confusion.
>> 
>> thanks,
>> Sven
>> 
>> P.S.: As most of the discussion is not directly related to this
>> component proposal but still interesting, I'll respond in more detail
>> in a separate mail, which I'll send to pmc mailing list only.
>> 
>> 
>> On Aug 25, 2008, at 7:08 PM, Richard Gronback wrote:
>> 
>>> Sven,
>>> 
>>> See inserts below...
>>> 
>>> Thanks,
>>> Rich
>>> 
>>> 
>>> On 8/25/08 10:57 AM, "Sven Efftinge" <sven@xxxxxxxxxxx> wrote:
>>> 
>>>> Rich,
>>>> 
>>>> sorry I originally wanted to write this mail before you propose the
>>>> component. Hopefully you still welcome a discussion on this.
>>> 
>>> It was my interpretation that we ended the call in agreement that a new
>>> component in M2T was the way to go.  For those not interested in what
>>> is a
>>> Modeling project conversation to follow, feel free to ignore the rest of
>>> this reply.
>>> 
>>>> As said during the PMC call, I really understand your need to remove
>>>> the "Xpand variant" from GMF and I also know that it has been promised
>>>> by committers of the M2T/Xpand component to provide a working Xpand
>>>> within the ganymede release.
>>> 
>>> Right, and since there has not been a published build from Xpand since
>>> January, very little activity in CVS, the newsgroup, and in the mailing
>>> list, I'm inclined to request a Termination Review for this component.
>>> 
>>>> It's really a painful situation having
>>>> this dialect within GMF, especially when people use the real Xpand and
>>>> the modified version shipped with GMF at once. This is the case for
>>>> all GMF users doing code generation with oAW (and AFAIK there are a
>>>> lot). Unfortunately having an "official" Xpand dialect in addition
>>>> would further worsen the situation.
>>> 
>>> I'd characterize it as unfortunate, more so than painful.  Let's not
>>> forget
>>> that the original variation was produced in order to leverage LPG, as
>>> Xpand
>>> was using a non-EPL friendly ANTLR version which took a very long
>>> time to
>>> resolve in the original.  IOW, waiting a year for the ANTLR update
>>> and now a
>>> year for GMF changes to be incorporated into the "real" Xpand, with a
>>> follow
>>> up of "please wait for us to re-implement it all on a new (unproven)
>>> underlying foundation" does not seem too appealing.
>>> 
>>>> So, I see and understand your need for a solution, but I doubt that
>>>> it's a good idea to come up with yet another template language.
>>>> We already have three languages in M2T:
>>>> 
>>>>  - JET (the orginal solution from EMF)
>>>>  - MTL (the implementation of the OMG standard, which uses OCL and Op-
>>>> QVT)
>>>>  - Xpand (a practice proven solution)
>>> 
>>> This argument can be made for other Eclipse projects with overlap, and
>>> certainly within Modeling itself (e.g. M2M: ATL and QVT).
>>> Realistically,
>>> the 3 M2T solutions we have will never merge into one, and as long as
>>> all
>>> have vibrant communities, why does it matter if there are 3?  This was a
>>> challenge we realized when creating Modeling, as it was a unification of
>>> many separate projects, each with teams/communities that were
>>> unlikely to
>>> give up their identity.
>>> 
>>>> Besides that you need a template language now, because you want to get
>>>> rid of the "Xpand variant" (I fully understand that), I don't see how
>>>> an "Xpand OCL" would add any value. I think there are already
>>>> solutions for everybody: If you like standards and want to be conform
>>>> go for MTL, if you like pragmatic solutions go for Xpand, if you like
>>>> Xpath go and use JET.
>>> 
>>> We think it adds value as it eliminates an entire expression and
>>> transformation language (Xtend, which from your previous argument
>>> should not
>>> exist in the presence of M2M QVT and ATL).  By using MDT OCL and M2M
>>> QVTO,
>>> we are promoting reuse from other Modeling projects, which seems
>>> better than
>>> continuing to develop and maintain Xtend and the expression language
>>> currently used in Xpand.  As I understand it, the only reason OCL wasn't
>>> used in the first place was because there was no MDT OCL at the time.
>>> 
>>> The way I see it, we're providing a nice migration for Xpand and
>>> improving
>>> its capabilities.  From the original, we now add OCL and QVTO support,
>>> thereby allowing users to know fewer languages, and not have to deal
>>> with
>>> the minor differences that currently exist.  From here, I'd expect
>>> that a
>>> future Xpand based on Xtext could also use OCL/QVTO in its
>>> implementation,
>>> providing the next major version of the project.
>>> 
>>> So, Xpand/Xtend -> Xpand/OCL/QVTO -> Xpand/OCL/QVTO based on Xtext
>>> 
>>> Or, are you saying you reject the inclusions of standards in Xpand
>>> and see
>>> the two as mutually exclusive?  I don't see the "if you like
>>> standards, use
>>> this..." argument as valid.  Or if you like, we'll say "If you'd like
>>> some
>>> standards in your Xpand, use this one."
>>> 
>>>> In case you want to migrate to the real Xpand language you can do so
>>>> by the end of this year.
>>> 
>>> Based on the past and given the complete lack of visibility into how
>>> this
>>> work is progressing, how can we be sure that we will really be able
>>> to adopt
>>> the new Xpand by the end of this year?  I don't have a "warm and fuzzy"
>>> about it, to be honest.
>>> 
>>>> As the current GMF generator is already implemented in Xpand it
>>>> shouldn't be too hard to migrate and to have everything working and
>>>> tested for the galileo release.
>>> 
>>> Another argument would be, if we have a migration utility that can
>>> ease the
>>> conversion of existing Xpand templates ("original" and GMF), why not use
>>> this as a path toward making Xpand more "standard"?  Have you queried
>>> your
>>> clients to see if OCL would be an acceptable alternative?  I suspect
>>> as OCL
>>> is used so pervasively in modeling technologies, it would be a welcomed
>>> change.
>>> 
>>>> Note, that there is a huge user base (we've up to 70 messages a day in
>>>> our forums) and all these users will be able to use, understand and
>>>> enhance the generator shipped with GMF.
>>> 
>>> By "our forums" which do you mean?  The only ones we really should be
>>> considering in this discussion are Eclipse forums.  Again, as an Eclipse
>>> project, we all need to openly and transparently develop and interact
>>> with
>>> the Eclipse community.  If you mean oAW forums, that's an old
>>> discussion we
>>> thought had been concluded with the termination of the oAW component
>>> within
>>> GMT and the migration of several technologies, Xpand included, to other
>>> Modeling projects.  The health of an Eclipse project is measured by its
>>> activity on Eclipse forums only, so you're only hurting your
>>> project/component by continuing to use external forums.
>>> 
>>>> Note that TMF/Xtext's (textual equivalent to GMF) generator is also
>>>> implemented in Xpand, and we are working on combination and
>>>> integration of GMF and Xtext editors. It will be helpful if there are
>>>> not two many different technologies for the same purposes.
>>> 
>>> And I'm sure the ATL/TCS folks would have their own opinion and
>>> similar set
>>> of technologies.
>>> 
>>>> All in all I'ld like to see GMF migrating to M2T/Xpand. We can of
>>>> course talk about opening up Xpand so that it would be possible to use
>>>> Operational-QVT functions like Xtend functions (that really would be a
>>>> good thing!).
>>> 
>>> Again, the past indicates that "opening up" is not something the
>>> Xpand team
>>> takes too seriously, or has not enough development bandwidth to properly
>>> support.  On the other hand, we've been using Xpand for years in GMF,
>>> provided valuable input and the implementation to improve the
>>> original, but
>>> have been largely ignored.  What would you do?
>>> 
>>>> But it's not possible for us to just change the expression language to
>>>> OCL, because this heavily breaks API contracts.
>>>> (Don't you also have API contracts in GMF? AFAIK the current modified
>>>> Xpand shipped with GMF uses the original expression language. Doesn't
>>>> the OCL migration mean that all the templates of the users will be
>>>> broken?)
>>> 
>>> As was already stated, we will provide a migration utility.  The
>>> codebase
>>> itself is within internal packages, so there are no API breakage
>>> issues (we
>>> know better than to expose as API a technology that for all intents and
>>> purposes shouldn't be in GMF anyway).  That said, we currently
>>> support UML2
>>> Tools and our commercial development efforts with the GMF variant, so we
>>> clearly understand the implications of this move.  In the long run,
>>> how can
>>> you argue it would be better to develop and maintain a "proprietary"
>>> Xtend
>>> and expression language rather than leverage suitable and quite similar
>>> standard-based implementations available within Modeling?
>>> 
>>>> Hopefully you don't get me wrong. I definitely see your point but
>>>> coming up with an "Xpand OCL" component IMHO will definitely hurt the
>>>> acceptance of Xpand *and GMF*. And will make it more difficult to
>>>> understand and combine the different solutions.
>>>> Especially in EMP we should work on reuse and consolidation rather
>>>> than on inventing new things when there are already solutions. That
>>>> clearly means making compromises, but I'm pretty sure they are worth
>>>> it.
>>> 
>>> Your "reuse and consolidation" argument doesn't make any sense to me,
>>> actually.  By leveraging OCL and QVTO, we're certainly moving toward
>>> this
>>> goal in GMF's Xpand and would like to make it more readily available
>>> to the
>>> rest of the community by moving to M2T.  If you'd like, we can rename it
>>> entirely, so as to avoid further confusion.
>>> 
>>> I'll respectfully disagree that using OCL within the context of Xpand
>>> will
>>> hurt GMF.
>>> 
>>>> regards,
>>>> Sven
>>>> 
>>>> On Aug 25, 2008, at 3:55 PM, Richard Gronback wrote:
>>>> 
>>>>> Hello,
>>>>> 
>>>>> As discussed on the last PMC call [1], we'd like to finally get the
>>>>> Xpand
>>>>> variant out of GMF and into M2T where it belongs.  Given the current
>>>>> migration of the current Xpand to an Xtext-based foundation, and
>>>>> given the
>>>>> desire to continue using Xtend and underlying expression language by
>>>>> the
>>>>> current Xpand team, we'd like to create a new 'Xpand OCL' component
>>>>> in M2T.
>>>>> 
>>>>> This version of Xpand will use OCL and QVTO for the query/expression
>>>>> language, and include the enhancements made to Xpand for GMF's needs
>>>>> [2],
>>>>> but which were never fully implemented in the original Xpand.  Also
>>>>> provided
>>>>> will be a migration utility that converts the use of Xtend to OCL/
>>>>> QVTO.  The
>>>>> initial committers for this component will be Artem Tikhomirov
>>>>> (lead) and
>>>>> Alexander Shatalin (both GMF committers already).
>>>>> 
>>>>> Copying the GMF and M2T dev mailing lists to get approval for code
>>>>> migration.
>>>>> 
>>>>> Copying the Modeling PMC to get PMC approval (obviously, my vote is
>>>>> +1).
>>>>> 
>>>>> Copying the EMO to serve as indication that the obligatory community
>>>>> announcement needs to be made for this new component.  Actually, as
>>>>> it's not
>>>>> really 'new' but just relocating, is this necessary?  It can't hurt, I
>>>>> suppose.
>>>>> 
>>>>> Copying the IP team for confirmation to get clarification on what
>>>>> moving
>>>>> code from one project to another will entail, from an IP perspective.
>>>>> Anything?  A CQ for tracking purposes?  Maybe we could use a cartoon
>>>>> for
>>>>> moving code between projects? ;)
>>>>> 
>>>>> Copying Bjorn as the "master of process" to help identify any
>>>>> complications
>>>>> the newly approved development process changes may present in this
>>>>> move.  I
>>>>> didn't see anything specifically on this under /dev_process, but
>>>>> suppose
>>>>> this topic could be the first under the "I am a PMC Member..." on [3].
>>>>> 
>>>>> Thanks,
>>>>> Rich
>>>>> 
>>>>> [1] http://wiki.eclipse.org/Modeling_PMC_Meeting%2C_2008-08-19
>>>>> [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=202813
>>>>> [3] http://www.eclipse.org/projects/dev_process/index.php
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> m2t-dev mailing list
>>>>> m2t-dev@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/m2t-dev
>>>> 
>>>> _______________________________________________
>>>> modeling-pmc mailing list
>>>> modeling-pmc@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/modeling-pmc
>>>> 
>>> 
>>> 
>>> _______________________________________________
>>> gmf-dev mailing list
>>> gmf-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/gmf-dev
>> 
>> _______________________________________________
>> m2t-dev mailing list
>> m2t-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/m2t-dev
>> 
> 
> _______________________________________________
> m2t-dev mailing list
> m2t-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/m2t-dev




Back to the top