|
RULE limd_unique_stratum FOR (stratum_armx, interconnect_module, 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 ( interconnect_module ) BY 1 ; imsar := bag_to_set ( USEDIN ( interconnect_module [ 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) |