Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » Composing Epsilon tools?(e.g how to compose ETL+EVL into one tool)
Composing Epsilon tools? [message #505563] Fri, 01 January 2010 17:54 Go to next message
Itamar is currently offline ItamarFriend
Messages: 39
Registered: November 2009
Member
Is there any way to programmatically execute an E_L module on a model?

The motivation is to compose several Epsilon tools into one tool. For example: create an EVL tool that first transforms the model into another model (using ETL) and then validates the result.

Is it possible to do this in any of the E_L languages?
Is it possible in a more "low level" way, via Java?
Does it require a new EOL sub-language?

Thanks !
Re: Composing Epsilon tools? [message #505564 is a reply to message #505563] Fri, 01 January 2010 18:00 Go to previous messageGo to next message
Dimitrios Kolovos is currently offline Dimitrios KolovosFriend
Messages: 1776
Registered: July 2009
Senior Member
Hi,

You can use either the ANT tasks
(http://eclipse.org/gmt/epsilon/doc/workflow) or plain Java (see
http://eclipse.org/gmt/epsilon/examples/index.php?example=or g.eclipse.epsilon.examples.standalone)
to do this.

Cheers,
Dimitris

Itamar wrote:
> Is there any way to programmatically execute an E_L module on a model?
>
> The motivation is to compose several Epsilon tools into one tool. For
> example: create an EVL tool that first transforms the model into another
> model (using ETL) and then validates the result.
>
> Is it possible to do this in any of the E_L languages?
> Is it possible in a more "low level" way, via Java?
> Does it require a new EOL sub-language?
>
> Thanks !


--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
Re: Composing Epsilon tools? [message #505582 is a reply to message #505564] Sat, 02 January 2010 10:54 Go to previous messageGo to next message
Itamar is currently offline ItamarFriend
Messages: 39
Registered: November 2009
Member
Hi Dimitrios,

Thanks for the prompt response.
I looked at the example and it seems to fit what I need. However, I was thinking maybe of another approach for this:

Is it possible in Epsilon (and if not - is it worthy in your opinion?) to exploit the "Model!Type" syntax for composition?

For example, is it possible to write something along the following to implicitly invoke an ETL module?
-- in some EVL module, for example
...
context ETL("UML2Graph") ! Node {
  ...
}

The semantics is that instead of applying the constraint on instances of types in the model (e.g UML14!Class), it would be applied on instances of Graph!Node which are obtained by a transformation defined in the ETL module "UML2Graph".

Does such thing exist?
If not, do you think its worth to implement such a "hack"? How would I go about this? (suppose I create some class that implements IModel and executes the ETL module -- where would I "stitch" that into Epsilon's execution engine?)

[Updated on: Sat, 02 January 2010 12:40]

Report message to a moderator

Re: Composing Epsilon tools? [message #505592 is a reply to message #505582] Sat, 02 January 2010 15:55 Go to previous messageGo to next message
Dimitrios Kolovos is currently offline Dimitrios KolovosFriend
Messages: 1776
Registered: July 2009
Senior Member
Hi Itamar,

There is nothing like this at the moment in Epsilon (and I must admit I
haven't come across anything similar elsewhere). What would be the
benefit of this approach vs. the workflow?

Cheers,
Dimitris

Itamar wrote:
> Hi Dimitrios,
>
> Thanks for the prompt response.
> I looked at the example and it seems to fit what I need. However, I was
> thinking maybe of another approach for this:
>
> Is it possible in Epsilon (and if not - is it worthy in your opinion?)
> to exploit the "Model!Type" syntax for composition?
> For example, is it possible to write something along the following to
> implicitly invoke an ETL module?
>
> -- in some EVL module, for example
> ..
> context ETL("UML2Graph",UML14!Class) ! Node {
> ...
> }
>
> The semantics is that instead of applying the constraint on instances of
> UML14!Class, it would be applied on instances of Graph!Node which are
> obtained by a transformation defined in the ETL module "UML2Graph".
>
> Does such thing exist?
> If not, do you think its worth to implement such a "hack"? How would I
> go about this? (suppose I create some class that implements IModel and
> executes the ETL module -- where would I "stitch" that into Epsilon's
> execution engine?)


--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
Re: Composing Epsilon tools? [message #506104 is a reply to message #505592] Wed, 06 January 2010 08:02 Go to previous messageGo to next message
Itamar is currently offline ItamarFriend
Messages: 39
Registered: November 2009
Member
I have to admit I haven't thoroughly investigated the workflow alternative, and I see it's quite powerful. The differences I can see so far are:

* it can be easier to define validation rules that use a transformation of the model (virtually, all you need to do is just declare that instead of operating on model A, you operate on "a transformation of A")
* it can be easier to run such EVLs -- just like any other EVLs, and not like ANT scripts

However, I do admit I might be missing a simple (or even simpler) alternative using workflows. I will check that, and post again.
Re: Composing Epsilon tools? [message #584226 is a reply to message #505564] Sat, 02 January 2010 10:54 Go to previous messageGo to next message
Itamar is currently offline ItamarFriend
Messages: 39
Registered: November 2009
Member
Hi Dimitrios,

Thanks for the prompt response.
I looked at the example and it seems to fit what I need. However, I was thinking maybe of another approach for this:

Is it possible in Epsilon (and if not - is it worthy in your opinion?) to exploit the "Model!Type" syntax for composition?

For example, is it possible to write something along the following to implicitly invoke an ETL module?

-- in some EVL module, for example
...
context ETL("UML2Graph",UML14!Class) ! Node {
...
}

The semantics is that instead of applying the constraint on instances of UML14!Class, it would be applied on instances of Graph!Node which are obtained by a transformation defined in the ETL module "UML2Graph".

Does such thing exist?
If not, do you think its worth to implement such a "hack"? How would I go about this? (suppose I create some class that implements IModel and executes the ETL module -- where would I "stitch" that into Epsilon's execution engine?)
Re: Composing Epsilon tools? [message #584262 is a reply to message #584226] Sat, 02 January 2010 15:55 Go to previous messageGo to next message
Dimitrios Kolovos is currently offline Dimitrios KolovosFriend
Messages: 1776
Registered: July 2009
Senior Member
Hi Itamar,

There is nothing like this at the moment in Epsilon (and I must admit I
haven't come across anything similar elsewhere). What would be the
benefit of this approach vs. the workflow?

Cheers,
Dimitris

Itamar wrote:
> Hi Dimitrios,
>
> Thanks for the prompt response.
> I looked at the example and it seems to fit what I need. However, I was
> thinking maybe of another approach for this:
>
> Is it possible in Epsilon (and if not - is it worthy in your opinion?)
> to exploit the "Model!Type" syntax for composition?
> For example, is it possible to write something along the following to
> implicitly invoke an ETL module?
>
> -- in some EVL module, for example
> ..
> context ETL("UML2Graph",UML14!Class) ! Node {
> ...
> }
>
> The semantics is that instead of applying the constraint on instances of
> UML14!Class, it would be applied on instances of Graph!Node which are
> obtained by a transformation defined in the ETL module "UML2Graph".
>
> Does such thing exist?
> If not, do you think its worth to implement such a "hack"? How would I
> go about this? (suppose I create some class that implements IModel and
> executes the ETL module -- where would I "stitch" that into Epsilon's
> execution engine?)


--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
Re: Composing Epsilon tools? [message #584392 is a reply to message #505592] Wed, 06 January 2010 08:02 Go to previous message
Itamar is currently offline ItamarFriend
Messages: 39
Registered: November 2009
Member
I have to admit I haven't thoroughly investigated the workflow alternative, and I see it's quite powerful. The differences I can see so far are:

* it can be easier to define validation rules that use a transformation of the model (virtually, all you need to do is just declare that instead of operating on model A, you operate on "a transformation of A")
* it can be easier to run such EVLs -- just like any other EVLs, and not like ANT scripts

However, I do admit I might be missing a simple (or even simpler) alternative using workflows. I will check that, and post again.
Previous Topic:[EUGENIA] Different types of diagrams like UML2 Tools
Next Topic:Performing validation whenever a diagram is saved
Goto Forum:
  


Current Time: Sat Dec 20 15:22:32 GMT 2014

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

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