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

Simon Görke simon.goerke at ils.uni-stuttgart.de
Fri Dec 19 05:12:03 CST 2014


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




More information about the great-users mailing list