Skip to main content

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

Rich,

note that I was a bit surprised and sad about your response, as it sounds really annoyed. I understand that you want to create your own template language component, as you've made bad experiences with relying on others. Please, don't take my comments as arguments against creating such a component (I'm ok with doing so).

Anyway, I think there are some points in it worth to discuss.

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.

Again, oAW used to be developed by volunteers, which did all the work in their spare time. Two years ago some of these volunteers thought it would be great to move Xpand and the workflow engine to Eclipse. I also think it is a good idea, but undoubtly it was too early since we (the committers of oAW) couldn't meet the promises.

Since february 2008 things are different. itemis AG has employed a lot of the committers in order to help making these components good eclipse citizens.

Still I understand that you want to see some action before again rely on promises.

 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.

You didn't just replace the parser generator technology, but removed some very important features and added things as it seemed fit.

 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.

Ok, good point.

  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.

Yes, I thought it was time to work on a unique identity (eclipse modeling).
But maybe it's just too early.


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).

It's not eliminated just because there is another template language not using it. Primarily, Xtend is not an M2M language but a language to write helper functions for code generation. We just added a small feature (create keyword) to make it convenient for model transformation also.

 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.

Sure.

 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.

It was because there was no "Essential OCL" standard at that time.
When we developed Xpand there was the "old OCL" only. With UML2 classes as type system, and a lot of strange things with regards to associations, etc. in it, it would have been impossible to map it to an ecore-like type system.

In addition no one used OCL at that time. So we decided to study the problem domain, study programming languages (also OCL) and come up with a simple language with a syntax most of our users are used to (Java-like).


The way I see it, we're providing a nice migration for Xpand and improving
its capabilities.

You removed important capabilities (e.g. the type system abstraction, the ability to modify models). Also the tooling lacks behind what we have (no debugging, refactoring, etc.)

 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?

No we don't reject the inclusion of standards.
But we won't include something *only* because it's a standard.
Especially modeling related OMG standards tend to be unnecessary complex.

We should remember that it is essential OCL we are talking about which was developed because of essential MOF (it's type system) which was driven by EMF's Ecore.
This is how good standards evolve, based on practice-proven things.

To sum it up, essential OCL seems to be a good thing. As I said, we promised not to break API. As we don't want this to be another empty promise, we can't migrate to eOCL right now.


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.

Understandable. And you can't be sure.
But as I said chances are good since we're no longer developing in our spare time.



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.

I really have thought about starting such a survey.
Would be interesting indeed.


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.

This wasn't meant to be a political argument.
I just wanted to make sure, that you're aware of the huge user community
xpand will bring to eclipse modeling, once we've released the first version under M2T.

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.

Yes, it's especially painful because people use this in political discussions again and again. The reason why we haven't yet migrated the community is because the users currently use the Xpand from oAW. We want the community to migrate to M2T/Xpand when there are release at M2T/Xpand.


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.

Yes, and those technologies contain a lot of great ideas.


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?

I understand that you don't want to rely on promises again.
GMF is and was one important consumer of Xpand. And we've talked a lot about features and your needs (via mail and in bugzilla). But you're right that we hadn't had the needed resources to
create a working M2T/Xpand.

  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?

I don't.
I think EOCL is very similar to todays Xpand expression language and it's not a bad idea in general to migrate to EOCL.

But in future we might have new ideas about how such a language ideally should look like.
How should we improve on it if we're stuck to specifications?

It's a good thing to have these standards implementations (and we already have them).
Don't we also want to allow evolution?

regards,
Sven



Back to the top