[great-users] "run transform in memory" - restrictions?

Daniel Balasubramanian daniel at isis.vanderbilt.edu
Fri Dec 19 10:43:00 CST 2014


Hi Simon,

IIRC, the "run transform in memory" option copies your input model to a static data network (i.e., in-memory data network with a .mem file extension) at the beginning of execution, performs the transformation, and then copies the in-memory data network back to the output format you specified. You could try manually using udmcopy to copy the in-memory data network to the format you want and see if you get more debug output. Something like this if your final output is xml:

> udmcopy.exe created_model.mem created_model.xml paradigm.xml paradigm.xsd

And something like this if your final output is supposed to be a .mga:

> udmcopy.exe created_model.mem created_model.mga paradigm.xml paradigm.xsd

(You may be able to omit the .xsd parameter).

That may give some more informative debug info.

Hope this helps,
Daniel

-----Original Message-----
From: great-users-bounces at list.isis.vanderbilt.edu [mailto:great-users-bounces at list.isis.vanderbilt.edu] On Behalf Of Simon Görke
Sent: Friday, December 19, 2014 5:12 AM
To: great-users
Subject: [great-users] "run transform in memory" - restrictions?

Hi everybody,

I have a number of Great rules which execute properly when generated (and
compiled) with the (default) setting "run transform in memory"=false.
When I enable this option, rule execution crashes with "Udm exception: Role not found in model: <<empty string>>" or something along the lines of "pointer to static object no existing".
Looking at the prints to stdout, it  seems that the crash occours at the very end of rule execution, i.e. *after* the call to the very last rule. 

Are there any general restrictions regarding in-memory execution of which I should be aware of? E.g. the rules are pretty huge (>100k LOC generated) and make use of both intensive crosslinking (assumingly several hundred of
crosslinks) and global variables, could this be a problem?
After a (failed) run, one *.mem file remains for each meta model involved in the transformations, but no *.mem files exist for crosslinks or globalsvars (though I see some generated code to create those)?

Currently, I am trying to narrow down the problem using the VS Debugger; problem is that the release build takes hours to run into the exception, and the debug version is, of course, not better :-( Any ideas are highly appreciated...

Regards,
Simon


_______________________________________________
great-users mailing list
great-users at list.isis.vanderbilt.edu
http://list.isis.vanderbilt.edu/mailman/listinfo/great-users


More information about the great-users mailing list