Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » ATL » [ATL] Transformation ends without output
[ATL] Transformation ends without output [message #1599302] Tue, 03 February 2015 14:31 Go to next message
Gunnar Arndt is currently offline Gunnar ArndtFriend
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 Go to previous messageGo to next message
Dennis Wagelaar is currently offline Dennis WagelaarFriend
Messages: 589
Registered: September 2012
Location: Belgium
Senior Member

Gunnar Arndt wrote on Tue, 03 February 2015 15:31
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.


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 Go to previous messageGo to next message
Gunnar Arndt is currently offline Gunnar ArndtFriend
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 #1608859 is a reply to message #1608445] Mon, 09 February 2015 20:25 Go to previous messageGo to next message
Dennis Wagelaar is currently offline Dennis WagelaarFriend
Messages: 589
Registered: September 2012
Location: Belgium
Senior Member

The ATL profiler can still be selected as an ATL VM, provided that you have the "ATL Profiler" feature installed. I've attached some screenshots:
index.php/fa/20773/0/
index.php/fa/20772/0/

The ASM library is available as an OSGi bundle in Eclipse Orbit. It should already be in your Eclipse plugins folder when you installed ATL EMFTVM. See attached screenshot:
index.php/fa/20771/0/


Cheers,
Dennis
Re: [ATL] Transformation ends without output [message #1609708 is a reply to message #1599302] Tue, 10 February 2015 09:32 Go to previous messageGo to next message
Gunnar Arndt is currently offline Gunnar ArndtFriend
Messages: 82
Registered: June 2012
Member
Dennis, thank you for your support. I'm going to look at EMFTVM once more as soon as possible.
There's still a problem with the ATL Profiler(s). The bundles are loaded:
WARNING: This console is connected to the current running instance of Eclipse!
osgi> ss atl.profiler
"Framework is launched."


id	State       Bundle
824	ACTIVE      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	ACTIVE      org.eclipse.m2m.atl.profiler.model_3.6.0.v201412161312
829	ACTIVE      org.eclipse.m2m.atl.profiler.ui_3.6.0.v201412161312
830	ACTIVE      org.eclipse.m2m.atl.profiler.vm_3.6.0.v201412161312

but as you can see from the screenshot, I can't select any of them.
index.php/fa/20776/0/
Do you have any clue what is going wrong?
  • Attachment: ATL.VMs.png
    (Size: 43.16KB, Downloaded 715 times)
Re: [ATL] Transformation ends without output [message #1613672 is a reply to message #1609708] Thu, 12 February 2015 20:38 Go to previous messageGo to next message
Dennis Wagelaar is currently offline Dennis WagelaarFriend
Messages: 589
Registered: September 2012
Location: Belgium
Senior Member

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 Go to previous message
Gunnar Arndt is currently offline Gunnar ArndtFriend
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

Previous Topic:ATL Operator for &&
Next Topic:Calling a lazy-rule
Goto Forum:
  


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

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

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

Back to the top