ГОСТ Р ИСО 10303-41—2022
REPEAT i := 1 ТО HIINDEX(x);
IF NOT acyclic_general_property_relationship(x[i], relatives
+ relation.relating_property, specific_relation) THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
RETURN (TRUE);
END_FUNCTION;
(*
"
Определения параметров:
relation — (входной) проверяемый экземпляр представляющего отношение между общими свой
ствами объекта general_property_relationship;
relatives — (входной) набор представляющих общие свойства объектов general_property. Функ
ция проверяет, есть ли среди данного набора экземпляры, играющие роль атрибута relating_property
объекта general_property_relationship, играющего роль параметра relation;
specific_relation — (входной) полное квалифицированное наименование подтипа представляю
щего отношение между общими свойствами объекта general_property_relationship.
22.5.3 Функция acyclic_shape_aspect_occurrence
Функция acyclic_shape_aspect_occurrence определяет, содержит ли образованный экземпляра
ми представляющих производные аспекты формы объектов shape_aspect_occurrence граф, содержа
щий циклы. Граф строится при помощи атрибутов definition (определение).
Функция возвращает значение TRUE (истина), если не было обнаружено циклов, в противном
случае функция возвращает значение FALSE (ложь).
Примечание — Алгоритм функции приведен в Е.2 (приложение Е).
EXPRESS-спеииФикация:
*)
FUNCTION acyclic_shape_aspect_occurrence (sao :
shape_aspect_occurrence; definition :
shape_aspect_or_characterized_object) :BOOLEAN;
IF NOT
((’PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_OCCURRENCE’) IN
TYPEOF(definition)) THEN
RETURN (TRUE);
END_IF;
IF (definition :=: sao) THEN
RETURN (FALSE);
ELSE RETURN(acyclic_shape_aspect_occurrence(sao,
definition\shape_aspect_occurrence.definition));
END_IF;
END_FUNCTION;
(*
"
Определения параметров:
sao — (входной) проверяемый объект shape_aspect_occurrence, представляющий производный
аспект формы;
definition — (входной) проверяемый объект типа из списка выбора shape_aspect_occurrence.
Объект является представляющим аспект формы объектом shape_aspect или представляющим объ ект
с характеристиками объектом characterized_object.
22.5.4 Функция acyclic_shape_aspect_relationship
Функция acyclic_shape_aspect_relationship определяет, содержит ли образованный экземпля
рами представляющих аспекты формы объектов shape_ aspect граф, содержащий в качестве одного
из ребер объект shape_aspect_ relationship, играющий роль параметра relation, цепочку ссылок, об
разующую цикл. Настоящая функция может использоваться для обработки графа, ребра которого об
разованы объектами shape_aspect_relationship или любыми подтипами этого объекта.
Функция возвращает значение TRUE (истина), если не было обнаружено циклов, в противном
случае функция возвращает значение FALSE (ложь).
244