RULE class_notation_with_named_representation_items

(* SCHEMA ship_structures_schema; *)
  RULE class_notation_with_named_representation_items FOR (representation, 
             representation_item, property_definition_representation);

    LOCAL
      violation : LOGICAL := FALSE;
      arg_list  : LIST OF STRING := ['class notations hull',
                   'class notations machinery'];
      reps      : BAG OF representation := [];
    END_LOCAL;
    reps := QUERY ( temp_rep <* representation | (SIZEOF(
        QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,
        'SHIP_STRUCTURES_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 
        'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 
        'class notation') )) > 0) );
    REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;
      REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;
        violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.
            name = arg_list[j]) )) < 1;
      END_REPEAT;
    END_REPEAT;

  WHERE
    wr1: (NOT violation);

  END_RULE; -- class_notation_with_named_representation_items

[Top Level Definitions] [Exit]

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