Composing Epsilon tools? [message #505563] |
Fri, 01 January 2010 12:54  |
Eclipse User |
|
|
|
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 #505592 is a reply to message #505582] |
Sat, 02 January 2010 10:55   |
Eclipse User |
|
|
|
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 #584262 is a reply to message #584226] |
Sat, 02 January 2010 10:55   |
Eclipse User |
|
|
|
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 03:02  |
Eclipse User |
|
|
|
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.
|
|
|
Powered by
FUDForum. Page generated in 0.06816 seconds