Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » [Epsilon] Not F.A.Q.
[Epsilon] Not F.A.Q. [message #698205] Tue, 19 July 2011 01:53 Go to next message
Silvia  is currently offline Silvia Friend
Messages: 12
Registered: March 2011
Junior Member
Hi Dimitris,

here the questions repost.

A) Help Questions:

  1. How can an EOL module import external modules from installed plugins in the the eclipse target platform or from other open projects?
  2. How can registered metamodels in the Metemodel Registry of Epsilon be unregistered?
  3. How can I use the debugger in the SVN?


B) More About Epsilon Plugins - Questions

  1. Is it possible to parametrize EVL messages with what is found in the check part. I mean to have global variables in a rule. For example if I count something, I want to inform the number to the user but I don't want to repeat the query in the message part.
  2. Is it possible to include cases in the EVL check parts, I mean include if statements in order not to repeat EVL instructions in multiple rules.
  3. Is it possible to use ModelLink of two models conforming to different metamodels?
  4. Does ModelLink defines eclipse extension points to link n-models?
  5. Is it possible to include custom annotations to Epsilon languages in different levels (i.e. context, rule definition, named block, message).


C) Epsilon with Xtext, Xpand Questions:

  1. Is it possible to override an EOL module? Or is it possible to override an EOL fragment (part of the body or of an operation)? Like in Xpand <<AROUND>>.
  2. Have you tried to use EVL to validate a model written with an Xtext-DSL, or do you know about any try on this way?
  3. Have you tried to create an extension language of EOL with Xtext in order to have the benefits from both of them? Or do you know about any try on this?



Thanks.
Silvia

[Updated on: Tue, 19 July 2011 02:14]

Report message to a moderator

