New user [message #470177] |
Wed, 10 June 2009 03:24  |
Eclipse User |
|
|
|
Hi ,
I'm new AMW.I have 2 Models .
LDM.ecore(metamodel) PDM.ecore(MetaModel)
| |
| |
| |
LDM Model.xmi PDMModel.xmi
i saw so many examples available.(AMW2ATL,Mantis2Bugzilla..)
I have to match all the Epackage 2 Epackage
Eclass 2 Eclass
EAttributes2 EAttributes
Ereference 2 Ereference
Enum 2 Enum
what all are the KM3 files i need to select to create a waeving model.
thanks in Advance,
venkatesh
|
|
|
|
|
|
|
|
Re: New user [message #470189 is a reply to message #470188] |
Thu, 18 June 2009 01:24   |
Eclipse User |
|
|
|
Hi Marcos,
when i click on "Generate transformation(Hot)" i am getting the following
error
SEVERE: ****** BEGIN Stack Trace
SEVERE: exception:
SEVERE: The 'no null' constraint is violated
java.lang.IllegalArgumentException: The 'no null' constraint is violated
at org.eclipse.emf.common.util.BasicEList.validate(BasicEList.j ava:175)
at org.eclipse.emf.ecore.util.EcoreEList.validate(EcoreEList.ja va:63)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList. java:645)
at
org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUn ique(NotifyingListImpl.java:331)
at
org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUniq ue(NotifyingListImpl.java:315)
at org.eclipse.emf.common.util.BasicEList.add(BasicEList.java:6 26)
at
org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModelElement.set(A SMEMFModelElement.java:254)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:292)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:133)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:91)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:230)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:325)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:133)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:91)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:230)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.ASMInterpreter.<init>(ASMInterpreter.java:289)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:155)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:105)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:81)
at
org.eclipse.gmt.weaver.transformation.util.TransformationUti l.executeTransfo(TransformationUtil.java:103)
at
org.eclipse.gmt.weaver.transformation.panel.TransformationWe avingPanel$TAction.run(TransformationWeavingPanel.java:181)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:546)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:490)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:402)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 19)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:289)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:106)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:169)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:76)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:363)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
SEVERE: A.main() : ??#215 null
SEVERE: local variables = {null=right!PdmModel, self=AMWtoATL_Match :
ASMModule}
SEVERE: local stack = []
SEVERE: A.__exec__() : ??#8 null
SEVERE: local variables = {e=TransientLink {rule = 'Module',
sourceElements = {amw = IN!<notnamedyet>}, targetElements = {atl =
OUT!T_In2Out}, variables = {}}, self=AMWtoATL_Match : ASMModule}
SEVERE: local stack = []
SEVERE: A.__applyModule(1 : NTransientLink;) : ??#25 52:25-52:46
SEVERE: local variables = {atl=OUT!T_In2Out, amw=IN!<notnamedyet>,
link=TransientLink {rule = 'Module', sourceElements = {amw =
IN!<notnamedyet>}, targetElements = {atl = OUT!T_In2Out}, variables = {}},
self=AMWtoATL_Match : ASMModule}
SEVERE: local stack = [OUT!T_In2Out]
SEVERE: ****** END Stack Trace
INFO: Execution terminated due to error (see launch configuration to allow
continuation after errors).
SEVERE: null
java.lang.RuntimeException
at
org.eclipse.m2m.atl.engine.vm.SimpleDebugger.error(SimpleDeb ugger.java:185)
at
org.eclipse.m2m.atl.engine.vm.StackFrame.printStackTrace(Sta ckFrame.java:85)
at
org.eclipse.m2m.atl.engine.vm.StackFrame.printStackTrace(Sta ckFrame.java:77)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:163)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:133)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:91)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:230)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:325)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:133)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:91)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:230)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.ASMInterpreter.<init>(ASMInterpreter.java:289)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:155)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:105)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:81)
at
org.eclipse.gmt.weaver.transformation.util.TransformationUti l.executeTransfo(TransformationUtil.java:103)
at
org.eclipse.gmt.weaver.transformation.panel.TransformationWe avingPanel$TAction.run(TransformationWeavingPanel.java:181)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:546)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:490)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:402)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 19)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:289)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:106)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:169)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:76)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:363)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
Caused by: java.lang.IllegalArgumentException: The 'no null' constraint is
violated
at org.eclipse.emf.common.util.BasicEList.validate(BasicEList.j ava:175)
at org.eclipse.emf.ecore.util.EcoreEList.validate(EcoreEList.ja va:63)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList. java:645)
at
org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUn ique(NotifyingListImpl.java:331)
at
org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUniq ue(NotifyingListImpl.java:315)
at org.eclipse.emf.common.util.BasicEList.add(BasicEList.java:6 26)
at
org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModelElement.set(A SMEMFModelElement.java:254)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:292)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
... 43 more
Thanks,
venkatesh
|
|
|
|
|
Re: New user [message #470194 is a reply to message #470192] |
Mon, 22 June 2009 03:14   |
Eclipse User |
|
|
|
Hi Marcos,
I have created the weaving model to the Port example(which i have
downloaded the source code from the below site).
http://www.eclipse.org/m2m/atl/basicExamples_Patterns/
This port example has TypeA.ecore & TypeB.ecore.
I created a weaving model to get the TypeA2TypeB.atl
typeA2typeB.amw.prop file look like this
------------------------------------------------------------ ------------------------------
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<weaver>
<weaving>
<relative-path>/Port/typeA2typeB.amw</relative-path>
<panel>TransformationWeavingPanelExtension</panel>
<wmodel>MatchModel</wmodel>
</weaving>
<metamodels>
<plugin>
<relative-path> org.eclipse.gmt.weaver.matchextensions/metamodels/mmw_match. km3 </relative-path>
<relative-path> org.eclipse.gmt.weaver.matchextensions/metamodels/mmw_propag ation.km3 </relative-path>
<relative-path> org.eclipse.gmt.weaver.matchextensions/metamodels/mmw_compar e.km3 </relative-path>
<relative-path> org.eclipse.weaver.extension.base/metamodels/mw_base_extensi on.km3 </relative-path>
</plugin>
<local/>
<complete/>
</metamodels>
<woven id="0">
<model-relative-path>null</model-relative-path>
<metamodel-relative-path>/Port/Metamodel/TypeA.ecore</metamodel-relative-path >
<reference>leftM</reference>
<title>leftM</title>
<panel>XMIWovenPanelExtension</panel>
<wmodelref>ModelRefXMI</wmodelref>
</woven>
<woven id="1">
<model-relative-path>null</model-relative-path>
<metamodel-relative-path>/Port/Metamodel/TypeB.ecore</metamodel-relative-path >
<reference>rightM</reference>
<title>rightM</title>
<panel>XMIWovenPanelExtension</panel>
<wmodelref>ModelRefXMI</wmodelref>
</woven>
</weaver>
------------------------------------------------------------ -----------------------
TypeA2TypeB.amw file look like this
<?xml version="1.0" encoding="ASCII"?>
<MatchModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="mmw_match"
xmlns:_1="mw_base_ext" xmi:id="MatchModel1">
<ownedElement xsi:type="ElementEqual" xmi:id="ElementEqual1">
<child xsi:type="ReferenceEqual" xmi:id="ReferenceEqual1"
name="inputports2outputports">
<left xsi:type="Element" xmi:id="Element1" name="inputPorts"
element="ElementRefXMI1"/>
<right xsi:type="Element" xmi:id="Element2" name="inputPorts"
element="ElementRefXMI2"/>
</child>
<child xsi:type="ReferenceEqual" xmi:id="ReferenceEqual2">
<left xsi:type="Element" xmi:id="Element3" name="outputPorts"
element="ElementRefXMI3"/>
<right xsi:type="Element" xmi:id="Element4" name="outputPorts"
element="ElementRefXMI4"/>
</child>
<left xsi:type="Element" xmi:id="Element5" name="BlockA"
element="ElementRefXMI5"/>
<right xsi:type="Element" xmi:id="Element6" name="BlockB"
element="ElementRefXMI6"/>
</ownedElement>
<ownedElement xsi:type="ElementEqual" xmi:id="ElementEqual2">
<child xsi:type="AttributeEqual" xmi:id="AttributeEqual1">
<left xsi:type="Element" xmi:id="Element7" name="name"
element="ElementRefXMI7"/>
<right xsi:type="Element" xmi:id="Element8" name="name"
element="ElementRefXMI8"/>
</child>
</ownedElement>
<leftM xsi:type="_1:ModelRefXMI" xmi:id="ModelRefXMI1" name="leftM"
ref="/Port/Metamodel/TypeA.ecore">
<ownedElementRef xsi:type="_1:ElementRefXMI" xmi:id="ElementRefXMI1"
name="ref_inputPorts" ref="EReference3"/>
<ownedElementRef xsi:type="_1:ElementRefXMI" xmi:id="ElementRefXMI3"
name="ref_outputPorts" ref="EReference5"/>
<ownedElementRef xsi:type="_1:ElementRefXMI" xmi:id="ElementRefXMI5"
name="ref_BlockA" ref="EClass2"/>
<ownedElementRef xsi:type="_1:ElementRefXMI" xmi:id="ElementRefXMI7"
name="ref_name" ref="EAttribute8"/>
</leftM>
<rightM xsi:type="_1:ModelRefXMI" xmi:id="ModelRefXMI2" name="rightM"
ref="/Port/Metamodel/TypeB.ecore">
<ownedElementRef xsi:type="_1:ElementRefXMI" xmi:id="ElementRefXMI2"
name="ref_inputPorts" ref="EReference3"/>
<ownedElementRef xsi:type="_1:ElementRefXMI" xmi:id="ElementRefXMI4"
name="ref_outputPorts" ref="EReference5"/>
<ownedElementRef xsi:type="_1:ElementRefXMI" xmi:id="ElementRefXMI6"
name="ref_BlockB" ref="EClass2"/>
<ownedElementRef xsi:type="_1:ElementRefXMI" xmi:id="ElementRefXMI8"
name="ref_name" ref="EAttribute8"/>
</rightM>
</MatchModel>
------------------------------------------------------------ --------------------
and in this also i'm getting the same error
SEVERE: ****** BEGIN Stack Trace
SEVERE: exception:
SEVERE: The 'no null' constraint is violated
java.lang.IllegalArgumentException: The 'no null' constraint is violated
at org.eclipse.emf.common.util.BasicEList.validate(BasicEList.j ava:175)
at org.eclipse.emf.ecore.util.EcoreEList.validate(EcoreEList.ja va:63)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList. java:645)
at
org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUn ique(NotifyingListImpl.java:331)
at
org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUniq ue(NotifyingListImpl.java:315)
at org.eclipse.emf.common.util.BasicEList.add(BasicEList.java:6 26)
at
org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModelElement.set(A SMEMFModelElement.java:254)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:292)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:133)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:91)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:230)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:325)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:133)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:91)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:230)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.ASMInterpreter.<init>(ASMInterpreter.java:289)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:155)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:105)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:81)
at
org.eclipse.gmt.weaver.transformation.util.TransformationUti l.executeTransfo(TransformationUtil.java:103)
at
org.eclipse.gmt.weaver.transformation.panel.TransformationWe avingPanel$TAction.run(TransformationWeavingPanel.java:181)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:546)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:490)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:402)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 19)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:289)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:106)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:169)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:76)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:363)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
SEVERE: A.main() : ??#215 null
SEVERE: local variables = {null=right!ecore, self=AMWtoATL_Match :
ASMModule}
SEVERE: local stack = []
SEVERE: A.__exec__() : ??#8 null
SEVERE: local variables = {e=TransientLink {rule = 'Module',
sourceElements = {amw = IN!<notnamedyet>}, targetElements = {atl =
OUT!T_In2Out}, variables = {}}, self=AMWtoATL_Match : ASMModule}
SEVERE: local stack = []
SEVERE: A.__applyModule(1 : NTransientLink;) : ??#25 52:25-52:46
SEVERE: local variables = {atl=OUT!T_In2Out, amw=IN!<notnamedyet>,
link=TransientLink {rule = 'Module', sourceElements = {amw =
IN!<notnamedyet>}, targetElements = {atl = OUT!T_In2Out}, variables = {}},
self=AMWtoATL_Match : ASMModule}
SEVERE: local stack = [OUT!T_In2Out]
SEVERE: ****** END Stack Trace
INFO: Execution terminated due to error (see launch configuration to allow
continuation after errors).
SEVERE: null
java.lang.RuntimeException
at
org.eclipse.m2m.atl.engine.vm.SimpleDebugger.error(SimpleDeb ugger.java:185)
at
org.eclipse.m2m.atl.engine.vm.StackFrame.printStackTrace(Sta ckFrame.java:85)
at
org.eclipse.m2m.atl.engine.vm.StackFrame.printStackTrace(Sta ckFrame.java:77)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:163)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:133)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:91)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:230)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:325)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:133)
at
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny.invoke(ASM OclAny.java:91)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:230)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
at
org.eclipse.m2m.atl.engine.vm.ASMInterpreter.<init>(ASMInterpreter.java:289)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:155)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:105)
at org.eclipse.m2m.atl.engine.AtlLauncher.launch(AtlLauncher.ja va:81)
at
org.eclipse.gmt.weaver.transformation.util.TransformationUti l.executeTransfo(TransformationUtil.java:103)
at
org.eclipse.gmt.weaver.transformation.panel.TransformationWe avingPanel$TAction.run(TransformationWeavingPanel.java:181)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:546)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:490)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:402)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3682)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3293)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 19)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:289)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:106)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:169)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:76)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:363)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
Caused by: java.lang.IllegalArgumentException: The 'no null' constraint is
violated
at org.eclipse.emf.common.util.BasicEList.validate(BasicEList.j ava:175)
at org.eclipse.emf.ecore.util.EcoreEList.validate(EcoreEList.ja va:63)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList. java:645)
at
org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUn ique(NotifyingListImpl.java:331)
at
org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUniq ue(NotifyingListImpl.java:315)
at org.eclipse.emf.common.util.BasicEList.add(BasicEList.java:6 26)
at
org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModelElement.set(A SMEMFModelElement.java:254)
at
org.eclipse.m2m.atl.engine.vm.ASMOperation.realExec(ASMOpera tion.java:292)
at org.eclipse.m2m.atl.engine.vm.ASMOperation.exec(ASMOperation .java:161)
... 43 more
------------------------------------------------------------ ------------------
can u tell me for this example how to create the weaving model.
Thanks ,
venkatesh
|
|
|
|
|
|
|
Re: New user [message #470295 is a reply to message #470294] |
Thu, 25 June 2009 04:39   |
Eclipse User |
|
|
|
Hello,
You need to create links between the elements that you want to transform.
For instance, to transform "PortA" into "OutPortB", it is necessary to
create an "ElementLink" between these elements.
Once the links are created, the HOT that is executed always produce an ATL
model that follows the same format:
from
v_left : inelement
to
v_right : outelement
Then, you have two options:
1) manually complete the transformation that has been generated with the
desired code, for instance, the conditions.
2) create an extension to AMW that handles these more complex cases. In
this case, the extension is worthwhile only if it is going to be reused
systematically.
Regards,
Marcos.
|
|
|
|
Re: New user [message #470298 is a reply to message #470296] |
Thu, 25 June 2009 12:36  |
Eclipse User |
|
|
|
Hello,
ATL is a model transformation language that is very rich, with the
possibility to write from simple to very complex transformations
expressions. These expressions are used for evaluating/querying the model
elements that are going to be transformed.
AMW has a different goal with respect to model transformations. One of its
objectives is to help on the development of transformations, but not to
develop a whole transformation from scratch.
The typical setting for users of AMW and ATL is to initially define simple
links between models elements using the AMW GUI, than to generate the ATL
"skeleton", and than to complete it manually.
Thus, you should add the "refImmediateComposite()" expressions on the
generated model.
Regards,
Marcos
|
|
|
Powered by
FUDForum. Page generated in 0.05893 seconds