RULE restrict_configuration_design_for_product_class FOR (configuration_design, product_class); WHERE wr1: SIZEOF ( QUERY ( cd <* configuration_design | ( cd. name ='functionality' ) AND ( NOT ( 'AUTOMOTIVE_DESIGN.'+ 'PRODUCT_DEFINITION' IN TYPEOF ( cd. design ) ) OR ( cd. design\product_definition. frame_of_reference.name<> 'functional definition' ) ) ) ) =0; wr2: SIZEOF ( QUERY ( cd <* configuration_design | ( cd. name ='realization' ) AND ( NOT ( 'AUTOMOTIVE_DESIGN.'+ 'PRODUCT_DEFINITION' IN TYPEOF ( cd. design ) ) OR ( cd. design\product_definition. frame_of_reference.name<> 'conceptual definition' ) ) ) ) =0; wr3: SIZEOF ( QUERY ( cd <* configuration_design | ( cd. name IN ['functionality' , 'realization'] ) AND ( NOT ( 'AUTOMOTIVE_DESIGN.'+ 'PRODUCT_CLASS' IN TYPEOF ( cd. configuration.item_concept ) ) ) ) ) =0; wr4: SIZEOF ( QUERY (cd <* configuration_design | (cd.name = 'design constraint usage') AND (NOT('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR (cd.design\product_definition.frame_of_reference.name <> 'design constraint definition')))) = 0; wr5: SIZEOF ( QUERY ( cd <* configuration_design | ( cd. name = 'physical instance basis' ) AND ( NOT ( 'AUTOMOTIVE_DESIGN.'+ 'PRODUCT_DEFINITION' IN TYPEOF ( cd. design ) ) OR ( cd. design\product_definition. frame_of_reference.name<> 'physical occurrence' ) ) ) ) =0; wr6: SIZEOF ( QUERY ( cd <* configuration_design | ( cd. name = 'physical instance basis' ) AND ( NOT ( 'AUTOMOTIVE_DESIGN.'+ 'PRODUCT_IDENTIFICATION' IN TYPEOF ( cd. configuration ) ) ) ) ) =0; END_RULE; -- restrict_configuration_design_for_product_class |
public class RRestrict_configuration_design_for_product_class 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) |