ГОСТ Р ИСО 10303-43-2002
resultJtems := ||;
new_checkjtems := checkedJtems + item;
—Формируют набор экземпляров объектов represeniation_item или founded items, элементы
— которого используются непосредственно
nextjtems := QUERY (z < * bag_to_set ( USED1N (item, ” ) ) |
■REPRESENTATION SCHEMA.REPRESENTATION.ITEM’ IN TYPEOF (z) ) OR
’REPRESENTATION_SCHEMA.FOUNDEDJTEM’ IN TYPEOF (z) ));
— Если набор объектов nextjtems не пустой
IF SIZEOF (nextjtems) > 0 THEN
—Для каждого элемента заданною набора рекурсивно находят соответствующие объекты
— usingjtems
REPEAT i := I ТО HIINDEX (nextjtems);
— Проверяют цикл модели данных, то есть наличие объекта nextjtems, ранее обнару-
—женного в наборе объектов checkJtems
IF NOT (nextjtenvs (ij IN new_check_items) THEN
resultJtem s := result^items + next_items |i| +
usingjtems (nextjtems |i|. new checkjtems);
EN D JF;
END REPEAT;
ENDJF;
— Возвращают набор объектов representationjtem или foundedJtetn, в котором исход-
— ный элемент использован прямо или косвенно
RETURN (resultJtems);
END FUNCTION;
Г
Описания аргументов
item —объект representationjtem. по которому определяют ссылочные экземпляры объектов
representationjtem и foundedjtem. Данный аргумент является исходным для функции;
checkedJtem s — набор экземпляров объектов representationjtem и foundedjtem. последователь
но проверяемый рассматриваемой рекурсивной функцией. Данный аргумент является исходным для
функции.
4.5.4 Ф у н к ц и я u s i n g _ r e p r e s e n t a t i o n
Функция using_represcntation возвращает набор представлений, в которых использованы объ
екты representationjtem.
Объект representationjtem используют в объекте representation, если:
- на него ссылаются из набора элементов данного представления;
- он яатяется ссылочным объектом representationjtem в объекте representation;
- он яатяется ссылочным объектом foundedjtem в объекте representation.
Примечание —Второе и третье условия позволяют проверить использование объекта repre
sentationjtem в объекте representation посредством “дерева" связанных объектов represcntationjtein или
foundedjtem. Данное "дерево" основано на объекте, использованном в representation при выполнении первого
условия.
Экземпляры объектов foundedjtem и representationjtem используют в объекте representation
при наличии на них прямых ссылок или при косвенных ссылках на них из объектов repre
sentationjtem. входящих в набор элементов объекта representation.
LXPKLSS-wfKUHddihaumi
•)
FUNCTION using representations (item : foundedJtetn_select)
: SET OF representation;
LOCAL
results; SET OF representation;
resultJ a g: BAG OF representation;
intermediate items : SET OF founded item select;
END LOCAL;
— Находят представления, в которых данный элемент использован и включен в оконча-
—тельный набор
22