|
RULE restrict_process_product_association FOR (process_product_association); WHERE wr1: SIZEOF ( QUERY ( ppa <* process_product_association | NOT ( ppa . name IN [ 'input' , 'output' , 'produced output' ] ) ) ) = 0 ; wr2: SIZEOF ( QUERY ( ppa <* process_product_association | NOT ( ppa . name IN [ 'input' , 'output' ] ) OR ( SIZEOF ( QUERY ( ar <* USEDIN ( ppa . process , 'automotive_design.' + 'action_relationship.' + 'related_action' ) | ar . name = 'process operation occurrence' ) ) = 0 ) ) ) = 0 ; wr3: SIZEOF ( QUERY ( ppa <* process_product_association | ( ppa . name <> 'produced output' ) OR ( ( 'automotive_design.' + 'product_definition' IN TYPEOF ( ppa . defined_product ) ) AND ( SIZEOF ( QUERY ( prpc <* USEDIN ( ppa . defined_product \ product_definition . formation . of_product , 'automotive_design.product_related_product_category.products' ) | prpc . name IN [ 'part' , 'tool' , 'raw material' ] ) ) = 0 ) ) ) ) = 0 ; END_RULE; -- restrict_process_product_association |
|
public class RRestrict_process_product_association public int rWr3(SdaiContext _context) public int rWr2(SdaiContext _context) public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |