ГОСТ Р ИСО 10303-11 — 2009
Приложение G
(обязательное)
Генерация одной схемы из нескольких схем
G. 1 Введение
Модель данных на языке EXPRESS состоит, по крайней мере, из одной схемы, но может состоять и из
нескольких схем. Существует много способов построения мультисхемной спецификации, некоторые из которых
перечислены ниже.
Часть спецификации может быть определена в одной схеме, которая повторно может использоваться в
другой схеме с целью конкретизации или расширения.
Схема верхнего уровня может импортировать несколько схем, чтобы построить полную спецификацию
данных.
Полная спецификация может состоять из нескольких независимых схем.
В исходных методах реализации, включенных в стандарты комплекса ИСО 10303. предполагалась модель
данных, состоящая из одной схемы, называемой схемой в длинной форме. До тех пор. пока методы реализации,
включенные в стандарты комплекса ИСО 10303. не обновляются, чтобы соответствовать настоящей редакции
ИСО 10303-11, или реализации не модифицируются, чтобы соответствовать новым методам реализации, может
быть достаточно преобразовать спецификацию данных, соответствующую настоящему стандарту, в специфика
цию данных, соответствующую предыдущей редакции 1994 г. В настоящем приложении определены правила
выполнения данного преобразования. Эти правила обеспечивают преобразование мультисхемной специфика
ции. соответствующей требованиям настоящего стандарта, в схему вдлинной форме, соответствующую предыду
щей редакции 1994 г. Данные правила разработаны, чтобы получить в результате полную и непротиворечивую
длинную форму и минимизировать потери семантики исходной модели данных.
G.2 Основные понятия
Объекты, состоящие во взаимосвязи супертип-подтип, образуют направленный граф, который должен быть
ациклическим (многокорневым) деревом. Аналогично, схема, которая связана спецификациями интерфейсов
USE или REFERENCE, образует направленный граф, который может быть циклическим, и узлами которого явля
ются схемы, а ребрами - спецификации интерфейсов. В общем случае спецификация модели данных состоит из
одного или нескольких графов схем. В частности, такой граф может иметь одну корневую схему, в которую не
направлена какая-либо спецификация интерфейса, но из которой можно достичь вое другие схемы. Корневая
схема гложет рассматриваться в качестве представителя данного графа. В других случаях в графе может суще
ствовать одна или несколько основных схем, тогда как другие схемы в данном графе существуют только для
поддержки основной схемы. Корневая и основная схемы играют особую роль в процессе преобразования.
Исходными данными для процесса генерации схемы в длинной форме являются корневая и основная
схемы графа, заключающего в себе спецификацию модели данных.
Результатом данного процесса является одна схема, содержащая все конструкции из исходных схем плюс
необходимые поддерживающие конструкции из других схем, присутствующих во множестве графов. К поддержи
вающим конструкциям относятся конструкции, которые явно или неявно импортированы в корневую и основную
схему.
Результирующая схема в длинной форме почти семантически идентична модели без операторов USE и
REFERENCE; обьекты. интерфейс с которыми установлен посредством оператора REFERENCE, вносятся непос
редственно вданную схему. Информация, описывающая исходные схемы, отбрасывается. Объекты в импортиро
ванных схемах, на которые непосредственно не ссылаются объекты из корневой или основной схемы, также
отбрасываются. Проводится сокращение и перезапись некоторых конструкций из исходных схем, чтобы не вклю
чать объекты, объявленные первоначально, но не используемые в конечной схеме.
Процесс преобразования состоит из двух этапов, на каждом из которых происходит потеря семантики;
а)мультисхемная спецификация данных преобразовывается в спецификацию промежуточной единой схе
мы. При этом проводятся следующие основные преобразования:
1) выбираемые элементы типа данных SELECT сокращают за счет удаления элементов, не импортируемых
в схему. Согласно 11.4.2 выбираемые элементы не являются неявно импортируемыми, поскольку импортируется
сам тип данных SELECT. Если выбираемые элементы остались в списке выбора, а соответствующие им
объекты не видимы в схеме, то результатом компиляции схемы в длинной форме будет ошибка,
2) сокращают ограничения SUBTYPE_CONSTRAINT. чтобы отразить сокращение графа подтипов/суперти-
пов в соответствии с 11.4.3 и приложением С.
3) сокращают правила RULE, чтобыотразитьсокращение графа подтипов/супертиповв соответствии с 11.4.3
и приложением С.
4) имена схемы в полностью уточненных ссылках на атрибуты заменяют именем схемы в длинной форме.
157