ГОС! Р ИСО 10303-203-2003
(versioned_action. request. action_requestjsolution);
WHERE
WRI: SIZEOF (QUERY (ar <4 versioned_action_request |
NOT (SIZEOF (QUERY (ars <* action_requesi_solution |
ar :=: ars.request)) >= 1))) = 0;
END_RULE;
•)
Описания аргументов
versioned_action_rcqucst —идентифицирует набор всех экземпляров объекта versioned_ac-
tionrequest;
action_rcqucst_solution — идентифицирует набор всех экземпляров объекта action_request_solu-
tion.
Формальное утверждение
WRI —для каждого экземпляра объекта versioned_action_request должен существовать только
один экземпляр объекта action_request_solution, содержащий значение атрибута request, соответст
вующее данному объекту versk>ned_action_request.
5.2.5.19 Правило unique_version__change_ order_rule
Правило unique_version_change_ordcr_rule вызывает функцию, которая возвращает значение
“true*’, если объект change изменяет несколько объектов product_definition_formation. а каждый
измененный объект product_definit»on_formation является версией разных изделий. Это правило
определяет, что один объект change не должен изменять более одной версии данного изделия
(product), но может изменять несколько объектов product_deflnition_formation, если каждый prod-
uct_definit»on_forniation ссылается на разные изделия (product).
EXPRESS-спснифнкация
•)
RULE unique_version_change order.mle FOR (change) ;
WHERE
WRI: SIZEOF (QUERY (c <4 change |
NOT (unique_version_change_order (c.assigned_action)))) = 0;
END^RULE ;
(*
Описание аргумента
change —идентифицирует набор всех экземпляров объектов change
Формальное утверждение
WR1 —для каждого экземпляра объекта change функция unique_version_change_order должна
возвращать значение “true”.
5.2.5.20 Правило producl_requires_verslon
Правило product_requires_version определяет, что на каждый экземпляр объекта product должна
быть дана ссылка по крайней мере из одного экземпляра объекта product_definition_formation. Это
правило устанавливает, что каждое изделие может иметь одну или несколько версий.
EXPRESS-спецификацня
Ч
RULE product_requires_version FOR (product. product_definition_formation);
WHERE
WRI: SIZEOF (QUERY (prod <* product |
NOT (SIZEOF (QUERY (pdf <• product_definition_formation i
prod : = : pdf.of_product )) >= 1 ))) = 0;
END. RULE ;
<4
Описания аргументов
product — идентифицирует набор всех экземпляров объектов product;
product_definition_fonnation — идентифицирует набор всех экземпляров объекта product_defini-
tion_formation.
74