ГОСТ Р ИСО 10303-11— 2009
dependentlyjnstantiatedjlag := true:
ESCAPE: — экземпляр, зависимо реализуемый: переход к
— следующему исходному экземпляру
ELSE
(* Экземпляр, не зависимо реализуемый: переход к следующему ссылающемуся
экземпляру. *)
SKIP:
ENDJF;
ENDJF;
ELSE
dependently_instantiated_flag := true;
ESCAPE; — экземпляр, зависимо реализуемый: взять следующий
— исходный экземпляр
ENDJF;
END_REPEAT;
IF NOT dependentlyjnstantiatedJlag THEN
RETURN (false); ~
ENDJF;
ELSE
RETURN (false); — на экземпляр нет ссылок => недопустимо реализован
ENDJF;
END_REPEAT;
ELSE
RETURN (false); — нет исходных данных
ENDJF;
RETURN (true):
END_FUNCTION:--конец функции dependentlyjnstantiated
b) к условию FOR и правойчастиоператора присваивания, влевойчастикоторогоимеетсяобъектalljnstances
(оба эти места отмечены угловыми скобками < >). добавляют имена первого и всех последующих таких объектных
типов данных:
c) к этим двум местам добавляют также такие объектные типыданных, которые требуются уже идентифици
рованным экземплярам для их ссылочной полноты, и которые не содержатся где-либо еще в длинной форме как
независимо реализуемые объектные типы данных;
d) Если одна или несколько основных схем являются длинными формами, которые были созданы на осно
ве данной процедуры, и, следовательно, уже содержатся в правиле validate_dependently_
instantiable_entity_dataJypes. то добавляется содержимое их условий FOR к созданному содержимому. Значи
мым содержимым являются объектные типы данных, которые остаются зависимо реализуемыми также и после
генерации текущей длинной формы, и которые уже не включены в новое правило.
Если данный элемент не требуется для ссылочной полноты, то он не должен копироваться. Конфликты
имен должны быть разрешены, а строковые идентификаторы — модифицированы.
П р и м е ч а н и е -Н е скопированные объявления, которые не требуются для полноты, содержат семантику
операторов REFERENCE данных объявлений.
Пример - В данном примере исходная модель состоит из двух схем, одна из которых не содержит
спецификаций интерфейсов, а вторая, являющаяся специализированной схемой в длинной форме, содер
жит оператор REFERENCE:
SCHEMA export;
ENTITY a;
a1: STRING:
END_ENTITY;
ENTITY b;
M : STRING:
END_ENTITY;
END_SCHEMA; — конец схемы export
SCHEMA import;
REFERENCE FROM export (a, b); — только зависимо реализуемый!
ENTITY ref:
aref: a; — реализация зависит от объектного типа данных ref
bref: b: — реализация зависит от объектного типа данных ref
END_ENTITY;
END_SCHEMA; — конец схемы import
162