Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [gmf-dev] Mof2Text, Acceleo Re: Mickael Istria's mail from 13.9.: CDO/Dawn, EEF, GMF-Tooling

Hi all,

I don't know how well factorized it is, but there are currently 2 generators for GMF Tooling: the first one generates Java code targeting GMF Runtime, the second one generates Java code targeting GEF. A good thing would be to create an extension point for those generators, so that if someone wishes to contribute an Acceleo-based one, it will be just about adding an extension plugin.

I don't think moving to Acceleo is a priority for any one at that time. From a user point of view, I think what people currently expect from GMF Tooling is, according to what you can read on forum:
* a release / signs that shows it is alive
* integration with other projects
* more simplicity (more ergonomic editors with higher-level concepts)
From a GMFT developer point of view, moving to Acceleo would be convenient, but since there are currently not a lot of issues and needs about code generation, I don't think it is worth the effort.

Obviously, if one provides an Acceleo generator that works fully, I think nobody will resist to such an improvement of internal GMFT stuff ;)

Regards

On 06/10/2011 18:19, Philipp W. Kutter wrote:
Dear Mariot.
There are four reasons I see NOT to look into Mof2Text (Acceleo):

  • GMF Tooling consists of simple models of the graphical editor behavior, then a mapping of that to the (more complex) models of the generated code, and from there to Java code. The first mapping is M2M, the second M2T.

    While in the past a lot of focus was on the M2T part, the focus is now on the M2M part.

  • The original architects of GMF Tooling decided to go for XPand/XText2 family of technologies. It took a lot of effor to migrate there, and an upgrade to the newest version of these frameworks may be easier than Switching

  • Our sponsor works with XText2, has spend money to contribute further technology to XText2, and has made good experiences with that technology on 50 DSLs he is working on.

  • In a very long term view, XText2 will allow to add as well textual syntax, and this may be one of the future topics.

I see as well three reasons to look into Mof2Text (Acceleo):

  • It is a standard like QVTO, so we would be more in synch with the standards.

  • It is a superset of OCL like QVTO, so we could profit from experience/practice with QVT in the M2M part of GMF Tooling.

  • It seems you are interested to contribute.

Would you be ready to migrate the current templates in the newest version of Mof2Text (Acceleo) at a given point in time?


Regards, Philipp

Am 06.10.2011 14:26, schrieb Mariot Chauvin:
Dear Philipp and Mickael,

In this discussion you mention several technologies that will be used or that will be compatible with GMF Tooling.
I take the opportunity to mention the qualities of Acceleo, a powerful model-to-text technology.
I think the new GMF Tooling may use Acceleo for the following reasons :

If you want to know more about Acceleo, you may have a look to this presentation made during Code Generation 2011.
Let me know if you have any question.

Regards,

Mariot

Le 05/10/2011 08:18, Philipp W. Kutter a écrit :
Dear Mickael.
Thanks for the great input, an sorry it has not been answered.



I am creating the draft proposal of the project plan now, will commit it shortly and post the main proposed topics here for discussion.
Great.

I am sure, Michael Golubev will start posting the topics soon.

One reason he has not published a lot is that what they work on are topics already discussed, decided and published by Artem, and all the earlier team members, such as using M2M to map from graphical-editor-models to models of the code.


I think some of the topics we should think about improving, according to what we can read on the forum are:
* Integration with CDO/Dawn
* integration with EEF to provide also customization of properties. Not make a strong dependency of GMF-Tooling onto EEF, but making it easier for people to think about using EEF when developing diagrams.

We brought up CDO/Dawn as well, and it is of course planned to do whatever is needed to support the success of CDO/Dawn.

As well, any framework like EEF, or the established way of adding OCL to annotations, as shown by Christian Damus, or the new way of using the new extension points for this shall work together with GMF.

In general, the direction is that the use of GMF together with frameworks that base on the EMF level, such as CDO/Dawn, or EEF, or OCL, or XText2 goes smoothly.

Anything going against it, or any needed change shall be entered as bugzilla. Have you identified any issue regarding the integration with CDO/Dawn or EEF?


Also, technical stuff:
* Make GMF-Tooling models and templates extensible in order to be able to provide new features in models from extension mechanism. (Such as SVG will come with extension for the model + extension for the templates + extensions for the runtime).

Better extensibility is the main topic. Again here, there is started work, comming both from earlier GMF Tooling work, as well as from work done in the MDT UML2 Tooling project where Michael Golubev was the component lead.

Please provide some trust to the people who worked on the GMF Tooling project and related topics for 10+ years now.

Besides coding, the team will provide a library of reusable "Diaglets" that show how to use all the extension mechanisms, and how diagramming elements can be made reusable.
However, it is already clear for me that in order to deliver the new features we need Juno release to be a major one, thus 3.0 instead of 2.x. 
The reason is, we will have to change models significantly, and we will not be able to provide automatic backward compatibility with the models created for 2.4.x 
(we will of course follow the transition procedure from the past of GMF-T and will develop 'Migrate Model' actions to support migration of existing models).
I +1 this proposal. Until then, GMF-Tooling release and versioning was trying to follow the same rythm than GMF-Runtime, but the last monthes clearly show that the project cannot really work like this any longer. Then it would make a lot of sense to start a new 3.x stream with lots of new features.

As mentioned, the main topic is extensibility and reuseability. But I expect as well of a few new features.

The idea is however, that new features can be contributed by the community as "Diaglets" of code, that uses the better extendability and reuseablity of the code.

GMF Tooling shall become a model-case of using EMF technology to create extensible and reusable functionality. Core of this is the ability to extend the most intelligent part of the code, which transforms the model representing the graphical-editor into the models representing the final code. The way to make this extensible is by using a M2M technology, in our case QVTO.

Then the resulting code shall be structured such, that it is easy to customize using the results of the M2M transformation, and that it is easy to reuse.

I hope this answers some questions.

Regards, Philipp
_______________________________________________ gmf-dev mailing list gmf-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/gmf-dev


_______________________________________________
gmf-dev mailing list
gmf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/gmf-dev



Philipp W. Kutter
CEO, Dr. sc. ETH
Montages AG
Stampfenbachstr. 48
CH-8006 Zürich

tel:    +41 44 260 75 57
mob: +41 79 338 06 17
web: www.montages.com
My profiles: LinkedIn
IMPORTANT: The contents of this email and any attachments are confidential. They are intended for the named recipient(s) only. If you have received this email by mistake, please notify the sender immediately and do not disclose the contents to anyone or make copies thereof.
_______________________________________________ gmf-dev mailing list gmf-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/gmf-dev


--

Mickael Istria
R&D Engineer, Eclipse Plug-in RCP Developer

PetalsLink - Open Source SOA

My blog - My Tweets


Back to the top