RULE restrict_product_definition_context_for_product FOR (product_definition, product_related_product_category); WHERE wr1: SIZEOF ( QUERY ( pd <* product_definition | ( pd. frame_of_reference.name IN [ 'part definition' , 'part occurrence' ] ) AND ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd. formation.of_product , 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | prpc. name IN ['part' , 'raw material' , 'tool'] ) ) =0 ) ) ) =0; wr2: SIZEOF ( QUERY ( pd <* product_definition | ( pd. frame_of_reference.name = 'functional definition' ) AND ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd. formation.of_product , 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | prpc. name ='functionality' ) ) =0 ) ) ) =0; wr3: SIZEOF ( QUERY ( pd <* product_definition | ( pd. frame_of_reference.name = 'conceptual definition' ) AND ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd. formation.of_product , 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | prpc. name = 'conceptual product' ) ) =0 ) ) ) =0; wr4: SIZEOF ( QUERY ( pd <* product_definition | ( pd. frame_of_reference.name = 'alternative definition' ) AND ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd. formation.of_product , 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | prpc. name = 'alternative solution' ) ) =0 ) ) ) =0; wr5: SIZEOF ( QUERY ( pd <* product_definition | ( pd. frame_of_reference.name = 'design constraint definition' ) AND ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd. formation.of_product , 'AUTOMOTIVE_DESIGN.'+'PRODUCT_RELATED_PRODUCT_CATEGORY.'+ 'PRODUCTS' ) | prpc. name ='requirement' ) ) =0 ) ) ) =0; wr6: SIZEOF ( QUERY ( pd <* product_definition | ( pd. frame_of_reference.name = 'physical occurrence' ) AND ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd. formation.of_product , 'AUTOMOTIVE_DESIGN.'+'PRODUCT_RELATED_PRODUCT_CATEGORY.'+ 'PRODUCTS' ) | prpc. name = 'physically realized product' ) ) =0 ) ) ) =0; wr7: SIZEOF ( QUERY ( pd <* product_definition | ( pd. frame_of_reference.name = 'physical document definition' ) AND ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd. formation.of_product , 'AUTOMOTIVE_DESIGN.'+'PRODUCT_RELATED_PRODUCT_CATEGORY.'+ 'PRODUCTS' ) | prpc. name ='document' ) ) =0 ) ) ) =0; END_RULE; -- restrict_product_definition_context_for_product |
public class RRestrict_product_definition_context_for_product public int rWr7(SdaiContext _context) public int rWr6(SdaiContext _context) public int rWr5(SdaiContext _context) public int rWr4(SdaiContext _context) public int rWr3(SdaiContext _context) public int rWr2(SdaiContext _context) public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |