[ATL] Unique lazy rules with multiple arguments [message #510783] |
Thu, 28 January 2010 15:51 |
Marcel Messages: 54 Registered: July 2009 |
Member |
|
|
Hello,
I have a source model in which a class (with a statemachine) can be instantiated multiple times as an object.
In the target model code has to be generated for each of the objects.
I do this using unique lazy rules with two arguments:
unique lazy rule Vertex2If_Stmnt{
from v_in : slco!Vertex,
o_in : slco!Object
to b_out: promela!block_stmnt(..)
}
For every Vertex/Object pair this rule is called. For example, for one vertex the rule may be called three times for different objects:
Vertex1/Object1
Vertex1/Object2
Vertex1/Object3
I expect that target elements are generated for every unique pair of Vertex/Object, so three in this example.
This is, however, not the case. Target elements are generated only for one Vertex/Object pair.
It looks like ATL only looks at the Vertex in this example, since this element is the same with every call to the unique lazy rule.
Am I doing something wrong here?
At first I tried not to use unique lazy rules, but just a resolveTemp() operation. However, I was unable to use resolveTemp() on a lazy rule with multiple source elements.
If someone knows how to do that, that would also be of help.
Regards,
Marcel
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02197 seconds