[ATL] Transformation ends without output [message #1599302] |
Tue, 03 February 2015 14:31 |
Gunnar Arndt Messages: 82 Registered: June 2012 |
Member |
|
|
Hi members,
I've been using ATL quite successfully for months in production, but now I've run into a strange problem:
When executing the transformation via a launch config, it runs apparently smoothly for about half an hour, prints a lot of promising debug output, and then just stops without an output file. No error message is printed.
When executing it programatically via ATLPlugin, there is an exception after a few minutes ('parameters ' is an attribute of the output model):
org.eclipse.m2m.atl.engine.emfvm.VMException: Unable to access parameters on OclUndefined
I know the meaning of that message, but I cannot trace its origin as there are no links into the ATL code, as if it were executed via a launch config.
The input file is about 4 MB large, which is only medium-sized in my project's context. I'm using EMFVM of ATL 3.6, and I cannot easily switch to EMFTVM because of its dependencies.
Can you give me a hint why the two ways of executing the transformation behave so differently? I appreciate any input.
|
|
|
Re: [ATL] Transformation ends without output [message #1599462 is a reply to message #1599302] |
Tue, 03 February 2015 16:57 |
|
Gunnar Arndt wrote on Tue, 03 February 2015 15:31Hi members,
I've been using ATL quite successfully for months in production, but now I've run into a strange problem:
When executing the transformation via a launch config, it runs apparently smoothly for about half an hour, prints a lot of promising debug output, and then just stops without an output file. No error message is printed.
When executing it programatically via ATLPlugin, there is an exception after a few minutes ('parameters ' is an attribute of the output model):
org.eclipse.m2m.atl.engine.emfvm.VMException: Unable to access parameters on OclUndefined
I know the meaning of that message, but I cannot trace its origin as there are no links into the ATL code, as if it were executed via a launch config.
The input file is about 4 MB large, which is only medium-sized in my project's context. I'm using EMFVM of ATL 3.6, and I cannot easily switch to EMFTVM because of its dependencies.
Can you give me a hint why the two ways of executing the transformation behave so differently? I appreciate any input.
With an ATLPlugin, behaviour tends to differ from the GUI launcher wherever the input parameters/environment of the ATL VM differ, e.g. the way you load your (meta-)models. It's very hard to guarantee the same behaviour.
Half an hour is very bad performance for a 4 MB model. This can likely be optimised to < 10 seconds. Try the ATL profiler to find any bottlenecks.
Finding the root cause of your problem requires a full setup: ATL source code, input (meta-)models and launch configs.
Out of curiosity: which EMFTVM dependencies are problematic?
Cheers,
Dennis
|
|
|
Re: [ATL] Transformation ends without output [message #1608445 is a reply to message #1599302] |
Mon, 09 February 2015 14:21 |
Gunnar Arndt Messages: 82 Registered: June 2012 |
Member |
|
|
Dennis, thanks for your reply.
The actual problem was that an object transformed by a unique lazy rule called the transformation of another object, which referred back to the first one before its output was complete. That could be solved by splitting the rule in two, i.e. by creating a separate rule for a contained output object.
About EMFTVM's dependencies : I don't have time to test that right now, but from the last time I did, I remember that EMFTVM required org.objectweb.asm, which was not available as an OSGi plug-in, so I had to create one manually. However, I got it to work (and I probably know better ways to do that now).
You suggest to use the ATL profiler - it is installed in my Eclipse, but I have not found a way to actually use it. ATL 3.1 release note suggest it can be activated in the VM selection, but there is no way to do that in ATL 3.5.
Can you give me a hint where to search?
[Updated on: Mon, 09 February 2015 14:39] Report message to a moderator
|
|
|
|
|
Re: [ATL] Transformation ends without output [message #1613672 is a reply to message #1609708] |
Thu, 12 February 2015 20:38 |
|
OK, I really don't know how you did that. You seem to be using an official ATL build (http://download.eclipse.org/mmt/atl/updates/milestones/3.6/S201412161312/), which comes from the Hudson build system; same for me. Do you have any doubles in the plugin list, e.g. two versions of the same plugin?
That said, your OSGi console output does not match mine: at first I get:
osgi> ss atl
"Framework is launched."
id State Bundle
1498 RESOLVED com.atlassian.connector.commons_4.0.0.v20130328
1499 ACTIVE com.atlassian.connector.eclipse.bamboo.core_3.0.8.v20130328
1500 ACTIVE com.atlassian.connector.eclipse.bamboo.ui_3.0.8.v20130328
1501 ACTIVE com.atlassian.connector.eclipse.branding.ui_3.0.8.v20130328
1502 STARTING com.atlassian.connector.eclipse.commons.core_3.0.8.v20130328
1503 ACTIVE com.atlassian.connector.eclipse.commons.ui_3.0.8.v20130328
1504 ACTIVE com.atlassian.connector.eclipse.core_3.0.8.v20130328
1505 STARTING com.atlassian.connector.eclipse.crucible.core_3.0.7.v20130328
1506 STARTING com.atlassian.connector.eclipse.crucible.ui_3.0.7.v20130328
1507 ACTIVE com.atlassian.connector.eclipse.directclickthrough.ui_3.0.8.v20130328
1508 STARTING com.atlassian.connector.eclipse.fisheye.core_3.0.7.v20130328
1509 STARTING com.atlassian.connector.eclipse.fisheye.ui_3.0.7.v20130328
1510 STARTING com.atlassian.connector.eclipse.help_3.0.8.v20130328
1511 ACTIVE com.atlassian.connector.eclipse.jira.core_3.0.8.v20130328
1512 ACTIVE com.atlassian.connector.eclipse.jira.ui_3.0.8.v20130328
1513 STARTING com.atlassian.connector.eclipse.monitor.core_3.0.8.v20130328
1514 ACTIVE com.atlassian.connector.eclipse.monitor.ui_3.0.8.v20130328
1515 STARTING com.atlassian.connector.eclipse.ui_3.0.8.v20130328
2105 STARTING org.eclipse.modisco.util.atl.core_0.12.1.201408191633
2736 STARTING org.eclipse.m2m.atl_3.6.0.v201501081942
2737 ACTIVE org.eclipse.m2m.atl.adt_3.6.0.v201501081942
2738 STARTING org.eclipse.m2m.atl.adt.debug_3.6.0.v201501081942
2739 STARTING org.eclipse.m2m.atl.adt.editor_3.6.0.v201501081942
2740 ACTIVE org.eclipse.m2m.atl.adt.ui_3.6.0.v201501081942
2741 STARTING org.eclipse.m2m.atl.cheatsheets_3.6.0.v201501081942
2742 ACTIVE org.eclipse.m2m.atl.common_3.6.0.v201501081942
2743 STARTING org.eclipse.m2m.atl.core_3.6.0.v201501081942
2744 RESOLVED org.eclipse.m2m.atl.core.ant_3.6.0.v201501081942
2745 RESOLVED org.eclipse.m2m.atl.core.emf_3.6.0.v201501081942
2746 ACTIVE org.eclipse.m2m.atl.core.ui_3.6.0.v201501081942
2747 STARTING org.eclipse.m2m.atl.core.ui.vm_3.6.0.v201501081942
2748 STARTING org.eclipse.m2m.atl.debug.core_3.6.0.v201501081942
2749 STARTING org.eclipse.m2m.atl.doc_3.6.0.v201501081942
2750 RESOLVED org.eclipse.m2m.atl.drivers.emf4atl_3.6.0.v201501081942
2751 RESOLVED org.eclipse.m2m.atl.drivers.uml24atl_3.6.0.v201501081942
2752 STARTING org.eclipse.m2m.atl.dsls_3.6.0.v201501081942
2753 ACTIVE org.eclipse.m2m.atl.emftvm_3.6.0.v201501081942
2754 ACTIVE org.eclipse.m2m.atl.emftvm.ant_3.6.0.v201501081942
2755 STARTING org.eclipse.m2m.atl.emftvm.compiler_3.6.0.v201501081942
2756 STARTING org.eclipse.m2m.atl.emftvm.edit_3.6.0.v201501081942
2757 STARTING org.eclipse.m2m.atl.emftvm.editor_3.6.0.v201501081942
2758 ACTIVE org.eclipse.m2m.atl.emftvm.launcher_3.6.0.v201501081942
2759 STARTING org.eclipse.m2m.atl.emftvm.trace_3.6.0.v201501081942
2760 STARTING org.eclipse.m2m.atl.emftvm.trace.edit_3.6.0.v201501081942
2761 STARTING org.eclipse.m2m.atl.emftvm.trace.editor_3.6.0.v201501081942
2762 ACTIVE org.eclipse.m2m.atl.engine_3.6.0.v201501081942
2763 STARTING org.eclipse.m2m.atl.engine.emfvm_3.6.0.v201501081942
2764 STARTING org.eclipse.m2m.atl.engine.emfvm.launch_3.6.0.v201501081942
2765 STARTING org.eclipse.m2m.atl.engine.vm_3.6.0.v201501081942
2766 STARTING org.eclipse.m2m.atl.examples_3.6.0.v201501081942
2767 STARTING org.eclipse.m2m.atl.profiler.core_3.6.0.v201501081942
2768 STARTING org.eclipse.m2m.atl.profiler.emfvm_3.6.0.v201501081942
2769 STARTING org.eclipse.m2m.atl.profiler.exportmodel_3.6.0.v201501081942
2770 STARTING org.eclipse.m2m.atl.profiler.exportmodel.editor_3.6.0.v201501081942
2771 STARTING org.eclipse.m2m.atl.profiler.model_3.6.0.v201501081942
2772 STARTING org.eclipse.m2m.atl.profiler.ui_3.6.0.v201501081942
2773 STARTING org.eclipse.m2m.atl.profiler.vm_3.6.0.v201501081942
osgi> diag org.eclipse.m2m.atl.profiler.emfvm
org.eclipse.m2m.atl.profiler.emfvm [2768]
No resolution report for the bundle.
Then, after I use the profiler once:
osgi> ss atl.profiler
"Framework is launched."
id State Bundle
2767 ACTIVE org.eclipse.m2m.atl.profiler.core_3.6.0.v201501081942
2768 ACTIVE org.eclipse.m2m.atl.profiler.emfvm_3.6.0.v201501081942
2769 STARTING org.eclipse.m2m.atl.profiler.exportmodel_3.6.0.v201501081942
2770 STARTING org.eclipse.m2m.atl.profiler.exportmodel.editor_3.6.0.v201501081942
2771 ACTIVE org.eclipse.m2m.atl.profiler.model_3.6.0.v201501081942
2772 ACTIVE org.eclipse.m2m.atl.profiler.ui_3.6.0.v201501081942
2773 STARTING org.eclipse.m2m.atl.profiler.vm_3.6.0.v201501081942
How did you manage to get all profiler plugins in the ACTIVE state without using them?
Cheers,
Dennis
|
|
|
Re: [ATL] Transformation ends without output [message #1619448 is a reply to message #1599302] |
Mon, 16 February 2015 15:37 |
Gunnar Arndt Messages: 82 Registered: June 2012 |
Member |
|
|
That's simple: I started the plugins manually because the profiler was not offered in the UI - but that didn't change anything. Normally, it looks like this:
osgi> ss atl.profiler
"Framework is launched."
id State Bundle
824 STARTING org.eclipse.m2m.atl.profiler.core_3.6.0.v201412161312
825 ACTIVE org.eclipse.m2m.atl.profiler.emfvm_3.6.0.v201412161312
826 ACTIVE org.eclipse.m2m.atl.profiler.exportmodel_3.6.0.v201412161312
827 ACTIVE org.eclipse.m2m.atl.profiler.exportmodel.editor_3.6.0.v201412161312
828 STARTING org.eclipse.m2m.atl.profiler.model_3.6.0.v201412161312
829 STARTING org.eclipse.m2m.atl.profiler.ui_3.6.0.v201412161312
830 ACTIVE org.eclipse.m2m.atl.profiler.vm_3.6.0.v201412161312
[Updated on: Mon, 16 February 2015 15:41] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.04635 seconds