I want to generically alter ETL scripts through a Higher Order
Transformation. As a first step, I'd like to get a model representation
of an ETL script (which I then in turn can alter by said higher order
On the left hand side I've heard that the Epsilon languages are
metamodel based (and thus should be serialiseable as XMI using "Save as"
-> give some file name with extension ".xmi").
On the right hand side,
* "save as" is constantly greyed out for ETL scripts
* no ETL (or other Epsilon) metamodel shows up in EPackage Registry view
* judged by the source, the ETL engine does not seem to be based on
models, but on ANTLR + custom Java code
I'm about to write an EMFText grammar to facilitate the above task, but
before starting I'd like to get your points on whether
- I've simply overlooked an option to get models from scripts
- there are some formal grammar and language metamodel in existence
- somebody else has already started a similar undertaking
Thanks for your message. As you have correctly observed by browsing through the source code, ETL is not underpinned by an EMF metamodel. We're in the process of implementing metamodels for all Epsilon languages which will enable features such as static type checking and analysis, code completion etc. but I'm afraid I can't commit to a release date at this point.
The plan is to do the transition in 2 steps. In the first step, we're creating metamodels for all Epsilon languages and switching the execution engine from using ASTs to using model elements. Once the execution engines are completely independent of ANTLR, we'll be moving on to develop Xtext/EMFText-based editors.