RULE limd_unique_stratum FOR (stratum_armx, layered_interconnect_module_design_view_armx, stratum_technology_occurrence_armx); LOCAL s : BAG OF Stratum := []; imsar : BAG OF Interconnect_module_stratum_assembly_relationship := []; sto : BAG OF Stratum_technology_occurrence_armx := []; pass : BOOLEAN := TRUE; END_LOCAL; REPEAT i := 1 TO SIZEOF(Layered_interconnect_module_design_view_armx) BY 1; imsar := bag_to_set(USEDIN(Layered_interconnect_module_design_view_armx[i], 'LAYERED_INTERCONNECT_MODULE_DESIGN_XIM.INTERCONNECT_MODULE_STRATUM_ASSEMBLY_RELATIONSHIP.ASSEMBLY')); REPEAT j := 1 TO SIZEOF(imsar) BY 1; s := s + imsar[j].component; END_REPEAT; REPEAT j := 1 TO SIZEOF(s) BY 1; sto := sto + s[j].definition; END_REPEAT; IF (SIZEOF(sto) < SIZEOF(s)) THEN pass := FALSE; ESCAPE; END_IF; END_REPEAT; WHERE wr1: pass; END_RULE; -- limd_unique_stratum |
public class RLimd_unique_stratum public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |