Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » M2M (model-to-model transformation) » [ATL] combined rules don't work
[ATL] combined rules don't work [message #50794] Thu, 05 July 2007 12:37 Go to next message
Eclipse UserFriend
Originally posted by: heggly.gmx.net

Hi,

I got two rules (returnType and moduleName) accessing the same metamodel and
creating instances of EClass and EAttribute respectively.
Every rule on its own works fine, but when trying to use both rules in one
module (test.atl) I get this strange error message...
Any ideas???
Thanks a lot,
Felix.


****** BEGIN Stack Trace
message: trying to register several rules as default for element
IN!<unnamed>: 'returnType' and 'moduleName'
A.main() : ??#28 null
local variables = {self=test : ASMModule}
local stack = []
A.__matcher__() : ??#3 null
local variables = {self=test : ASMModule}
local stack = []
A.__matchmoduleName() : ??#36 null
local variables = {a=IN!<unnamed>, self=test : ASMModule}
local stack = []
NativeOperation public static void
org.atl.engine.vm.nativelib.ASMTransientLinkSet.addLink(org. atl.engine.vm.StackFrame,org.atl.engine.vm.nativelib.ASMTran sientLinkSet,org.atl.engine.vm.nativelib.ASMTransientLink)
args = [TransientLinkSet {TransientLink {rule = 'returnType', sourceElements
= {s = IN!<unnamed>}, targetElements = {t = OUT!<notnamedyet>}, variables =
{}}}, TransientLink {rule = 'moduleName', sourceElements = {a =
IN!<unnamed>}, targetElements = {b = OUT!<notnamedyet>}, variables = {}}]
****** END Stack Trace
Execution terminated due to error (see launch configuration to allow
continuation after errors).
Re: [ATL] combined rules don't work [message #50825 is a reply to message #50794] Thu, 05 July 2007 13:51 Go to previous messageGo to next message
Frédéric Jouault is currently offline Frédéric JouaultFriend
Messages: 572
Registered: July 2009
Senior Member
Hello,

You get this error message because you try to match the same element (at
least) twice with standard rules.

You may not actually want to do this, and your guards may accidentally
make the sets of matched elements overlap. Please, check if it is the case.

However, if you really do want to match the same element several times,
you may use (unique) lazy rules to achieve this.


Regards,

Frédéric Jouault

Felix Förster wrote:
> Hi,
>
> I got two rules (returnType and moduleName) accessing the same metamodel and
> creating instances of EClass and EAttribute respectively.
> Every rule on its own works fine, but when trying to use both rules in one
> module (test.atl) I get this strange error message...
> Any ideas???
> Thanks a lot,
> Felix.
>
>
> ****** BEGIN Stack Trace
> message: trying to register several rules as default for element
> IN!<unnamed>: 'returnType' and 'moduleName'
> A.main() : ??#28 null
> local variables = {self=test : ASMModule}
> local stack = []
> A.__matcher__() : ??#3 null
> local variables = {self=test : ASMModule}
> local stack = []
> A.__matchmoduleName() : ??#36 null
> local variables = {a=IN!<unnamed>, self=test : ASMModule}
> local stack = []
> NativeOperation public static void
> org.atl.engine.vm.nativelib.ASMTransientLinkSet.addLink(org. atl.engine.vm.StackFrame,org.atl.engine.vm.nativelib.ASMTran sientLinkSet,org.atl.engine.vm.nativelib.ASMTransientLink)
> args = [TransientLinkSet {TransientLink {rule = 'returnType', sourceElements
> = {s = IN!<unnamed>}, targetElements = {t = OUT!<notnamedyet>}, variables =
> {}}}, TransientLink {rule = 'moduleName', sourceElements = {a =
> IN!<unnamed>}, targetElements = {b = OUT!<notnamedyet>}, variables = {}}]
> ****** END Stack Trace
> Execution terminated due to error (see launch configuration to allow
> continuation after errors).
>
>
Re: [ATL] combined rules don't work [message #50852 is a reply to message #50825] Thu, 05 July 2007 14:29 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: heggly.gmx.net

Hey, thanks,
that was exactly the case.
They do that in the Family2Person example also so I thought it must work.
However in the example they use conditional which exludes one rule or the
other.

Felix.

"Fr
Re: [ATL] combined rules don't work [message #50879 is a reply to message #50852] Thu, 05 July 2007 14:34 Go to previous messageGo to next message
Frédéric Jouault is currently offline Frédéric JouaultFriend
Messages: 572
Registered: July 2009
Senior Member
Hello,

> Hey, thanks,
> that was exactly the case.

You're welcome.

> They do that in the Family2Person example also so I thought it must
work.
> However in the example they use conditional which exludes one rule or
the
> other.

Exactly! You can match the same type, but with conditionals that make
sure that you do not match the same element :-).



Regards,

Frédéric Jouault
[ATL] <superimpose...> within <am3.atl ...> doesn [message #51045 is a reply to message #50794] Fri, 06 July 2007 12:31 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: J.Kelling.web.de

Hi,

I use Ant to run my ATL transformation, but within <am3.atl ...> I can
Re: [ATL] <superimpose...> within <am3.atl ...> doesn´t work [message #51075 is a reply to message #51045] Fri, 06 July 2007 13:22 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: Hugo.Bruneliere.univ-nantes.fr

Jeanette Kelling a écrit :
> Hi,
>

Hi Jeanette,

> I use Ant to run my ATL transformation, but within <am3.atl ...> I can´t
> use the element <superimpose path= ...>,
> but all other elements like inmodel, outmodel and library work.
> The following error message appears, when I use the superimpose element:
>
> The <am3.atl> type doesn´t support nested "superimpose" element.
>
> For developing my transformation I use ATLBundle_20070217 and the UML2_2.0.2
> plugin.
> What´s the problem? What can I do to make it work?
>

I think the problem comes from the fact that the bundle contains a
version of the org.eclipse.gmt.am3.tools.ant plugin which doesn't
support the use of superimposition.

You may try to checkout the latest versions of ATL & AM3 from the
Eclipse CVS by following the process described in
http://wiki.eclipse.org/ATL/How_Install_ATL_From_CVS/.

Note that for AM3 the repository path is "/cvsroot/technology". You then
have to select the "org.eclipse.gmt/AM3" folder and to checkout the
following plugins:
* org.eclipse.am3.core
* org.eclipse.am3.tools.tge
* org.eclipse.am3.ui
* org.eclipse.gmt.am3.dsls.km3
* org.eclipse.gmt.am3.tools.ant

> Thanks in advance for your help
> Jeanette
>

Best regards,

Hugo

--
--------------------------------------------------------
Hugo Bruneliere - R&D Engineer
ATLAS Group (INRIA & LINA) - University of Nantes
2, rue de la Houssiniere
44322 Nantes Cedex 3 - France
office +33 2 51 12 58 10 /\ cell.+33 6 07 42 45 30
EMail: Hugo.Bruneliere@univ-nantes.fr
http://www.sciences.univ-nantes.fr/lina/atl/
--------------------------------------------------------
Re: [ATL] <superimpose...> within <am3.atl ...> doesn [message #51131 is a reply to message #51075] Fri, 06 July 2007 15:22 Go to previous message
Eclipse UserFriend
Originally posted by: J.Kelling.web.de

Hi Hugo,

I
Previous Topic:[ATL] Unsupported registration
Next Topic:[ATL] how can I reference a remote metamodel
Goto Forum:
  


Current Time: Fri Apr 19 13:26:23 GMT 2024

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

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

Back to the top