(* SCHEMA ship_structures_schema; *)
RULE shape_aspect_for_composite_feature_has_at_least_two_instances FOR (
shape_aspect, applied_classification_assignment);
LOCAL
violation : LOGICAL := FALSE;
c_a_set : SET OF applied_classification_assignment := [];
t2_set : SET OF shape_aspect := [];
classed_s_a_set : SET OF shape_aspect := [];
END_LOCAL;
c_a_set := QUERY ( i <* applied_classification_assignment | (i.
assigned_class.name = 'composite feature') );
REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
classed_s_a_set := classed_s_a_set + c_a_set[i].items[j];
END_REPEAT;
END_REPEAT;
c_a_set := [];
REPEAT i := 1 TO HIINDEX(classed_s_a_set) BY 1 WHILE NOT violation;
t2_set := bag_to_set(USEDIN(classed_s_a_set[1],
'SHIP_STRUCTURES_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
'RELATING_SHAPE_ASPECT'));
violation := NOT (SIZEOF(t2_set) = 2);
END_REPEAT;
WHERE
wr1: (NOT violation);
END_RULE; -- shape_aspect_for_composite_feature_has_at_least_two_instances
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:03-04:00