Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » M2T (model-to-text transformation) » [Acceleo] Where to get Acceleo 4?
[Acceleo] Where to get Acceleo 4? [message #1838506] Fri, 26 February 2021 16:42 Go to next message
Denis Nikiforov is currently offline Denis NikiforovFriend
Messages: 283
Registered: August 2013
Senior Member
Hi

We try to let our non-programmer users to use Acceleo. The problem is that Acceleo 3 has a complicated tooling (auto-generated Java-code, etc.) and also it has a broken debugger.

For example, QVTo is ideal for our goals. There are no any Java code, debugger works just fine. We need a similar tool for m2t transformation.

According to the description https://www.eclipsecon.org/2020/sessions/acceleo-4-ever it seems that Acceleo 4 has a new debugger. It would be just great if it has a simpler tooling (like QVTo has).

Actually I have a lot of questions:
1) Does debug really work in Accelo 4?
2) Do you plan to simplify tooling, so one just can create a mtl-script and run it in Eclipse by non-pogrammer?
3) Where can I get Acceleo 4?
4) It seems that Sirius has dependencies on Acceleo 3. Will Sirius confilct with Acceleo 4?

Thanks!
Re: [Acceleo] Where to get Acceleo 4? [message #1838508 is a reply to message #1838506] Fri, 26 February 2021 17:30 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7129
Registered: July 2009
Senior Member
Hi

"4" has two meanings as a shortform "four" and "for". I think you have picked the wrong one.

Acceleo has been in maintenance mode for quite a few years. I doubt that it will suddenly spring to life again. Indeed if you read my paper [1] on using an M2M for M2T it might be rendered redundant by a little removal of QVTo rough edges. QVTo can be used for M2T today.

Regards

Ed Willink

[1] http://www.eclipse.org/mmt/qvt/docs/OCL2018TextM2M/TextM2M.pdf
Re: [Acceleo] Where to get Acceleo 4? [message #1838515 is a reply to message #1838508] Fri, 26 February 2021 19:39 Go to previous messageGo to next message
Denis Nikiforov is currently offline Denis NikiforovFriend
Messages: 283
Registered: August 2013
Senior Member
Thanks for the reference! Actually, we use a similar approach. For example, I developed a set of QVTo transformation from UML+OCL to XSLT+XPath or to XSD+XPath or to Java+XPath.

Here is the paper. I'm not sure whether Springer gives me a right to publish the pdf file. Here is a figure from the presentation:

index.php/fa/40046/0/

The idea is simple. We developed a metamodel for XSLT 2.0 and XSD 1.1 (it supports XPath assertions):
https://github.com/AresEkb/xmodel

Developed metamodel and described the concrete syntax for XPath 2.0 (It was based on EMFText, not Xtext. However I think it's not a big deal to migrate to Xtext):
https://github.com/AresEkb/EMFTextXPath2

And also we used an existing metamodel and concrete syntax for Java:
https://github.com/DevBoost/JaMoPP

Here are the QVTo transformations itself:
https://github.com/AresEkb/uml2xsd

For example we get UML+OCL model and transform it to XSLT+XPath model (XSLT AST + XPath AST). Then using EMFText (or Xtext - it doesn't matter) we transform the AST into textual representation. Actually XSLT is serialized using the standard EMF XML serializer, and XPath expressions are serialized using EMFText (or Xtext). Another QVTo transformation generates Java model (AST) + XPath model (AST), and then they are serialized using EMFText (or Xtext).

I'm sure that it's a right approach for code generation. Much better then Acceleo, JET or Xtend templates, at least from my point of view.

I think that this approach can be used for CSV, HTML or generic plain text files generation. One can define a corresponding CSV metamodel or HTML metamodel, etc. Actually you are already defined a metamodel for a generic plain text.

The problem of this approach is that I'm not sure, that it is suitable for non-programmers. It's not easy to explain them for example a simple UML to BPMN transformation. And I think that a generic text metamodel will not be trivial for them. Acceleo looks simpler. At least MOF M2T specification looks simple enough. Implementation is much harder for non-programmers, I think it's impossible to use Acceleo without Java knowledge, etc. Even if one need just to run mtl-files inside Eclipse he has to deal with all this Java, MANIFEST.MF, etc stuff.


I guess that Acceleo 4 is really exists. At least I can see it in a list of downloads: https://www.eclipse.org/modeling/m2t/downloads/?project=acceleo But I don't understand how to download it.

After this presentation https://www.eclipsecon.org/2020/sessions/acceleo-4-ever I was absolutly sure that Acceleo 4 is under active development and some problems (for example the broken debugger) will be fixed.
  • Attachment: ocl2xpath.png
    (Size: 189.73KB, Downloaded 44 times)
Re: [Acceleo] Where to get Acceleo 4? [message #1838521 is a reply to message #1838515] Sat, 27 February 2021 08:15 Go to previous message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7129
Registered: July 2009
Senior Member
Hi

You are right.

Looking at GIT it appears that a 3.7.11 is imminent on the maintenance branch although not yet declared for 2021-03.

The master branch has a 4.0.0M2 tag and the downloads page lists 4.0.0M1 and 4.0.0M2 but something must have gone wrong with the releng since the downloads are not visible.

4.0.0M2 was tagged on 3-September so could/should have been in 2020-09. Not in 2020-12 either. Overdue to be in 2021-03.

Yvan Lussaud appears to be a new one man team. We must wish him well and hope that Obeo can provide the time and assistance he needs. You will probably get a better response by emailing him directly (email on the GIT transaction) since he doesn't appear to contribute to this newsgroup.

My guess is that 4.0.0 allows API breakage and so allows some embarrassing' internal' APIs to be fixed. I'm not aware of applications that make use of the Acceleo API so no problem apart from the outer generate that can certainly be much improved / automated / eliminated altogether. Ditto invoke. The language might evolve but it would be surprising to see syntax breakages other than moving to a sensible interpretation of a previous semantic misunderstanding.

Regards

Ed Willink

Previous Topic:[Acceleo] - How to bundle Acceleo with Sirius
Next Topic:java.lang.ClassCastException while transforming source EReference to Target ERefernce.
Goto Forum:
  


Current Time: Fri May 14 11:40:41 GMT 2021

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

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

Back to the top