Community
Participate
Working Groups
If an ATL transformation is run against a UML model which has a profile attached that is, a) not exported using a EMF URL PATHMAP or b) not located on the file system locally, then ATL will crash with the following exception: org.eclipse.m2m.atl.engine.emfvm.VMException Java Stack: org.eclipse.m2m.atl.engine.emfvm.VMException at org.eclipse.m2m.atl.engine.emfvm.adapter.UML2ModelAdapter.finalizeModel(UML2ModelAdapter.java:51) at org.eclipse.m2m.atl.engine.emfvm.lib.ExecEnv.terminated(ExecEnv.java:2557) at org.eclipse.m2m.atl.engine.emfvm.ASM.run(ASM.java:210) at org.eclipse.m2m.atl.engine.emfvm.launch.EMFVMLauncher.internalLaunch(EMFVMLauncher.java:170) at org.eclipse.m2m.atl.engine.emfvm.launch.EMFVMUILauncher.launch(EMFVMUILauncher.java:46) at org.eclipse.m2m.atl.core.service.LauncherService.launch(LauncherService.java:136) at com.ericsson.ecim.launcher.transformations.M2MLauncher.convert(M2MLauncher.java:68) at com.ericsson.ecim.launcher.transformations.internal.TransformationJob.run(TransformationJob.java:127) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:600) at org.eclipse.m2m.atl.engine.emfvm.adapter.UML2ModelAdapter.applyDelayedInvocations(UML2ModelAdapter.java:136) at org.eclipse.m2m.atl.engine.emfvm.adapter.UML2ModelAdapter.finalizeModel(UML2ModelAdapter.java:49) ... 8 more Caused by: java.lang.IllegalArgumentException: org.eclipse.uml2.uml.internal.impl.ProfileImpl@42c642c6 (eProxyURI: pathmap://SOAML/SoaML.epx#_ut1IIGfDEdy6JoIZoRRqYw?SoaML?) at org.eclipse.uml2.uml.internal.operations.PackageOperations.applyProfile(PackageOperations.java:526) at org.eclipse.uml2.uml.internal.impl.PackageImpl.applyProfile(PackageImpl.java:1053) ... 14 more It would be better if ATL could just ignore profiles that it cannot resolve. This scenario occurs if a tool, like IBM RSA, does not use standard EMF Pathmaps. They use GMF style pathmaps. We can avoid the exception normally by exposing profiles we use as both GMF and EMF pathmaps. However, if a modeller add a previously unknown profile without assigning a EMF pathmap then ATL will fail with the above exception. This bug happens will all versions of ATL from 3.0 upwards. java.fullversion=JRE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260sr7-20091214_49398 (JIT enabled, AOT enabled)