ГОСТ Р ИСО 10303-46-2002
FOR (presentation_rcpresentation_relationshiр);
WHERE
WR1: SIZEOF(QUERY(each 1 <* presentation representation relationship |
NOT (’PRESENTATION DEFINITION SCHEMA.’ +
SYMBOL_REPRESENTATION_RELATIONSHlP+IN TYPEOF (each_l)) AND
(SIZEOF (QUERY(each_2 <• |each_l\representation_relationship.rep_l,
each_l\representation_relationship.rep_2| |
•PRESENTATION DEFINITION SCHEMA. SYMBOL REPRESENTATION !N
TYPEOF (each 2)
)) > 0)
)) = 0;
END RULE;
(*
Формальное утверждение
WR1 — объекты presentation_representation_relationship. не являющиеся примитивами sym-
bol_representat»on_relationship, не могут быть связаны с примитивами symbol_representations.
4.9 Определение функции схемы структуры представления
4.9.1Ф у н к ц и яа с у с I i с_р г е s е п t a t i о п_г e p r e s e n t a t i o n_r е 1a t i о п-
s h i р
Функция acyclic_presentation_representation_relationship проверяет, является ли ацикличным
граф, определенный объектом presentation_representation_relationship. связанным объектом рге-
sentationrepresentation и всеми другими объектами presentation_representation_relat»onship, ссыла
ющимися на данный presentation_representation. Функция возвращает значение TRUE, если граф
является ацикличным, и значение FALSE — в противном случае.
EXPRESS-сиеиификаиня
4 )
FUNCTION acyclic_presentation_representation_relationship
( relation: presentation_representation_re!ationship;
children: SET OF presentation representation) : BOOLEAN
LOCAL
x: SET OF presentation_representation_relationship;
local children: SET OF presentation representation
END_LOCAL;
REPEAT i: = I TO HIINDEX (children);
IF relation\representation relationship.rep_l :=: children^) THEN
RETURN!FALSE);
END_IF;
END_ REPEAT;
x := bag_to_set (USEDIN (relation\represemation relationship.rep lt
REPRESENTATION SCHEMA.+
’REPRESENTATION,.RELATIONSHI P.REP_2));
local_children := children + relation\representation_relationship.rep_l;
IF SIZEOF (x) > 0 THEN
REPEAT i:=I TO HIINDEX (x);
IF NOT acydic_presentation_representation_relationship
(x|i|, iocaI_children) THEN
RETURN (FALSE);
END IF;
END REPEAT;
END IF;
RETURN (TRUE);
END FUNCTION;
C
Определения аргументов
relation —проверяемый объект presentation_representation relationship. Данный объект является
исходным для рассматриваемой функции;
28