Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » M2M (model-to-model transformation) » [ATL] Transformation execution time(My transformation seems to run endlessly)
[ATL] Transformation execution time [message #780198] Tue, 17 January 2012 11:03 Go to next message
JK-MS-Flip-Flop Missing name is currently offline JK-MS-Flip-Flop Missing nameFriend
Messages: 4
Registered: October 2011
Junior Member
Hi,
I'm developing an application for CIM (Common Information Model) models.

Since CIM models are saved as MOF (Managed Object Format -> This is different to Meta-Object Facility!) files, I have to parse these files. Unfortunately the MOF language structure does not allow to parse it directly to CIM models, so I create a intermediate model for the MOF file structure and I want to transform it to the final CIM model.

When I launch this transformation it seems to run endlessly. I have aborted the execution after 20 minutes...

The model I have to translate contains 1764 classes (of type mof!ClassDeclaration) and many more contained attributes and so on. So it is very huge model...

I have attached the metamodels and my ATL transformation file.

- Can you help me with this?
- Can you check whether my transformation file is optimal? Maybe there is some inefficient code.
- Do you have some experience about transformation of large models and about the time it may take? Is ATL an efficient way to do this?

Thank your very much for your help!

Best regards,
Stefan
  • Attachment: mof.ecore
    (Size: 11.01KB, Downloaded 77 times)
  • Attachment: mof2cim.atl
    (Size: 9.65KB, Downloaded 91 times)
  • Attachment: cim.ecore
    (Size: 12.17KB, Downloaded 70 times)
Re: [ATL] Transformation execution time [message #780276 is a reply to message #780198] Tue, 17 January 2012 14:19 Go to previous message
JK-MS-Flip-Flop Missing name is currently offline JK-MS-Flip-Flop Missing nameFriend
Messages: 4
Registered: October 2011
Junior Member
Hi,

I've tried further and my transformation is now working properly and in reasonable time.

What has gone wrong:

In rule Qualifier2Qualifier I have to generate a reference to a corresponding QualifierType. My previous solution was to iterate over all QualifierTypes to find the right one:

...
QualifierTypeRef <- cim!QualifierType->allInstances()->select(qt | qt.Name.toLower() = mofQualifier.name.toLower())->first(),
...


This has taken up to 1 second per qualifier. Unfortunately there are more than 32,000 qualifiers in my model. So this is the reason why transformation has run endlessly.

My current workaround is to not generate this reference - do you have an idea how I can optimize above iteration to run much faster?

Thank you very much for your help in advance!

Best regards,
Stefan
Previous Topic:Qvto Trace file through Java
Next Topic:[ATL] ATL plugin : path problem (Resolved)
Goto Forum:
  


Current Time: Sat Dec 20 09:54:48 GMT 2014

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

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