Overview Schemas Index

PART_OCCURRENCE_MIM (jsdai.SPart_occurrence_mim)


RULE restrict_part_occurrence FOR (product_definition);
 LOCAL part_occurrences : SET OF product_definition := QUERY ( pd <* product_definition | ( pd . frame_of_reference . name = 'part occurrence' ) ) ; END_LOCAL ; 
WHERE
          wr1:  SIZEOF ( QUERY ( pd <* part_occurrences | ( NOT ( pd . name IN [ 'single instance' , 'selected instance' , 'quantified instance' , 'specified instance' ] ) ) ) ) = 0 ;
          wr2:  SIZEOF  ( QUERY  ( pd <* part_occurrences | ( SIZEOF  ( QUERY  ( pdr <* USEDIN  ( pd , 'part_occurrence_mim.' + 'product_definition_relationship.related_product_definition' ) | pdr . name = 'definition usage' ) ) <> 1 ) AND  ( SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'part_occurrence_mim.' + 'configuration_design.design' ) | ( cd . name = 'occurrence usage definition' ) AND ( NOT ( 'part_occurrence_mim.' + 'product_identification' IN TYPEOF ( cd . configuration ) ) ) ) ) <> 1 ) ) ) = 0 ;
          wr3:  SIZEOF  ( QUERY  ( pd <* part_occurrences | ( SIZEOF  ( QUERY ( cd <* USEDIN  ( pd , 'part_occurrence_mim.' + 'product_definition_relationship.related_product_definition' ) | ( 'part_occurrence_mim.' + 'product_definition_usage' IN TYPEOF ( cd ) ) ) ) = 0 ) AND ( SIZEOF ( USEDIN ( pd , 'part_occurrence_mim.' + 'product_definition_occurrence_relationship.occurrence' ) ) = 0 ) ) ) = 0 ;
          wr4:  SIZEOF ( QUERY ( pd <* part_occurrences | ( pd . name = 'selected instance' ) AND NOT valid_selected_instance_representation ( pd ) ) ) = 0 ;
          wr5:  SIZEOF  ( QUERY  ( pd <* part_occurrences | ( pd . name = 'quantified instance' ) AND  ( SIZEOF  ( QUERY  ( ppd <* USEDIN  ( pd , 'part_occurrence_mim.' + 'property_definition.definition' ) | ( ppd . name = 'occurrence quantity' ) AND  ( SIZEOF  ( QUERY  ( pdr <* USEDIN ( ppd , 'part_occurrence_mim.' + 'property_definition_representation.definition' ) | ( pdr . used_representation . name = 'quantity' ) AND  ( SIZEOF  ( pdr . used_representation . items ) = 1 ) AND  ( SIZEOF ( QUERY ( i <* pdr . used_representation . items | ( 'part_occurrence_mim.' + 'measure_representation_item' IN TYPEOF ( i ) ) AND ( i . name = 'quantity measure' ) ) ) = 1 ) ) ) = 1 ) ) ) = 0 ) ) ) = 0 ;
          wr6:  SIZEOF  ( QUERY  ( pd <* part_occurrences | ( pd . name = 'specified instance' ) AND ( SIZEOF ( QUERY ( pdor <* USEDIN ( pd , 'part_occurrence_mim.' + 'product_definition_occurrence_relationship.occurrence' ) | 'part_occurrence_mim.' + 'specified_higher_usage_occurrence' IN TYPEOF ( pdor . occurrence_usage ) ) ) = 0 ) ) ) = 0 ;
END_RULE; -- restrict_part_occurrence

public class RRestrict_part_occurrence
          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)