ГОСТ Р ИСО 10303-203-2003
5.2.5.79 Правило approval’^person_organhation_comtrainis
Правило approvaI_person_orgaiiization_constra»nts определяет, что каждый экземпляр объекта
approval_person_organization должен иметь ссылку только на экземпляр объекта person_and_organi-
zation. Это правило устанавливает необходимость наличия связи конкретных лиц с какой-либо
организацией.
EXPRESS-спецнфнкаиия
*)
RULE approval_person_organization_constraints FOR
(approval person„organization) ;
WHERE
WR1: SIZEOF (QUERY (apo <• approval _person_organization |
NOT (SIZEOF (TYPEOF (apo.person organization) *
| CONFrc_CONTROL_DESIGN.PERSON_AND.ORGANIZATION’ |) = 1 ))) =0 ;
END_RULE ;
C
Описание аргумента
approval_person_organization — идентифицирует набор всех экземпляров объектов approval_per-
son_organization.
Формальное утверждение
WR1 —для каждого экземпляра объекта approvaI_person_organization изатрибута person_organi-
zation должна бытъ дана ссылка на экземпляр объекта person_and_organization.
5.2.6 Ф у н к ц и и п р о е к т а с у п р а в л я е м о йк о н ф и г у р а ц и е й
5.2.6.1 Функция unique_version_change_order
Булева функция unique_version_change_order принимает в качестве исходных данных (парамет
ра) объект action_execution и возвращает значение “true”, если функция ordered_action. вызываемая
объектом action_execution. охватывает объекты requested_action. ссылающиеся на разные объекты
product_derinition_fonnation. ссылающиеся в свою очередь на разные объекты product. Функция
возвращает значение “false”, если объекты rcquested_action ссылаются на объекты product_derini-
tion_forniation. охваченные объектами action_execution. а соответствующие объекты product_derini-
tion_formation ссылаются на один и тот же объект product. Эта функция может возвращать значение
“true”, если посредством сложного объекта change изменяют разные версии отдельных деталей.
Однократное изменение может не затрагивать разные версии конкретной детали.
EXPRESS-спецификаиия
*>
FUNCTION unique_versioii_cliange_order (с : action) : BOOLEAN;
LOCAL
ords : action_dinactive := c\directed_action.directive;
assign : SET OF change_request := | j;
versions : SET OF product_deflnition_formation := | |:
END_LOCAL;
- - определяет набор объектов change_request, заданных для объектов
- - versioned_action_request, объединенных данным объектом action_directive
REPEAT i := 1 TO SlZEOF(ords.requests);
assign := assign + QUERY (ara <* bag_to_set (USEDIN (ords.requests|i|,
CONFIGj:ONTROL_DESICN.ACTION_REQUEST_ASSIGNMENT.’ +
ASSIGN ED_ACTION_REQUEST’ )) |
’CONFIG_CONTROL_DESlGN.CHANGE REQUEST IN TYPEOF (ara));
END_REPEAT;
- - конкретизирует объекты product_dcfmition„formation, на которые дана ссылка
- - из объектов changejnequest
REPEAT k := I TO SIZEOF(assign);
versions := versions + assign!k|.items;
END_REPEAT;
101