RULE selected_instance_usage_requires_representation FOR (assembly_component_usage, representation); WHERE wr1: SIZEOF ( QUERY ( acr <* assembly_component_usage | ( acr. name = 'selected instance usage' ) AND ( SIZEOF ( QUERY ( pd <* USEDIN ( acr , 'AUTOMOTIVE_DESIGN.'+'PROPERTY_DEFINITION.'+ 'DEFINITION' ) | ( pd. name = 'occurrence selection' ) AND ( SIZEOF ( QUERY ( pdr <* USEDIN ( pd , 'AUTOMOTIVE_DESIGN.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'DEFINITION' ) | ( pdr. used_representation.name = 'selection criteria' ) AND ( SIZEOF ( pdr. used_representation.items ) =2 ) AND ( SIZEOF ( QUERY ( i <* pdr. used_representation.items | ( SIZEOF ( ['AUTOMOTIVE_DESIGN.'+ 'MEASURE_REPRESENTATION_ITEM' , 'AUTOMOTIVE_DESIGN.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) AND ( i.name = 'selection quantity' ) ) ) =1 ) AND ( SIZEOF ( QUERY ( i <* pdr. used_representation.items | ( 'AUTOMOTIVE_DESIGN.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( i.name = 'selection control' ) ) ) =1 ) ) ) >0 ) ) ) =0 ) ) ) =0; END_RULE; -- selected_instance_usage_requires_representation |
public class RSelected_instance_usage_requires_representation public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |