ГОСТ Р ИСО/МЭК 8824-2-2001
ПРИЛОЖЕНИЕ С (обязательное)
Тип «экземпляр-из»
С.1 В настоящем приложении специфицирована нотация типа и значение для типов «экземпляр-из» (см. 3.4.13). Такие типы могут передавать любые значения из любого информационного объекта в классе информационных объектов, определенного как класс TYPE-IDENTIFIER (см. приложение А), используя присвоение класса информационных объектов (ссылка на класс информационных объектов определяется как часть этой нотации).
С.2 Нотация «InstanceOfType», указанная в ГОСТ Р ИСО/МЭК 8824-1, 16.2 как одна из нотаций, образующих «Type», определяется следующим образом:
InstanceOfType : : = INSTANCE OF DefinedObjectClass
Примечание — В ИСО/МЭК 8824-3, раздел 10 установлен способ, в котором этот тип может быть ограничен с использованием «табличного ограничения». При этом значения типа ограничиваются теми, которые представляют некоторое конкретное множество информационных объектов этого класса.
С.3 Данная нотация специфицирует тип, который переносит поле &id (OBJECT IDENTIFIER) и значение поля TType из любого экземпляра класса «DefinedObjectClass».
Примечание — Обычно эта конструкция будет ограничиваться множеством объектов, которое будет (но не обязательно) пустым именем ссылки, как определено в ИСО/МЭК 8824-4, 8.3 — 8.11, с фактическим множеством объектов, определенным в другом месте.
С.4 Все типы «экземпляр-из» имеют тег универсального класса 8.
Примечание — Это тот же самый универсальный тег, что и для внешнего типа, и использование типа «экземпляр-из» может быть бит-совместимым с внешним типом, когда используются базовые правила кодирования АСН. 1.
С.5 Тип «экземпляр-из» имеет ассоциированный тип «последовательность», который используется для определения значений и подтипов типа «экземпляр-из».
Примечание — Когда этот тип ограничивается нотацией ограничения ИСО/МЭК 8824-3, то также ограничивается ассоциированный тип «последовательность». Ограничения на ассоциированный тип «последовательность», получающиеся из ограничения на тип «экземпляр-из», определены в ИСО/МЭК 8824-3, приложение А.
С.6 Принимается, что ассоциированный тип «последовательность» должен определяться в окружении, в котором установлено тегирование «EXPLICIT TAGS».
С.7 Ассоциированный тип «последовательность» должен быть:
SEQUENCE
{
type-id <DefinedObjectClass>.&id,
value [0] <DefinedObjectClass>.&Type
}
где «<DefinedObjectClass>» замещается конкретным классом «DefinedObjectClass», использованным в нотации «InstanceOfType».
С.8 Нотацией значения «InstanceOfValue» для нотации «InstanceOfType» должна быть нотация значения для ассоциированного типа «последовательность».
InstanceOfValue : : = Value С.9 Пример
На примере, данном в А.4, можно построить следующий пример.
Тип
INSTANCE OF MHS-BODY-CLASS
имеет ассоциированный тип «последовательность»
SEQUENCE
{
type-id MHS-BODY-CLASS.Tid, value [0] MHS-BODY-CLASS.TType
}
Пример применения табличного ограничения к этому типу приведен в ИСО/МЭК 8824-3, приложение А.
21