ГОСТ Р ИСО 10303-11 — 2009
Результирующая схема по ИСО 10303-11:1994 выглядит следующим образом:
SCHEMA longform:
TYPE attachment_method = SELECT
(nail, glue, weld, needle, tape);
END_TYPE;
ENTITY nail;
END_ENTITY;
TYPE permanent_attachment = attachment_method:
WHERE
wr1 : NOT (’ LONGFORM.NEEDLE * IN TYPEOF(SELF));
wr2 :NOT C LONGFORM.TAPE’ IN TYPEOF(SELF));
END_TYPE;
TYPE simple_attachment = attachment method:
WHERE
wr1; NOT (• LONGFORM.GLUE1IN TYPEOF(SELF));
wr2 : NOT (• LONGFORM.WELD’ IN TYPEOF(SELF));
END_TYPE;
-объявления объектов glue идругих
END_SCHEMA; — конец схемы longform
2 Промежуточная схема, сформированная в соответствии с G.4 и названная problem, выглядит
следующимобразом:
SCHEMA problem;
ENTITY е1;
attr ; t1;
END_ENTITY;
ENTITY e2;
attr ; t3;
END_ENTITY;
TYPE t1 = SELECT
(t2. t3);
END_TYPE;
TYPE t2 = INTEGER;
END_TYPE;
TYPE t3 = EXTENSIBLE SELECT;
END_TYPE;
END_SCHEMA;
Схема problem является ссылочно полной спецификацией данных по ИСО 10303-11:2003. Однако ее
невозможно преобразовать в спецификацию, соответствующую ИСО 10303-11:1994, посколькутип дан
ных SELECT не может иметь пустой список элементов выбора. Удаление t3 не решает данную пробле му.
поскольку на него ссылается объект eZ
G.5.4 Преобразование ограничений подтипов
Ключевое слово SUBTYPE_CONSTRAINT не определено в ИСО 10303-11:1994. Поэтому объявления
SUBTYPE_CONSTRAINT удаляются в процессе преобразования. Однако семантика ограничения должна сохра
ниться в длинной форме по ИСО 10303-11:1994.
Преобразования ограничений TOTAL_OVER и ограничений на допустимые реализации графов подти-
пов^супертипов определены ниже.
G.5.4.1 Ограничение TOTAL_OVER
К ограничениям TOTAL_OVER применяются следующие правила преобразования:
- схема в длинной форме должна сохранятьсемантику ограничения TOTAL_OVER. даже если импортирует
ся только одна из компонент ограничения;
- для каждого ограничения TOTAL_OVER из SUBTYPE_CONSTRAINT в схему должно быть добавлено гло
бальное правило RULE:
- именем RULE должно быть
total_over_<HMH
ограничения подтипам
- правило RULE должно быть допустимым для объекта супертипа, для которого было задано ограничение
TOTAL.OVER
- правило WHERE в глобальном правиле RULE должно обеспечивать, чтобы каждый экземпляр целевого
супертипа являлся типом/типами данных одного или нескольких подтипов, определенных в исходном ограниче
нии TOTAL_OVER и импортированных в целевую схему в длинной форме:
173