[ATL] : Exception when using two variable in the "from" action [message #58227] |
Fri, 17 August 2007 10:24  |
Eclipse User |
|
|
|
Originally posted by: youssef.srour.etu.univ-nantes.fr
Hi,
When I use two variables in the "from" action I obtains an exception.
My metamodel is "UML1.3"
<<<<<<<<<<<<<<<<<
rule statemachine{
from
stateMachineIn : UML!StateMachine,
contextClass : UML!Classifier--(stateMachine."context"=contextClass)
-- When I add "contextClass" as variable I would have the
exception
to
stateMachine : UML!StateMachine(
namespace<-stateMachineIn.namespace
)
do{
}
}
<<<<<<<<<<<<<<<<<<
The exception code :
<<<<<<<<<<<<<<<<<<
****** BEGIN Stack Trace
exception:
java.util.EmptyStackException
at java.util.Stack.peek(Unknown Source)
at java.util.Stack.pop(Unknown Source)
at org.atl.engine.vm.ASMStackFrame.pop(ASMStackFrame.java:90)
at org.atl.engine.vm.ASMStackFrame.popVariable(ASMStackFrame.ja va:118)
at org.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:23 2)
at org.atl.engine.vm.ASMOperation.exec(ASMOperation.java:155)
at org.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java: 60)
at org.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java: 50)
at org.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:21 4)
at org.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:30 9)
at org.atl.engine.vm.ASMOperation.exec(ASMOperation.java:155)
at org.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java: 60)
at org.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java: 50)
at org.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:21 4)
at org.atl.engine.vm.ASMOperation.exec(ASMOperation.java:155)
at org.atl.engine.vm.ASMInterpreter.<init>(ASMInterpreter.java:276)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:1 36)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:9 4)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:6 8)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:6 4)
at
org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .runAtlLauncher(AtlLaunchConfigurationDelegate.java:230)
at
org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .runAtlLauncher(AtlLaunchConfigurationDelegate.java:168)
at
org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .runAtlLauncher(AtlLaunchConfigurationDelegate.java:145)
at
org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .runAtlLauncher(AtlLaunchConfigurationDelegate.java:121)
at
org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .launch(AtlLaunchConfigurationDelegate.java:97)
at
org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:639)
at
org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:565)
at
org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(D ebugUIPlugin.java:754)
at
org.eclipse.debug.internal.ui.DebugUIPlugin$6.run(DebugUIPlu gin.java:944)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
A.main() : ??#24 null
local variables = {self=StatePatern : ASMModule}
local stack = []
A.__exec__() : ??#8 null
local variables = {e=TransientLink {rule = 'statemachine', sourceElements
= {stateMachineIn = IN!<notnamedyet>}, targetElements = {stateMachine =
OUT!<notnamedyet>}, variables = {}}, self=StatePatern : ASMModule}
local stack = []
A.__applystatemachine(1 : NTransientLink;) : ??#7 null
local variables = {stateMachineIn=IN!<notnamedyet>, link=TransientLink
{rule = 'statemachine', sourceElements = {stateMachineIn =
IN!<notnamedyet>}, targetElements = {stateMachine = OUT!<notnamedyet>},
variables = {}}, self=StatePatern : ASMModule}
local stack = []
****** END Stack Trace
Execution terminated due to error (see launch configuration to allow
continuation after errors).
<<<<<<<<<<<<<<<<<<
|
|
|
|
Re: [ATL] : Exception when using two variable in the "from" action [message #58402 is a reply to message #58227] |
Fri, 17 August 2007 16:46   |
Eclipse User |
|
|
|
Hi,
Can you please tell us, which version of ATL (2004 or 2006) you are using?
Note that ATL 2004 does not support multiple source pattern elements.
This may be the cause of the error you get.
Regards,
Frédéric Jouault
Youssef SROUR wrote:
> Hi,
>
> When I use two variables in the "from" action I obtains an exception.
>
> My metamodel is "UML1.3"
>
> <<<<<<<<<<<<<<<<<
>
> rule statemachine{
> from
> stateMachineIn : UML!StateMachine,
> contextClass : UML!Classifier--(stateMachine."context"=contextClass)
> -- When I add "contextClass" as variable I would have the
> exception
>
> to
> stateMachine : UML!StateMachine(
> namespace<-stateMachineIn.namespace
> )
> do{
>
> }
> }
> <<<<<<<<<<<<<<<<<<
>
> The exception code :
>
> <<<<<<<<<<<<<<<<<<
>
> ****** BEGIN Stack Trace
> exception: java.util.EmptyStackException
> at java.util.Stack.peek(Unknown Source)
> at java.util.Stack.pop(Unknown Source)
> at org.atl.engine.vm.ASMStackFrame.pop(ASMStackFrame.java:90)
> at org.atl.engine.vm.ASMStackFrame.popVariable(ASMStackFrame.ja va:118)
> at org.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:23 2)
> at org.atl.engine.vm.ASMOperation.exec(ASMOperation.java:155)
> at org.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java: 60)
> at org.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java: 50)
> at org.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:21 4)
> at org.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:30 9)
> at org.atl.engine.vm.ASMOperation.exec(ASMOperation.java:155)
> at org.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java: 60)
> at org.atl.engine.vm.nativelib.ASMOclAny.invoke(ASMOclAny.java: 50)
> at org.atl.engine.vm.ASMOperation.realExec(ASMOperation.java:21 4)
> at org.atl.engine.vm.ASMOperation.exec(ASMOperation.java:155)
> at org.atl.engine.vm.ASMInterpreter.<init>(ASMInterpreter.java:276)
> at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:1 36)
> at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:9 4)
> at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:6 8)
> at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:6 4)
> at
> org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .runAtlLauncher(AtlLaunchConfigurationDelegate.java:230)
>
> at
> org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .runAtlLauncher(AtlLaunchConfigurationDelegate.java:168)
>
> at
> org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .runAtlLauncher(AtlLaunchConfigurationDelegate.java:145)
>
> at
> org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .runAtlLauncher(AtlLaunchConfigurationDelegate.java:121)
>
> at
> org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate .launch(AtlLaunchConfigurationDelegate.java:97)
>
> at
> org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:639)
>
> at
> org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:565)
>
> at
> org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(D ebugUIPlugin.java:754)
>
> at
> org.eclipse.debug.internal.ui.DebugUIPlugin$6.run(DebugUIPlu gin.java:944)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
> A.main() : ??#24 null
> local variables = {self=StatePatern : ASMModule}
> local stack = []
> A.__exec__() : ??#8 null
> local variables = {e=TransientLink {rule = 'statemachine',
> sourceElements = {stateMachineIn = IN!<notnamedyet>}, targetElements =
> {stateMachine = OUT!<notnamedyet>}, variables = {}}, self=StatePatern :
> ASMModule}
> local stack = []
> A.__applystatemachine(1 : NTransientLink;) : ??#7 null
> local variables = {stateMachineIn=IN!<notnamedyet>,
> link=TransientLink {rule = 'statemachine', sourceElements =
> {stateMachineIn = IN!<notnamedyet>}, targetElements = {stateMachine =
> OUT!<notnamedyet>}, variables = {}}, self=StatePatern : ASMModule}
> local stack = []
> ****** END Stack Trace
> Execution terminated due to error (see launch configuration to allow
> continuation after errors).
>
> <<<<<<<<<<<<<<<<<<
>
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03225 seconds