Объекты, состоящие во взаимосвязи супертип-подтип, образуют направленный граф, который должен быть ациклическим (многокорневым) деревом. Аналогично, схема, которая связана спецификациями интерфейсов USE или REFERENCE, образует направленный граф, который может быть циклическим, и узлами которого являются схемы, а ребрами - спецификации интерфейсов. В общем случае спецификация модели данных состоит из одного или нескольких графов схем. В частности, такой граф может иметь одну корневую схему, в которую не направлена какая-либо спецификация интерфейса, но из которой можно достичь все другие схемы. Корневая схема может рассматриваться в качестве представителя данного графа. В других случаях в графе может существовать одна или несколько основных схем, тогда как другие схемы в данном графе существуют только для поддержки основной схемы. Корневая и основная схемы играют особую роль в процессе преобразования.
Исходными данными для процесса генерации схемы в длинной форме являются корневая и основная схемы графа, заключающего в себе спецификацию модели данных.
Результатом данного процесса является одна схема, содержащая все конструкции из исходных схем плюс необходимые поддерживающие конструкции из других схем, присутствующих во множестве графов. К поддерживающим конструкциям относятся конструкции, которые явно или неявно импортированы в корневую и основную схему.
Результирующая схема в длинной форме почти семантически идентична модели без операторов USE и REFERENCE; объекты, интерфейс с которыми установлен посредством оператора REFERENCE, вносятся непосредственно в данную схему. Информация, описывающая исходные схемы, отбрасывается. Объекты в импортированных схемах, на которые непосредственно не ссылаются объекты из корневой или основной схемы, также отбрасываются. Проводится сокращение и перезапись некоторых конструкций из исходных схем, чтобы не включать объекты, объявленные первоначально, но не используемые в конечной схеме.
Процесс преобразования состоит из двух этапов, на каждом из которых происходит потеря семантики:
а) мультисхемная спецификация данных преобразовывается в спецификацию промежуточной единой схемы. При этом проводятся следующие основные преобразования:
1) выбираемые элементы типа данных SELECT сокращают за счет удаления элементов, не импортируемых в схему. Согласно 11.4.2 выбираемые элементы не являются неявно импортируемыми, поскольку импортируется сам тип данных SELECT. Если выбираемые элементы остались в списке выбора, а соответствующие им объекты не видимы в схеме, то результатом компиляции схемы в длинной форме будет ошибка,
2) сокращают ограничения SUBTYPE_CONSTRAINT, чтобы отразить сокращение графа подтипов/супертипов в соответствии с 11.4.3 и приложением С,
3) сокращают правила RULE, чтобы отразить сокращение графа подтипов/супертипов в соответствии с 11.4.3 и приложением С,
4) имена схемы в полностью уточненных ссылках на атрибуты заменяют именем схемы в длинной форме,
5) знания о том, как конструкции были импортированы, то есть их видимость и реализуемость, преобразовываются в правила. Информация, описывающая как объект был импортирован (учитывая различие между операторами USE и REFERENCE), влияет на его реализуемость и видимость; см. 11.2 и 11.3.
При этом может быть потеряна следующая семантическая информация:
теряются знания о схеме, из которой происходит каждая конструкция, комментарии, не имеющие меток комментария (см. 7.1.6.3), могут быть отброшены, регистр символов в идентификаторах пользователя может не сохраниться;
b) представление промежуточной единой схемы переписывают с использованием только конструкций из ИСО 10303-11:1994 для создания конечной схемы в длинной форме. Преобразование из сокращенной формы промежуточного представления в схему в длинной форме требует удаления или изменения конструкций языка EXPRESS, не поддерживаемых предыдущей редакцией ИСО 10303-11. В частности, проводят следующие основные действия с сопутствующими семантическими потерями:
1) типы данных EXTENSIBLE SELECT заменяют типами данных SELECT в соответствии с ИСО 10303-11:1994, не поддерживающим расширение,
2) типы данных EXTENSIBLE ENUMERATION заменяют типами данных ENUMERATION в соответствии с ИСО 10303-11:1994, не поддерживающим расширение,
3) операторы SUBTYPE_CONSTRAINT удаляют:
их ограничения SUPERTYPE и операторы ABSTRACT преобразовывают в операторы SUPERTYPE, соответствующие ИСО 10303-11:1994, и переписывают, чтобы удалить типы данных, которые в других обстоятельствах не появились бы в схеме в длинной форме,
ограничения TOTAL_OVER заменяются конструкциями RULE,
4) ABSTRACT ENTITY и GENERIC_ENTITY преобразовывают в ограничения ABSTRACT SUPERTYPE,
5) конструкции RENAMED преобразовывают в атрибуты DERIVE,
6) для пустых типов данных SELECT должно быть сформировано сообщение об ошибке.
Спецификация промежуточной единой схемы является артефактом процесса преобразования и не используется вне данного процесса.
Перечисленные выше действия более подробно описываются в последующих подразделах.