Re: [Epsilon] Not F.A.Q. [message #698384 is a reply to message #698205] Tue, 19 July 2011 11:42 Go to previous messageGo to next message
Dimitris Kolovos is currently offline Dimitris KolovosFriend
Messages: 2163
Registered: July 2009
Location: York, UK
Senior Member

Hi Silvia,

Please see comments below.

> How can an EOL module import external modules from installed plugins in the the eclipse target platform or from other open projects?

You can use platform:/plugin/com.x.y/... URIs for the former, and platform:/resource/... or relative paths for the latter.

> How can registered metamodels in the Metemodel Registry of Epsilon be unregistered?

This is not possible at the minute. Could you please file an enhancement request and we'll fix this asap?

> How can I use the debugger in the SVN?

You need to set breakpoints in your E*L programs and then instead of launching using the Run button, do so using the Debug button. We plan to create screencasts and an article that discusses the debugger shortly so this should hopefully answer any more questions you may have on this.

> Is it possible to parametrize EVL messages with what is found in the check part. I mean to have global variables in a rule. For example if I count something, I want to inform the number to the user but I don't want to repeat the query in the message part.

Yes, variables in the check part are also available in the message part

> Is it possible to include cases in the EVL check parts, I mean include if statements in order not to repeat EVL instructions in multiple rules.

Yes. Instead of check: <condition> you can use check { statement; statement; return boolean; } for more complicated code. I believe this is discussed in the EVL chapter of the book but I need to double-check this.

> Is it possible to use ModelLink of two models conforming to different metamodels?

Yes.

> Does ModelLink defines eclipse extension points to link n-models?

ModeLink can link n models. I'm not sure I understand how eclipse extension points relate to this.

> Is it possible to include custom annotations to Epsilon languages in different levels (i.e. context, rule definition, named block, message)

Epsilon supports annotations in some constructs (e.g. operations in EOL, rules in ETL/EML/ECL, constraints in EVL) but not in others (e.g. check part of an EVL constraint). Could you please file an enhancement request for this one too?

> Is it possible to override an EOL module? Or is it possible to override an EOL fragment (part of the body or of an operation)? Like in Xpand <<AROUND>>.

You can override an EOL operation with another operation with the same name/parameters

> Have you tried to use EVL to validate a model written with an Xtext-DSL, or do you know about any try on this way?

Yes. The process is very similar to this one http://eclipse.org/gmt/epsilon/doc/articles/evl-gmf-integration/ as Xtext reuses the EMF validation framework.

> Have you tried to create an extension language of EOL with Xtext in order to have the benefits from both of them? Or do you know about any try on this?

We do have an internal project running on redefining the EOL parser using Xtext but I wouldn't expect any results to be made publicly available for at least 6 months.

Cheers,
Dimitris
Re: [Epsilon] Not F.A.Q. [message #698594 is a reply to message #698384] Tue, 19 July 2011 15:30 Go to previous messageGo to next message
Steffen Zschaler is currently offline Steffen ZschalerFriend
Messages: 266
Registered: July 2009
Senior Member
Hi Silvia,

Further to Dimitrios message...

On 19/07/2011 12:42, Dimitris Kolovos wrote:
<snip />
>> Is it possible to override an EOL module? Or is it possible to
>> override an EOL fragment (part of the body or of an operation)? Like
>> in Xpand <<AROUND>>.
>
> You can override an EOL operation with another operation with the same
> name/parameters
For EGL, in particular, you can also use the symmetric aspect extension
available from EpsilonLabs: This allows merging entire EGL templates in
a symmetric aspect-oriented fashion that is more powerful than XPand's
asymmetric technique based on generation rules.

Steffen
Re: [Epsilon] Not F.A.Q. [message #698596 is a reply to message #698384] Tue, 19 July 2011 15:30 Go to previous messageGo to next message
Steffen Zschaler is currently offline Steffen ZschalerFriend
Messages: 266
Registered: July 2009
Senior Member
Hi Silvia,

Further to Dimitrios message...

On 19/07/2011 12:42, Dimitris Kolovos wrote:
<snip />
>> Is it possible to override an EOL module? Or is it possible to
>> override an EOL fragment (part of the body or of an operation)? Like
>> in Xpand <<AROUND>>.
>
> You can override an EOL operation with another operation with the same
> name/parameters
For EGL, in particular, you can also use the symmetric aspect extension
available from EpsilonLabs: This allows merging entire EGL templates in
a symmetric aspect-oriented fashion that is more powerful than XPand's
asymmetric technique based on generation rules.

Steffen
Re: [Epsilon] Not F.A.Q. [message #698684 is a reply to message #698596] Wed, 20 July 2011 00:49 Go to previous messageGo to next message
Silvia  is currently offline Silvia Friend
Messages: 12
Registered: March 2011
Junior Member
Hi, thank you both.

@Dimitris: I will open the enhancement issues.
About the ModelLink question B.4: If ModelLink can be used to link more than 2 models (viz.n-models) at the same time, how do I access to this? I mean, I saw it has three panels (p1:model1, p2:model2, p3:link-model). Perhaps I'm missing something.

About question C.2.: do I need the model described with the Xtext-DSL to be in XMI format or should it work with the textual format?

@Steffen Cool, I will check the EpsilonLabs project! Does the symmetric AOP in this extension refers to hyperspaces? Do you know if it is related to Reuseware?

Best regards,

Silvia
Re: [Epsilon] Not F.A.Q. [message #698769 is a reply to message #698684] Wed, 20 July 2011 07:47 Go to previous messageGo to next message
Steffen Zschaler is currently offline Steffen ZschalerFriend
Messages: 266
Registered: July 2009
Senior Member
Hi Silvia,

On 20/07/2011 01:49, Silvia wrote:
> @Steffen Cool, I will check the EpsilonLabs project! Does the
> symmetric AOP in this extension refers to hyperspaces? Do you know if
> it is related to http://reuseware.org/?
>
The technique uses superimposition as known from feature-oriented
programming. This is similar to the technique used in hyperspaces. It
currently does not use Reuseware, but it is extensible and you can in
principle add in other merging techniques, for example the grammar-based
Reuseware.

I still keep having some trouble with my Eclipse setup. There have been
some reports that installing from the EpsilonLabs update site does not
work. Hopefully, starting the plugins from source will work. I would be
interested to hear from your experiences.

Many thanks,

Steffen
Re: [Epsilon] Not F.A.Q. [message #698814 is a reply to message #698769] Wed, 20 July 2011 09:29 Go to previous messageGo to next message
Silvia  is currently offline Silvia Friend
Messages: 12
Registered: March 2011
Junior Member
Hi Steffen,

Well I didn't found it in the epsilon labs svn. I downloaded an old snapshot. I downloaded also the EJB3 example but I'm having problems with the task "epsilon.eglRegister". It wasn't auto-installed as an ant task, so I included it and I change from problem.

First issue: solved
 \ EJB3Generation\workflow\build.xml:23: Problem: failed to create task or type epsilon.eglRegister
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.


The problem:
EJB3Generation\workflow\build.xml:23: Could not create type epsilon.eglRegister as the class class org.eclipse.epsilon.egl.symmetric_ao.tasks.RegistryUtil has no compatible constructor


The involved line:
<target name="register_sessions" depends="init">
<epsilon.eglRegister src="templates/SessionBeans.egl" feature="session">
<model ref="classes" as="Model" />
</epsilon.eglRegister>
</target>

I think I'm missing a little step. Can you please help me.

Thanks,
Silvia
Re: [Epsilon] Not F.A.Q. [message #698820 is a reply to message #698684] Wed, 20 July 2011 09:59 Go to previous messageGo to next message
Dimitris Kolovos is currently offline Dimitris KolovosFriend
Messages: 2163
Registered: July 2009
Location: York, UK
Senior Member

Hi Silvia,

Please see comments below

>@Dimitris: I will open the enhancement issues.

Thanks!

>About the ModelLink question B.4: If ModelLink can be used to link more than 2 models (viz.n-models) at the same time, how do I access to this? I mean, I saw it has three panels (p1:model1, p2:model2, p3:link-model). >Perhaps I'm missing something.

Each panel can host multiple models (you can add models to panels through the configuration dialog)

>About question C.2.: do I need the model described with the Xtext-DSL to be in XMI format or should it work with the textual format?

It should work with the textual format too.

Cheers,
Dimitris
Re: [Epsilon] Not F.A.Q. [message #698850 is a reply to message #698814] Wed, 20 July 2011 10:29 Go to previous messageGo to next message
Steffen Zschaler is currently offline Steffen ZschalerFriend
Messages: 266
Registered: July 2009
Senior Member
Hi Silvia,

EpsilonLabs is on Sourceforge, which also has the latest code for the
symmetric AO tasks:
http://epsilonlabs.svn.sourceforge.net/viewvc/epsilonlabs/ Could you try
with the latest sources from there?

There is some issue with auto-installing tasks in ANT: At the moment,
this seems to only work properly when you run Ant in the same JRE as
Eclipse (you can set this in the launch configuration on the JRE tab).

I hope this helps, thanks for trying!

Steffen

On 20/07/2011 10:29, Silvia wrote:
> Hi Steffen,
>
> Well I didn't found it in the
> http://epsilonlabs.googlecode.com/svn/trunk. I downloaded an old
> snapshot. I downloaded also the EJB3 example but I'm having problems
> with the task "epsilon.eglRegister". It wasn't auto-installed as an
> ant task, so I included it and I change from problem.
>
> First issue: solved
> \ EJB3Generation\workflow\build.xml:23: Problem: failed to create task
> or type epsilon.eglRegister
> Cause: The name is undefined.
> Action: Check the spelling.
> Action: Check that any custom tasks/types have been declared.
> Action: Check that any <presetdef>/<macrodef> declarations have taken
> place.
>
> The problem:
>
> EJB3Generation\workflow\build.xml:23: Could not create type
> epsilon.eglRegister as the class class
> org.eclipse.epsilon.egl.symmetric_ao.tasks.RegistryUtil has no
> compatible constructor
>
>
> The involved line:
> <target name="register_sessions" depends="init">
> <epsilon.eglRegister src="templates/SessionBeans.egl" feature="session">
> <model ref="classes" as="Model" />
> </epsilon.eglRegister>
> </target>
>
> I think I'm missing a little step. Can you please help me.
>
> Thanks,
> Silvia
Re: [Epsilon] Not F.A.Q. [message #699162 is a reply to message #698850] Thu, 21 July 2011 01:23 Go to previous messageGo to next message
Silvia  is currently offline Silvia Friend
Messages: 12
Registered: March 2011
Junior Member
Hi Steffen,

It seems the svn path in sourceforge changed to: https://epsilonlabs.svn.sourceforge.net/svnroot/epsilonlabs

I downloaded and successfully installed from there. The ant tasks were installed. But I have the following error:

\EJB3Generation\workflow\build.xml:23: Problem: failed to create task or type epsilon.eglRegister
Cause: Could not load a dependent class EglTask
       This class may be in a separate JAR that is not installed.
Action: Determine what extra JAR files are needed, and place them in one of:
        -<ECLIPSE_PATH>\plugins\org.apache.ant_1.7.1.v20100518-1145\lib
        -<SYSTEM_USER_PATH>\.ant\lib
        -a directory added on the command line with the -lib argument

Do not panic, this is a common problem.
The commonest cause is a missing JAR.

This is not a bug; it is a configuration problem


The epsilon tasks are installed too, and I can run other workflows calling the epsilon.egl task in the same jre of eclipse. I'm using Epsilon (Incubation) version 0.9.0.201106111013, could this be related?

Thanks,

Silvia

[Updated on: Thu, 21 July 2011 01:28]

Report message to a moderator

Re: [Epsilon] Not F.A.Q. [message #699257 is a reply to message #699162] Thu, 21 July 2011 07:36 Go to previous messageGo to next message
Steffen Zschaler is currently offline Steffen ZschalerFriend
Messages: 266
Registered: July 2009
Senior Member
Dear Silvia,

Many thanks for trying this out. ANT's class loader is forever causing
problems. I remember coming across this at one point, but cannot quite
remember what I did to fix it. Dimitris, Louis, do you have a suggestion?

In any case, you seem to be able to do more than me at the moment: My
Eclipse installation is currently refusing to do any Epsilon work at all
:-( . It is good to hear, though, that you can get something to work,
because it means that this is a problem with my installation rather than
with Epsilon or the extensions. I am still looking into this and as soon
as I can get my Eclipse setup to work again I will hopefully be able to
figure out a solution... I'll report back...

Best,

Steffen

On 21/07/2011 02:23, Silvia wrote:
> Hi Steffen,
>
> It seems the svn path in sourceforge change to:
> https://epsilonlabs.svn.sourceforge.net/svnroot/epsilonlabs
>
> I downloaded and successfully installed from there. The ant tasks were
> installed. But I have the following error:
>
> \EJB3Generation\workflow\build.xml:23: Problem: failed to create task
> or type epsilon.eglRegister
> Cause: Could not load a dependent class EglTask
> This class may be in a separate JAR that is not installed.
> Action: Determine what extra JAR files are needed, and place them in
> one of:
> -<ECLIPSE_PATH>\plugins\org.apache.ant_1.7.1.v20100518-1145\lib
> -<SYSTEM_USER_PATH>\.ant\lib
> -a directory added on the command line with the -lib argument
>
> Do not panic, this is a common problem.
> The commonest cause is a missing JAR.
>
> This is not a bug; it is a configuration problem
>
>
> The epsilon tasks are installed, and I can run other workflows calling
> the epsilon.egl task in the same jre of eclipse. I'm using Epsilon
> (Incubation) version 0.9.0.201106111013, could this be related?
>
> Thanks,
>
> Silvia
Re: [Epsilon] Not F.A.Q. [message #699279 is a reply to message #699257] Thu, 21 July 2011 09:07 Go to previous message
Silvia  is currently offline Silvia Friend
Messages: 12
Registered: March 2011
Junior Member
Hi Steffen,

I believe is not a problem with your extension, although when I imported it one of the plugins didn't compile because it couldn't find the *.epsilon.workflow.jar. I first imported from the svn the workflow project and it didn't work, as the head version is missing an import class for the EglTask. import org.eclipse.epsilon.egl.formatter.Formatter; Then I imported the installed version and the ao extension compiled. So I think is related to the location of this plugin and its dependencies.

Hope you solve your setup problems.

Best regards,
Silvia
Previous Topic:Create Element and Link
Next Topic:[Epsilon] How can an EOL module which loads one model access to more than one ecore metamodels?
Goto Forum:
  


Current Time: Thu Apr 25 08:33:20 GMT 2024

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

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

Back to the top