ГОСТ Р ИСО/МЭК 8824-3-2002
ПРИЛОЖЕНИЕ А (обязательное)
Ограничивающие типы «экземпляр-из»
А.1 В этом приложении специфицировано применение ограничений к типу «InstanceOfType», определенному в приложении С к ГОСТ Р ИСО/МЭК 8824-2.
А.2 Единственное ограничение, которое может быть применено к такому типу, является простым табличным ограничением, определенным в разделе 10. Эквивалентный тип «последовательность» типа экзем-пляр-из «InstanceOfType» ограничен тогда следующим образом:
SEQUENCE
{
type-id <DefmedObjectClass>.&id(<DefinedObjectSet>),
value [0] <DefinedObjectClass>.&Type (<DefinedObjectSet>{@.type-id})
}
где «<DefinedObjectClass>» заменяется конкретным классом «DefinedObjectClass», используемым в нотации «InstanceOfType», а «<ObjectSet>» — конкретным множеством «ObjectSet», используемым в простом табличном ограничении.
А.З Там, где к типу «экземпляр-из» применяется несколько ограничений, каждое порождает ограничение приведенного выше вида, так что несколько ограничений применяется к каждому элементу эквивалентного типа «последовательность».
А.4 Пример
На основе примера из ГОСТ Р ИСО/МЭК 8824-2, пункт С.9 можно построить следующий пример.
Тип
INSTANCE OF MHS-BODY-CLASS ({PossibleBodyTypes}) имеет эквивалентный тип «последовательность»
[UNIVERSAL 8] IMPLICIT SEQUENCE {
type-id MHS-BODY-CLASS.&id ({PossibleBodyTypes}),
value [0] MHS-BODY-CLASS.&Type ({PossibleBodyTypes} {t.type-id})
}
Здесь компонент последовательности «type-id» ограничен тем, что может принимать значения поля &id одного из типов «PossibleBodyTypes», тогда как компонент «value» ограничен тем, что может быть любым значением поля &Type того же самого информационного объекта.
В этом случае продукция «PossibleBodyTypes» была бы, вероятно, параметром спецификации (см. ИСО/МЭК 8824-4, разделы 10 и А.8), который не мог бы быть разрешен до тех пор, пока не создана заявка о соответствии реализации протокола, оставляя указанные выше ограничения переменными, как определено в ИСО/МЭК 8824-4, пункт 10.З.
8