ГОСТ Р ИСО 10303-41—2022
relating_contract — один из участвующих в отношении объектов contract, представляющих
контракт.
Примечание — Определение смысла настоящего атрибута может содержаться или в EXPRESS-схемах
с примечаниями, в которых используется настоящий объект или его подтипы, или на основе соглашения об общем
понимании между партнерами, совместно использующими эту информацию;
related_contract — другой участвующий в отношении экземпляр представляющего контракт объ
екта contract. Если один из контрактов зависит от другого, роль настоящего атрибута должен играть
объект, представляющий зависимый контракт.
Примечание — Определение смысла настоящего атрибута может содержаться или в EXPRESS-схемах
с примечаниями, в которых используется настоящий объект или его подтипы, или на основе соглашения об общем
понимании между партнерами, совместно использующими эту информацию.
9.3.3 Объект contract_type
Объект contract_type представляет тип информации, передаваемой представленным объектом
contract контрактом.
Пример — Контракт организации, поставляющей товары другой организации, может быть ’фик
сированный’ или ’затраты плюс’.
EXPRESS-специФикаиия:
*)
ENTITY contract_type;
description : label;
END_ENTITY;
(*
"
Определение атрибута:
description — представленный строковым типом данных text текст, характеризующий представ
ленный объектом contract_type тип контракта. Присваивать этому атрибуту значение не обязательно.
Примечание — Определение смысла настоящего атрибута может содержаться или в EXPRESS-схемах
с примечаниями, в которых используется настоящий объект или его подтипы, или на основе соглашения об общем
понимании между партнерами, совместно использующими эту информацию.
9.4 Определения функций схемы contract_schema
9.4.1 Функция acyclic_contract_relationship
Функция acyclic_contract_relationship определяет, содержит ли образованный экземплярами
представляющих контракт объектов contract граф, содержащий в качестве одного из ребер объект
contract_relationship, играющий роль аргумента relation, цепочку ссылок, образующую цикл. Настоя
щая функция может использоваться для обработки графа, ребра которого образованы объектами соп-
tract_relationship или любыми подтипами этого объекта.
Функция возвращает значение TRUE (истина), если не было обнаружено циклов, в противном
случае функция возвращает значение FALSE (ложь).
Примечания
1 Алгоритм функции приведен в Е.2 (приложение Е).
2 Данная функция не используется в настоящей схеме. Определение функции приведено потому, что вдру
гих объединенных ресурсах стандартов серии ИСО 10303 и в прикладных протоколах, в которых используется
представляющие отношение между контрактами объекта contract_relationship, используется правило, обращаю
щееся к настоящей функции.
EXPRESS-спеииФикаиия:
*)
FUNCTION acyclic_contract_relationship (relation :contract_relationship;
relatives :SET[1:?] OF contract; specific_relation :STRING) :BOOLEAN;
LOCAL
x : SET OF contract_relationship;
END LOCAL;
46