FUNCTION acyclic_group_relationship

(* SCHEMA STRUCTURAL_FRAME_SCHEMA; *)

(* Modified for LPM/6 *)
FUNCTION acyclic_group_relationship
  (relation          : group_relationship;
   relatives         : SET [1:?] OF group;
   specific_relation : STRING) : BOOLEAN;
  LOCAL
    x                : SET OF group_relationship;
  END_LOCAL;
  IF relation.relating_group IN relatives THEN 
    RETURN (FALSE);
  END_IF;
  x := QUERY (grp <* bag_to_set 
             (USEDIN (relation.relating_group,
             'STRUCTURAL_FRAME_SCHEMA.' + 
             'GROUP_RELATIONSHIP.' +
             'RELATED_GROUP')) |
              specific_relation IN TYPEOF (grp));
  REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_group_relationship
      (x[i], 
       relatives + relation.relating_group, 
       specific_relation) THEN
      RETURN(FALSE);
    END_IF;
  END_REPEAT;
  RETURN(TRUE);
END_FUNCTION; (* STEP Part 41 2nd edition *)

Referenced By

Defintion acyclic_group_relationship is references by the following definitions:
DefinitionType
 group_usage ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2023-03-25T00:11:39-04:00