Skip to main content


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
Stefan W.Friend
Messages: 6
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 381 times)
  • Attachment: mof2cim.atl
    (Size: 9.65KB, Downloaded 393 times)
  • Attachment: cim.ecore
    (Size: 12.17KB, Downloaded 355 times)
Re: [ATL] Transformation execution time [message #780276 is a reply to message #780198] Tue, 17 January 2012 14:19 Go to previous message
Stefan W.Friend
Messages: 6
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: Fri Apr 19 10:16:40 GMT 2024

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

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

Back to the top