RULE product_definition_with_identification_assignment

(* SCHEMA ship_structures_schema; *)
  RULE product_definition_with_identification_assignment FOR (
             applied_classification_assignment);

    LOCAL
      violation : LOGICAL := FALSE;
      t1_set    : SET OF product_definition := [];
      c_a_set   : SET OF applied_classification_assignment := [];
      arg_list  : LIST OF STRING := ['principal characteristics',
                   'class and statutory designation',
                   'freeboard characteristics','lightship definition',
                   'ship designation','shipyard designation',
                   'owner designation','assembly','corrugated part',
                   'plate boundary relationship','profile',
                   'versionable object'];
      t2_set    : SET OF product_definition := [];
    END_LOCAL;
    REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
      c_a_set := QUERY ( i <* applied_classification_assignment | (i.
          assigned_class.name = arg_list[j]) );
    END_REPEAT;
    REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
        t1_set := t1_set + c_a_set[i].items[j];
      END_REPEAT;
    END_REPEAT;
    REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
      t2_set := bag_to_set(USEDIN(t1_set[i],
          'SHIP_STRUCTURES_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
      violation := NOT (SIZEOF(t2_set) = 1);
    END_REPEAT;

  WHERE
    wr1: (NOT violation);

  END_RULE; -- product_definition_with_identification_assignment

[Top Level Definitions] [Exit]

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