|
|
Re: [Acceleo] Where to get Acceleo 4? [message #1838515 is a reply to message #1838508] |
Fri, 26 February 2021 19:39 |
Denis Nikiforov Messages: 346 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:
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.
|
|
|
|
Powered by
FUDForum. Page generated in 0.03606 seconds