RULE caused_when_for_envisaged_version_creation

(* SCHEMA ship_structures_schema; *)
  RULE caused_when_for_envisaged_version_creation FOR (
             applied_date_and_time_assignment, date_time_role, action);

    LOCAL
      violate : LOGICAL := FALSE;
      t1_set  : SET OF action := [];
      a_set   : SET OF applied_date_and_time_assignment := [];
    END_LOCAL;
    t1_set := QUERY ( a <* action | VALUE_IN(which_class(a),
        'envisaged version creation') );
    REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
      a_set := QUERY ( b <* applied_date_and_time_assignment | (VALUE_IN(b
          .items,t1_set[i]) AND (b.role.name = 'caused when')) );
      violate := SIZEOF(a_set) <> 1;
    END_REPEAT;

  WHERE
    wr1: (NOT violate);

  END_RULE; -- caused_when_for_envisaged_version_creation

[Top Level Definitions] [Exit]

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