ГОСТ Р ИСО 10303-11 — 2009
наращиваемого перечисления, на котором он основан. Именем определенного типа данных в целевой модели
должно быть имя соответствующего перечисляемого типа данных в исходной схеме.
Если из целевого определенного типа данных необходимо исключить элементы перечисления, недопусти
мые вего контексте, но которые определены в его базисном перечислении, то необходимо выполнить следующие
действия:
- создать промежуточный определенный тип данных и присвоить ему имя. являющееся уникальным в целе
вой длинной форме:
- использовать в качестве его базисного типа данных базисный тип данных наращиваемого перечисляемо
го типа данных:
- создать другой определенный тип данных и присвоить ему имя наращиваемого перечисляемого типа
данных, подлежащего преобразованию;
- использовать промежуточный определенный тип данных как его базисный тип;
- исключить элементы перечисления, являющиеся недопустимыми в целевом контексте, но определенные
в преобразуемом перечислении, из реализации в целевой схеме посредством локальных правил (см. пример 3);
- для каждого исключаемого элемента перечисления должно быть создано одно локальное правило.
П р и м е ч а н и е - См. правило по перечислениюj) в 8.4.1, касающееся использования локальных правил
в объявлениях типов, в которых объявляются перечисляемые типы данных.
Примеры
1Промежуточная схема, сформированная в соответствии с G.4, выглядит следующим образом:
SCHEMA artifact;
TYPE gender = ENUMERATION OF (not-known. male, female):
END_TYPE;
TYPE general_approval = EXTENSIBLE ENUMERATION OF (approved, rejected);
END_TYPE;
- другие объявления, зависящие от gender и general_approval
END_SCHEMA: — конец схемы artifact
Результирующая схема по ИСО 10303-11:1994 выглядит следующим образом:
SCHEMA longform:
TYPE gender = ENUMERATION OF (not-known. male, female):
END_TYPE;
TYPE general_approval = ENUMERATION OF (approved, rejected);
END_TYPE;
- другие объявления, зависящие от gender и general_approval
END_SCHEMA; — конец схемы longform
2 Промежуточная схема, сформированная в соответствии с G.4, выглядит следующим образом:
SCHEMA artifact;
TYPE general_approval = EXTENSIBLE ENUMERATION OF (approved, rejected);
END_TYPE;
TYPE domain2_approval = EXTENSIBLE ENUMERATION BASED_ON general_approval
WITH (pending);
e n d
_
t y
p
e
;
- другие объявления, зависящие от domain2_approval
END_SCHEMA; — конец схемы artifact
Результирующая схема по ИСО 10303-11:1994 выглядит следующим образом:
SCHEMA longform:
TYPE general_approval = ENUMERATION OF
(approved, rejected, pending);
END_TYPE;
TYPE domain2_approval = generalapproval;
END_TYPE;
- другие объявления, зависящие от domain2_approval
END_SCHEMA; — конец схемы longform
3 Промежуточная схема, сформированная в соответствии с G.4. выглядит следующим образом:
SCHEMA artifact;
TYPE general_approval = EXTENSIBLE ENUMERATION OF
(approved, rejected);
END_TYPE;
171