Community
Participate
Working Groups
For any rule of the form: rule R from a_in : in!A to b1_out : out!B, b2_out : out!B it would be useful to be able to access directly a specific output variable from the result of an application of R in another rule; for instance: rule R2 from c_in : in!C to d_out : out!D { c.elements = c_in.getA().equivalent('R').***b1_out***; ... Currently, using equivalent, even with a filter, will return one of the output (possibly the first?). When the called rule has only one output of type T then one can filter with selectByKind(T) and obtain the desired output; but in this case, both outputs of R have the same type, making it impossible to select one over another. A solution would be to add a Tuble to the called rule: rule R from a_in : in!A to b1_out : out!B, b2_out : out!B, Tb : Tuple { ... Tb.b1_out = b1_out; Tb.b2_out = b2_out; } rule R2 from c_in : in!C to d_out : out!D { c.elements = c_in.getA().equivalent('R').selectByKind(Tuble).b1_out; ... The issue (+ a valid example) has been more thoroughly discussed here: https://www.eclipse.org/forums/index.php/m/1843090/