Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » higher-order transformation
higher-order transformation [message #1741729] Mon, 29 August 2016 05:22 Go to next message
Banafsheh A is currently offline Banafsheh AFriend
Messages: 262
Registered: July 2016
Senior Member
Hello,
Is it possible to write higher-order transformation with ETL?
I want to write ETL to one DSL transformation. how can I do that?
Re: higher-order transformation [message #1741745 is a reply to message #1741729] Mon, 29 August 2016 09:00 Go to previous messageGo to next message
Dimitris Kolovos is currently offline Dimitris KolovosFriend
Messages: 1498
Registered: July 2009
Location: York, UK
Senior Member

Hi,

The latest interim version of Epsilon provides a (non-EMF-based) DOM API through which you can traverse the contents of an ETL transformation [1].

Cheers,
Dimitris

[1] http://download.eclipse.org/epsilon/interim-javadoc/org/eclipse/epsilon/etl/EtlModule.html
Re: higher-order transformation [message #1742468 is a reply to message #1741745] Fri, 02 September 2016 04:25 Go to previous messageGo to next message
Banafsheh A is currently offline Banafsheh AFriend
Messages: 262
Registered: July 2016
Senior Member
Thank you for your reply. I'm new I don't understand what I should do.
For the higher-order transformation I need source metamodel, target metamodel and source program as an input and then implement the transformation based on source and target metamodel to achive target program (Is it true?).
ETL don't have an ecore metamodel. what changes occure to this process? I thank you if you step by step tell me what should I do.
Re: higher-order transformation [message #1742479 is a reply to message #1742468] Fri, 02 September 2016 08:59 Go to previous messageGo to next message
Dimitris Kolovos is currently offline Dimitris KolovosFriend
Messages: 1498
Registered: July 2009
Location: York, UK
Senior Member

Hi,

There's no Ecore metamodel for ETL in the main Epsilon development branch I'm afraid. There is one in [1], however, that project is under-documented at this stage so I'm not sure how useful it would be to you.

Cheers,
Dimitris

[1] https://github.com/epsilonlabs/haetae
Re: higher-order transformation [message #1742508 is a reply to message #1742479] Fri, 02 September 2016 13:47 Go to previous messageGo to next message
Banafsheh A is currently offline Banafsheh AFriend
Messages: 262
Registered: July 2016
Senior Member
Dimitris Kolovos wrote on Fri, 02 September 2016 08:59
Hi,

There's no Ecore metamodel for ETL in the main Epsilon development branch I'm afraid. There is one in [1], however, that project is under-documented at this stage so I'm not sure how useful it would be to you.

Cheers,
Dimitris

[1] https://github.com/epsilonlabs/haetae

Thank you very much indeed.
if I use this metamodel and write my higher-order transformation with ETL, don't I need [1]?

[1] http://download.eclipse.org/epsilon/interim-javadoc/org/eclipse/epsilon/etl/EtlModule.html

[Updated on: Fri, 02 September 2016 14:02]

Report message to a moderator

Re: higher-order transformation [message #1744219 is a reply to message #1742508] Fri, 23 September 2016 12:29 Go to previous messageGo to next message
Ran Wei is currently offline Ran WeiFriend
Messages: 75
Registered: September 2012
Location: York, UK
Member
Hi there,

If you use the metamodels provided by Haetae, what you need to do is to use the models extracted by Haetae and transform them with ETL like you do with any other Ecore based models.

Cheers,
Will


Research Associate
Department of Computer Science
University of York
Re: higher-order transformation [message #1745375 is a reply to message #1744219] Sun, 09 October 2016 08:07 Go to previous messageGo to next message
Banafsheh A is currently offline Banafsheh AFriend
Messages: 262
Registered: July 2016
Senior Member
Thank you very much indeed
Re: higher-order transformation [message #1749012 is a reply to message #1745375] Thu, 01 December 2016 07:13 Go to previous messageGo to next message
Banafsheh A is currently offline Banafsheh AFriend
Messages: 262
Registered: July 2016
Senior Member
Only with install the software through https://raw.githubusercontent.com/epsilonlabs/haetae/master/org.eclipse.epsilon.haetae.updatesite/site.xml update site, can I use code to model transformation?
this capability in which verisons of epsilon supports?
would you please give me an example of higher-order transformation with ETL?

[Updated on: Thu, 01 December 2016 07:18]

Report message to a moderator

Re: higher-order transformation [message #1749450 is a reply to message #1749012] Tue, 06 December 2016 22:50 Go to previous messageGo to next message
Ran Wei is currently offline Ran WeiFriend
Messages: 75
Registered: September 2012
Location: York, UK
Member
Hi there,

Right now, the metamodels provided by Haetae are independent from Epsilon and are compatible to Epsilon 1.3 (we have not done any work with Epsilon 1.4 for now).

To enable higher order transformation, you firstly need to get yourself familiar with the metamodels of EOL [1], ETL [2] and EVL[3] (currently only these three metamodels are provided by Haetae).

Haetae provides you with facilities to parse ExL modules (as they are strings) to ExL models that conform to [1], [2] or [3], using the facilities provided in [4 -6].

Once you obtained the model you wish to perform higher order transformation to, use standard ETL to transform them into the language you want.

For example, to transform an EOL program into an EVL program:

rule EOLModule2EVLModule
transform eol: EOLModule
to evl: EVLModule {

}

and you write the rules in a top down manner.

Once you have obtained a model (e.g. an EOLModule), you can use the pretty printer facilities to turn these models back into Strings using [7], please note at this stage we only implemented the printer for EOL, we plan to implement more printers but it is unsure when we will get to it.

Hope all this helps.

Cheers,
Will

[1]. https://github.com/epsilonlabs/haetae/tree/master/org.eclipse.epsilon.haetae.eol.metamodel

[2]. https://github.com/epsilonlabs/haetae/tree/master/org.eclipse.epsilon.haetae.etl.metamodel

[3]. https://github.com/epsilonlabs/haetae/tree/master/org.eclipse.epsilon.haetae.evl.metamodel

[4]. https://github.com/epsilonlabs/haetae/tree/master/org.eclipse.epsilon.haetae.eol.ast2eol

[5]. https://github.com/epsilonlabs/haetae/tree/master/org.eclipse.epsilon.haetae.etl.ast2etl

[6]. https://github.com/epsilonlabs/haetae/tree/master/org.eclipse.epsilon.haetae.evl.ast2evl

[7]. https://github.com/epsilonlabs/haetae/tree/master/org.eclipse.epsilon.haetae.eol.metamodel.visitor.printer


Research Associate
Department of Computer Science
University of York
Re: higher-order transformation [message #1749563 is a reply to message #1749450] Thu, 08 December 2016 08:10 Go to previous messageGo to next message
Banafsheh A is currently offline Banafsheh AFriend
Messages: 262
Registered: July 2016
Senior Member
Hi Will,

Many thanks for your reply
To clarify, I want to transform ETL transformations (i.e. input of my higher-order transformation is ETL transformation).

William Wei wrote on Tue, 06 December 2016 22:50

Once you have obtained a model (e.g. an EOLModule), you can use the pretty printer facilities to turn these models back into Strings using [7], please note at this stage we only implemented the printer for EOL, we plan to implement more printers but it is unsure when we will get to it.

Does it need for all higher-order transformations? I mean, since you only implemented the printer for EOL, can't I transform ETL transformations to special model or transformation written in special language?

Best regards,

[Updated on: Fri, 06 January 2017 17:36]

Report message to a moderator

Re: higher-order transformation [message #1750037 is a reply to message #1749563] Thu, 15 December 2016 11:35 Go to previous messageGo to next message
Banafsheh A is currently offline Banafsheh AFriend
Messages: 262
Registered: July 2016
Senior Member
No Message Body

[Updated on: Wed, 04 January 2017 18:54]

Report message to a moderator

Re: higher-order transformation [message #1751748 is a reply to message #1749563] Fri, 13 January 2017 12:41 Go to previous message
Ran Wei is currently offline Ran WeiFriend
Messages: 75
Registered: September 2012
Location: York, UK
Member
Hi there, if I understood your question, with the ETL model as input you can transform it to arbitrary languages as you with, using Model-to-Text transformations (EGL comes in handy in here).

Research Associate
Department of Computer Science
University of York
Previous Topic:How to implement rules to a connector
Next Topic:operation that return more than one value
Goto Forum:
  


Current Time: Wed Jan 17 09:30:36 GMT 2018

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

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