Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » M2T (model-to-text transformation) » Is Accello mature enough for a productive environment?(Is Accello mature enough for a productive environment?)
Is Accello mature enough for a productive environment? [message #1782710] Wed, 28 February 2018 08:21 Go to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
The issues https://www.eclipse.org/forums/index.php/t/1091946/ and also https://www.eclipse.org/forums/index.php/t/1091816/ combined with little information on what to do to solve this gives me the creeps what else will come towards our direction here. We are planing to use Acceleo for a prototype demonstration tool in the automotive sector as a case study for a new development-methodology (https://www.vda.de/de/services/Publikationen/Publikation.~1490~.html) Short version: we want to create SystemC-Code from SysML. But at this time I'm questioning myself if we should really proceed with Acceleo. What productive experiences do you have?
Re: Is Accello mature enough for a productive environment? [message #1782715 is a reply to message #1782710] Wed, 28 February 2018 09:09 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 5929
Registered: July 2009
Senior Member
Hi

Since you ask the question directly, you should review the reasons for Eclipse OCL moving from Acceleo to Xtend(2).

I am an OMG enthusiast so for autogenerated Eclipse OCL tooling, I was keen to use OMG's MOFM2T for which Acceleo is the only available implementation. Acceleo therefore 'won' my preliminary Acceleo/Xtend evaluation.

I ran into a number of problems that you and Mad Vin have reported recently. I also ran into a further problem whereby Acceleo got confused when using one version of OCL as part of its internal tooling while another version was a 'user' model. https://bugs.eclipse.org/bugs/show_bug.cgi?id=410265 outlines the rationale for moving and consequently rewriting all the Eclipse OCL templates. It references some of the Acceleo bugs that I had raised.

Having moved to Xtend, I have had opportunities to contrast them. Xtend is far from perfect but I find its problems are more manageable; a few cleans and xtend-gen can be refreshed after a GIT commit chnage. Lexically, I prefer guilemets to square brackets with an ugly backslash; a pity I cannot type guillemets; I have to copy-paste them. More philosophically, Xtend supports Java within StringTemplates within Java providing both outer and inner programmability. Acceleo supports OCL within TextTemplates within generate. The outer level of Java programming in generate is not really there, and while OCL can be good, once you need to resort to Java invoke's it's a bit painful. More practically there are far more Java-tool users than there are model-tool users consequently the development support/user testing for Java-tools tends to be superior to that for model-tools.

NB. Xtend is 'marketed' almost as a Java++, which it isn't. But it has so many added facilities that the string templates that support M2T are easily overlooked.

The templates that I was trying to write in Acceleo were too complicated so my migration to Xtend coincided with the need to rewrite a failing M2T approach as an M2M+M2T cascade. Once over complex M2T is avoided, Acceleo may be very adequate. It is certainly mature; version 3.0.0 was available in June 2010.

Regards

Ed Willink
Re: Is Accello mature enough for a productive environment? [message #1782740 is a reply to message #1782715] Wed, 28 February 2018 18:21 Go to previous messageGo to next message
Mad Vin is currently offline Mad VinFriend
Messages: 35
Registered: September 2013
Member
Hi,

I've never tried Xtend still, but Acceleo, despite some problems for which we can find workarounds almost all the time, is very functional and easy to use when you are familiar with it. You can even create some functionalities that were not intended by the language, with a little imagination.
If I ask often questions here about the problems I find, it is to consult the experts about if they know more informations about them, and it they know better workarounds. I share too the workarounds I find, and sometimes it allows to fix some new discovered bugs.

Personally, I use Acceleo in a private context and in a professional context of a very big project.

The 2 problems you mention are not bugs or are not blocking : the first is a problem of environment of your generator, you can fix it by registering correctly your metamodels/profiles, and by implementing correctly your URI converter if needed. I agree that a clear user guide could be written to show how to do this because this is not so simple neither obvious. And the second problem is not critical because it happens only during the coding phase, and only on the java classes which are not the main files of the generators. If Eclipse is a problem, you can launch the generation in a standalone mode outside Eclipse, via a bash command calling an ant script for example. And it works very well, without the instabilities of the Eclipse platform. A user guide could be made to show this too.

Regards.

[Updated on: Wed, 28 February 2018 18:27]

Report message to a moderator

Re: Is Accello mature enough for a productive environment? [message #1782764 is a reply to message #1782740] Thu, 01 March 2018 07:48 Go to previous messageGo to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
Mad Vin wrote on Wed, 28 February 2018 18:21
... you can fix it by registering correctly your metamodels/profiles, and by implementing correctly your URI converter if needed.


Well, I was hoping that - SysML not being a strange thing to use - it would working out of the box or at least a simple "google" would get me going here in 10 Minutes. I really like the first expression of using the Acceleo Template Language. It does exactly what I will need, I believe. But this is really my first contact to Eclipse and Java (and Ecore and EMF and ...) and I was hoping I could use the Template Language without a deep study.

(Enough writing, back to work!)

[Updated on: Thu, 01 March 2018 10:11]

Report message to a moderator

Re: Is Accello mature enough for a productive environment? [message #1782777 is a reply to message #1782764] Thu, 01 March 2018 10:06 Go to previous message
Mad Vin is currently offline Mad VinFriend
Messages: 35
Registered: September 2013
Member
MDA is not simple and need a little work to be familiar with it, first about the concept, and second about the tools you use. And this is very difficult (even impossible) to find a clear and complete documentation about the Eclipse plugins. Personally, I agree with you about the fact that there is a big lack of documentation and examples about EMF, Ecore, OCL, and Acceleo. This is a very common mistake in the computer science. For example Eclipse provides the "Cheat Sheets" feature, and I think it is clearly underused by the developers of the plugins.

(Yeah ! Back to work too ! :p)

[Updated on: Thu, 01 March 2018 10:07]

Report message to a moderator

Previous Topic:Accelleo project does not recompile changed Java code
Next Topic:External JAR works with Java Application, not Acceleo Plugin
Goto Forum:
  


Current Time: Wed Jun 20 04:03:28 GMT 2018

Powered by FUDForum. Page generated in 0.02132 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top