RULE restrict_action_resource_requirement_for_process_operation FOR (action, action_resource_requirement); WHERE wr1: SIZEOF ( QUERY ( a <* action | ( a.name = 'process operation' ) AND ( SIZEOF ( QUERY ( arr <* USEDIN ( a , 'AUTOMOTIVE_DESIGN.'+'ACTION_RESOURCE_REQUIREMENT.'+ 'OPERATIONS' ) | arr. name = 'reference tool' ) ) >1 ) ) ) =0; wr2: SIZEOF ( QUERY ( arr <* action_resource_requirement | ( arr. name = 'reference tool' ) AND ( NOT ( 'AUTOMOTIVE_DESIGN.'+ 'REQUIREMENT_FOR_ACTION_RESOURCE' IN TYPEOF ( arr ) ) ) AND ( SIZEOF ( QUERY ( ar <* arr\ requirement_for_action_resource.resources | 'AUTOMOTIVE_DESIGN.'+ 'PRODUCT_DEFINITION_RESOURCE' IN TYPEOF ( ar ) ) ) <>1 ) ) ) =0; wr3: SIZEOF ( QUERY ( arr <* action_resource_requirement | ( arr. name<> 'reference tool' ) AND ( arr. name<> 'non reference tool' ) ) ) =0; END_RULE; -- restrict_action_resource_requirement_for_process_operation |
public class RRestrict_action_resource_requirement_for_process_operation public int rWr3(SdaiContext _context) public int rWr2(SdaiContext _context) public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |