ГОСТ Р ИСО 10303-41—2022
effectivity_end_id — завершающий разрешенный порядковый номер. Если настоящему атрибуту
не присвоено значение, интервал не имеет верхней границы.
12.4.9 Объект time_interval_based_effectivity
Объект time_interval_based_effectivity является таким подтипом представляющего применя
емость объекта effectivity, который представляет применяемость, определяемую посредством пред
ставленного объектом time_interval интервала времени.
Примечание — Настоящий объектный тип данных предоставляет больше функциональных возможно
стей, чем объект dated_effectivity, представляющий применяемость, определяемую датой. В частности, настоя
щий объект позволяет задать применяемость, определяемую датой и продолжительностью.
EXPRESS-спеииФикаиия:
*)
ENTITY time_interval_based_effectivity
SUBTYPE OF (effectivity);
effectivity_period :time_interval;
END_ENTITY;
(*
"
Определение атрибута:
effectivity_period — объект tim ejnterval, представляющий интервал времени, на протяжении
которого действительны связанные данные об изделии.
12.5Определения функций схемы effectivity_schema
12.5.1 Функция acyclic_effectivity_relationship
Функция acyclic_effectivity_relationship определяет, содержит ли образованный экземплярами
представляющих применяемости объектов effectivity граф, содержащий в качестве одного из ребер
объект effectivity_relationship, играющий роль параметра relation, цепочку ссылок, образующую цикл.
Настоящая функция может использоваться для обработки графа, ребра которого образованы объекта ми
effectivity_relationship или любыми подтипами этого объекта.
Функция возвращает значение TRUE (истина), если не было обнаружено циклов, в противном
случае функция возвращает значение FALSE (ложь).
Примечания
1 Алгоритм функции приведен в Е.2 (приложение Е).
2 Данная функция не используется в настоящей схеме. Определение функции приведено потому, что в дру
гих объединенных ресурсах стандартов серии ИСО 10303 и в прикладных протоколах, в которых используется
представляющий отношение между применяемостями объект effectivity_relationship, используется правило, об
ращающееся к настоящей функции.
EXPRESS-специФикаиия:
*)
FUNCTION acyclic_effectivity_relationship (relation :
effectivity_relationship; relatives :SET[1:?] OF effectivity;
specific_relation :STRING) :BOOLEAN;
LOCAL
x :SET OF effectivity_relationship;
END_LOCAL;
IF relation.relating_effectivity IN relatives
THEN
RETURN(FALSE);
END_IF;
x := QUERY(eff
<*
bag_to_set(USEDIN(relation.relating_effectivity,
’EFFECTIVITY_SCHEMA.EFFECTIVITY_RELATIONSHIP.RELATED_EFFECTIVITY’))
|specific_relation IN TYPEOF(eff));
REPEAT i := 1 TO HIINDEX(x);
IF NOT acyclic_effectivity_relationship(x[i], relatives +
78