ГОСТ Р ИСО 10303-11— 2009
ENTITY shepherd;
dogs :SET OF dog;
END_ENTITY;
— другие объявления
END_SCHEMA; — конец схемы farming
SCHEMA pet_shows;
USE FROM s1 (creature);
ENTITY pet SUBTYPE OF (creature);
— атрибуты
END_ENTITY;
ENTITY dog SUBTYPE OF pet;
— атрибуты
END_ENTITY;
ENTITY dog_show:
dogs: SET [1:?] OF dog;
— другие атрибуты
END_ENTITY;
— другие объявления
END_SCHEMA: — конец схемы pet_shows
Принимая схемы farming и pet_shows вкачестве основных схем, получаем следующую промежуточ
ную схему:
SCHEMA artifact;
ENTITY creature;
— атрибуты
END_ENTITY;
ENTITY farming_dot_dog SUBTYPE OF creature;
— атрибуты
END_ENTITY;
ENTITY shepherd;
dogs :SET OF farming_dot_dog;
END_ENTITY;
ENTITY pet SUBTYPE OF (creature);
— атрибуты
END_ENTITY;
ENTITY pet_shows_dot_dog SUBTYPE OF pet;
— атрибуты
END_ENTITY;
ENTITY dog.show:
dogs : SET[1 : ?] OF pet_shows_dot_dog;
— другие атрибуты
END_ENTITY;
— другие объявления
END_SCHEMA; — конец схемы artifact
G.4.3 Вторичное содержимое
Проверяют каждый элемент, идентифицированный в схеме
artifact
в операторе
REFERENCE.
Если дан
ный элемент необходим для обеспечения ссылочной полноты, то в схему
artifact
из исходной схемы копируют
объявление и относящиеся к нему помеченные комментарии. Если данный элемент принадлежит к
объектному типу данных, то сохраняется семантика оператора
REFERENCE,
в соответствии с которой данный
элемент дол жен быть реализован, если на него ссылается другой элемент, посредством следующей
процедуры:
а) для первого подобного элемента в схеме
artifact
создают следующие правило и функцию:
RULE validate_dependently_instantiable_entity_data_types FOR
(<здесь перечисляются данный элемент первым, а затем все относящиеся к нему объ
ектные типы данных>);
LOCAL
number_of_input_instances : INTEGER;
: LIST OF GENERIC := [ ];
: SET OF STRING := [ ];
:SET OF GENERIC ;= [];
previous_in_chain
set_of_input_types
all .instances
END.LOCAL;
alljnstances := «создается объединение всего неявного содержимого условия FOR>:
number_of_input_instances ;= SIZEOF(allJnstances);
160