Hi
I'm trying to get a simple example goinf to find out how the
EMF interaction works. But I get a crash when running or debugging.
Observation: File extensions should be allowed in the configuration
set path for input/meta-models since EMF likes them to be .ecore.
Observation: The debug aspect should appear automatically (or after a prompt)
just like with Java.
Attached is a very simple application
Chemistry.xmi - renamed chemistry.ecore from EMF
Water.xmi - an instantiation of Chemistry.xmi via the EMF edit plug-in
Water2Water.atl - a very boring transformation
When I run I get
****** BEGIN Stack Trace
exception:
java.lang.NullPointerException
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:227)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:210)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:210)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMInterpreter.<init>(ASMInterpreter.java:186)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:88)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:59)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:49)
at org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate.startDebuggee(AtlLaunchConfigurationDelegate.java:150)
at org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate.launch(AtlLaunchConfigurationDelegate.java:93)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:569)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:788)
at org.eclipse.debug.internal.ui.DebugUIPlugin$6.run(DebugUIPlugin.java:955)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
A.main() : ??#17 null
local variables = {self=Water2Water : ASMModule}
local stack = []
A.matcher() : ??#6 null
local variables = {self=Water2Water : ASMModule}
local stack = []
A.matchM2M() : ??#2 null
local variables = {self=Water2Water : ASMModule}
local stack = []
****** END Stack Trace
****** BEGIN Stack Trace
exception:
java.lang.NullPointerException
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:227)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:210)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:210)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMInterpreter.<init>(ASMInterpreter.java:186)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:88)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:59)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:49)
at org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate.startDebuggee(AtlLaunchConfigurationDelegate.java:150)
at org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate.launch(AtlLaunchConfigurationDelegate.java:93)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:569)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:788)
at org.eclipse.debug.internal.ui.DebugUIPlugin$6.run(DebugUIPlugin.java:955)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
A.main() : ??#17 null
local variables = {self=Water2Water : ASMModule}
local stack = []
A.matcher() : ??#8 null
local variables = {self=Water2Water : ASMModule}
local stack = []
A.matchA2A() : ??#2 null
local variables = {self=Water2Water : ASMModule}
local stack = []
****** END Stack Trace
****** BEGIN Stack Trace
exception:
java.lang.NullPointerException
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:227)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:210)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMOperation.realExec(ASMOperation.java:210)
at org.mda.asm.ASMOperation.exec(ASMOperation.java:147)
at org.mda.asm.ASMInterpreter.<init>(ASMInterpreter.java:186)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:88)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:59)
at org.atl.eclipse.engine.AtlLauncher.launch(AtlLauncher.java:49)
at org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate.startDebuggee(AtlLaunchConfigurationDelegate.java:150)
at org.atl.eclipse.adt.launching.AtlLaunchConfigurationDelegate.launch(AtlLaunchConfigurationDelegate.java:93)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:569)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:788)
at org.eclipse.debug.internal.ui.DebugUIPlugin$6.run(DebugUIPlugin.java:955)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
A.main() : ??#17 null
local variables = {self=Water2Water : ASMModule}
local stack = []
A.matcher() : ??#10 null
local variables = {self=Water2Water : ASMModule}
local stack = []
A.matchB2B() : ??#2 null
local variables = {self=Water2Water : ASMModule}
local stack = []
****** END Stack Trace
When I try to debug I get
Trying to connect to remote debuggee
java.lang.NullPointerException
at org.mda.asm.adwp.ADWPDebugger.run(ADWPDebugger.java:125)
Connected.
I eventually deduced this one.
My ATL contains Water!Molecule rather than Chemistry!Molecule.
Please improve the diagnostic.
Regards
Ed Willink