RULE shape_aspect_for_composite_feature_has_at_least_two_instances

(* 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

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:03-04:00