allgosts.ru35. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ35.100. Взаимосвязь открытых систем

ГОСТ Р ИСО/МЭК 8824-4-2016 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 4. Спецификация для параметризации АСН.1

Обозначение:
ГОСТ Р ИСО/МЭК 8824-4-2016
Наименование:
Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 4. Спецификация для параметризации АСН.1
Статус:
Действует
Дата введения:
09/01/2017
Дата отмены:
-
Заменен на:
-
Код ОКС:
35.100.60

Текст ГОСТ Р ИСО/МЭК 8824-4-2016 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 4. Спецификация для параметризации АСН.1



ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТР

исо/мэк

8824-4-

2016

Информационная технология

АБСТРАКТНАЯ СИНТАКСИЧЕСКАЯ НОТАЦИЯ

ВЕРСИИ 1 (АСН.1)

Часть 4

Спецификация для параметризации АСН.1

(ISO/IEC 8824-4:2008, ЮТ)

Издание официальное

Москва

Стенда ртмнформ 2016

ГОСТ Р ИСО/МЭК 8824-4—2016

Предисловие

1    ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием Государственный научно-исследовательский и конструкторско-технологический институт «ТЕСТ» (ФГУП ГосНИИ «ТЕСТ»), Обществом сограниченной ответственностью «Информационно-аналитический центр» (ООО ИАВЦ) на основе собственного аутентичного перевода на русский язык англоязычной версии международного стандарта, указанного в пункте 4

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 22 «Информационные технологии»

3    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 7 ноября 2016 г. N» 1598-ст

4    Настоящий стандарт идентичен международному стандарту ИСО/МЭК 8824-4:2008 «Информационные технологии. Абстрактная синтаксическая нотация версииодин(АСН.1).Часть4. Спецификация для параметризации АСН.1» (ISO/IEC 8824-4:2008 «Information technology — Abstract Syntax Notation One (ASN.1)— Part 4: Parameterization ofASN.1 specifications». IDT).

При применении настоящего стандарта рекомендуется использовать вместоссылочных международных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА

5    83АМЕН ГОСТ Р ИСО/МЭК 8824-4—2003

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. Ne 162-ФЗ «О стандартизации в Российской Федерации». Информация об измене-ниях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты». а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также е информационной системе общего пользования — на официальном сайте Федерального агентства по техническому ругулированию и метрологии в сети Интернет (. ги)

© Стандартинформ. 2016

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии

ГОСТ Р ИСО/МЭК 8824*4—2016

Содержание

1    Область применения...................................................1

2    Нормативные ссылки..................................................1

3    Термины и определения................................................1

3.1    Спецификация базовой нотации.........................................1

3.2    Спецификация информационного объекта..................................1

3.3    Спецификация ограничения...........................................1

3.4    Дополнительные определения..........................................1

4    Сокращения........................................................2

5    Соглашения........................................................2

6    Нотация...........................................................2

6.1    Присваивания....................................................2

6.2    Параметризованные определения.......................................2

6.3    Символы........................................................3

7    Элементы АСН.1.....................................................3

8    Параметризованные присвоения...........................................3

9    Указания параметризованных определений....................................6

10    Параметры абстрактного синтаксиса........................................8

Приложение А (справочное) Примеры........................................10

Приложение В (справочное) Сводка нотаций....................................15

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов

национальным стандартам Российской Федерации.....................17

in

ГОСТ Р ИСО/МЭК 8824-4—2016

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология

АБСТРАКТНАЯ СИНТАКСИЧЕСКАЯ НОТАЦИЯ ВЕРСИИ 1 (АСН.1)

Ч а с т ь 4

Спецификация для параметризации АСН.1

Information technology. Abstract Syntax Notation One (ASN.1). Part 4. Parameterization of ASN.1 specifications

Дата введения — 2017—09—01

1    Область применения

Настоящий стандарт является частью абстрактной синтаксической нотации версии 1 (АСН.1) и определяет нотацию для параметризации спецификаций АСН.1.

2    Нормативные ссылки

8 настоящем стандарте использованы нормативные ссылки на следующие стандарты:

ИСО/МЭК 8824-1—2008 Информационные технологии. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации (ISO/IEC 8824-1:2008. Information technology — Abstract Syntax Notation One (ASN.1) — Part 1: Specification of basic notation)

ИСО/МЭК 8824-2—2008 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 2. Спецификация информационного объекта (ISO/IEC 8824-2:2008. Information technology — Abstract Syntax Notation One (ASN.1) — Part 2: Information object specification)

ИСО/МЭК 8824-3-2008 Информационная технология. Абстрактно-синтаксическая нотация версии один (АСН.1). Часть 3. Спецификация ограничения (ISO/IEC 8824-3:2008. Information technology — Abstract Syntax Notation One (ASN.1) — Part 3: Constraint specification)

3    Термины и определения

8 настоящем стандарте применены следующие термины с соответствующими определениями.

3.1    Спецификация базовой нотации

8 настоящем стандарте применены термины, установленные в ИСО/МЭК 8824-1.

3.2    Спецификация информационного объекта

8 настоящем стандарте применены термины, установленные в ИСО/МЭК 8824-2.

3.3    Спецификация ограничения

8 настоящем стандарте применены термины, установленные в ИСО/МЭК 8824-3.

3.4    Дополнительные определения

3.4.1    стандартное имя ссылки (normal reference name): Имя ссылки, определенное без параметров. посредством другого «Assignment» нежели «ParameterizedAssignment». Такое имя указывает полное определение и не обеспечивается фактическими параметрами при использовании.

3.4.2    параметризованное имя ссылки (parameterized reference name): Имя ссылки, определенное с помощью параметризованного присваивания, которое указывает на неполное определение и поэтому должно быть обеспечено фактическими параметрами при использовании.

Издание официальное

1

ГОСТ Р ИСО/МЭК 8824-4—2016

3.4.3    параметризованный тип (parameterized type): Тип. определенный с помощью присваивания параметризованного типа и. таким образом, компоненты которого являются неполными определениями. которые должны быть обеспечены фактическими параметрами при использовании типа.

3.4.4    параметризованное значение (parameterized value): Значение, определенное с помощью присваивания параметризованного значения и. таким образом, не полностью специфицированное, которое должно быть обеспечено фактическими параметрами при использовании.

3.4.5    параметризованное множество значений (parameterized value set): Множество значений, определенное сломощью присваивания параметризованного множества значений и. таким образом, не полностью специфицированное, которое должно быть обеспечено фактическими параметрами при использовании.

3.4.6    параметризованный класс объектов (parameterized object class): Класс информационных объектов, определенный с помощью присваивания параметризованного класса объектов, таким образом. спецификации его полей заданы не полностью и должны быть обеспечены фактическими параметрами при использовании.

3.4.7    параметризованный объект (parameterized object): Информационный объект, определенный сломощью присваивания параметризованногообъекта и. таким образом.его компоненты заданы не полностью и должны быть обеспечены фактическими параметрами при использовании.

3.4.8    параметризованное множество объектов (parameterized object set): Множество информационных объектов, определенноес помощью присваивания множества параметризованных объектов и. таким образом, его объекты заданы неполностью и должны быть обеспечены фактическими параметрами при использовании.

3.4.9    переменное ограничение (variable constraint): Ограничение, применяемое вспецификации параметризованного абстрактного синтаксиса и зависящее от некоторого параметра абстрактного синтаксиса.

4    Сокращения

В настоящем стандарте применено следующее сокращение:

АСН.1 — абстрактная синтаксическая нотация версии 1.

5    Соглашения

В настоящем стандарте применены соглашения, приведенные в ИСО/МЭК 8824-1. раздел 5.

6    Нотация

В данном разделе приведена сводка нотации, определенной в настоящем стандарте.

6.1    Присваивания

В настоящем стандарте определена следующая нотация, которая может быть использована как альтернатива для присваивания «Assignment)» (см. ИСО/МЭК 8824-1. раздел 12):

•    ParametrizedAssignment (см. 8.1).

6.2    Параметризованные определения

6.2.1    В настоящем стандарте определена следующая нотация, которая может быть использована как альтернатива для определяемого типа «DefinedType» (см. ИСО/МЭК 8824-1. подраздел 13.1):

- ParametrizedType(CM.9.2).

6.2.2    В настоящем стандарте определена следующая нотация, которая может быть использована как альтернатива для определяемого значения «DefinedVatue» (см. ИСО/МЭК 8824-1. подраздел 13.1):

•    ParametrizedValue(CM.9.2).

6.2.3    В настоящем стандарте определена следующая нотация, которая может быть использована как альтернатива для определяемого типа «DefinedType» (см. ИСО/МЭК 8824-1. подраздел 13.1):

•    ParametrizedValueSetType (см. 9.2).

6.2.4    В настоящем стандарте определена следующая нотация, которая может быть использована как альтернатива для класса объектов «ObjectClass» (см. ИСО/МЭК 8824-2. подраздел 9.2):

•    ParametrizedObjectClass(CM.9.2).

6.2.5    В настоящем стандартеопределена следующая нотация, которая может быть использована как альтернатива для объекта «Object» (см. ИСО/МЭК 8824-2. подраздел 11.2):

2

ГОСТ Р ИСО/МЭК 8824*4—2016

•    Parametri2edObject(CM.9.2).

6.2.6 8 настоящем стандарте определена следующая нотация, которая может быть использована как альтернатива для множества объектов «ObjectSet» (см. ИСО/МЭК 8824*2. подраздел 12.2):

•    Parametri26dObjectSet(CM.9.2).

6.3 Символы

8 настоящем стандарте определена следующая нотация, которая может быть использована как альтернатива для символа «Symbol» (см. ИСО/МЭК 8824*1. подраздел 12.1):

•    Parametri2eOReference(CM. 9.1).

7    Элементы АСН. 1

8    настоящем стандарте используют элементы АСН.1. определенные в ИСО/МЭК 8824-1. раздел 11.

8 Параметризованные присвоения

8.1    Существуют операторы параметризованного присвоения, соответствующие каждому из one* раторов присвоения, определенному в ИСО/МЭК 8824-1 и ИСО/МЭК 8824-2.

Конструкция «ParameterizedAssignment»:

ParameterizedAssignment

ParameterizedTypeAssignment |    ParameterizedValueAssignment

j ParameterizedValueSetTypeAssignment j    ParameterizedObjectC!assA8Signment

|    ParameterizedObjectAssignment

j    ParameterizedObjectSetAssignment

8.2    Каждая конструкция «Parameterized<X>Assignment» имеет тот же самый синтаксис, что и «<X>Assignment». за исключением того, что имеется начальный элемент «ParameterList». Таким образом. начальный элемент становится параметризованным именем ссылки (см. 3.4.2).-

Примечания

1    ИСО/МЭК 8824-1 налагает требование, заключающееся атом, что все имена ссылки, назначенные в пределах модуля, параметризованные или нет. должны различаться.

2    Там. где нотация значений регулируется параметризованным типом (или типом, который является параметром) достоверность нотации значений внутри параметризованного назначения может быть определена только после инстанцирования параметризованного типа, и может быть действительна для одних инстанцирования и недопустима дпя других.

ParameterizedTypeAssignment

typereference

ParameterList

Type

ParameterizedValueAssignment

valuereference

ParameterList

Type

Value

ParameterizedValueSetTypeAssIgnment::*

typereference

ParameterList

Type

3

ГОСТ Р ИСО/МЭК 8824-4—2016

ValueSet

ParameterizedObjectClassAssignment

objectciassreference

ParameterList

ObjectClass

ParameterizedObjectAssignment

objectreference

ParameterList

DeflnedObjectCiass

Object

ParameterizedObjectSetAssignment

objectsetreference

ParameterList

DeflnedObjectCiass

ObJectSet

8.3    Конструкиия «ParameterList» есть список параметров «Parameter», заключенных в фигурные скобки.

ParameterList Parameter ♦ “)"

Каждый параметр «Parameter» состоит из пустой ссылки «DummyReference» и. возможно, из параметра управляющего слова «ParamGovemor».

Parameter::» ParamGovemor DummyReference | OummyReference

ParamGovemor Governor | DummyGovernor

Governor::» Type | DeflnedObjectCiass

DummyGovernor ::■ DummyReference

DummyReference::» Reference

«DummyReference» в «Parameter» может замещаться:

a)    «Туре» или «DeflnedObjectCiass». в том случае, когда не должно быть «ParamGovemor»:

b)    «Value» или «ValueSet»: в этом случае должен присутствовать «ParamGovemor»: когда «ParamGovemor» есть «Governor», он должен быть «Туре», когда «ParamGovemor» есть «DummyGovernor», фактическим параметром для «ParamGovemor» должен быть «Туре»:

c)    «Object» или «ObjectSet». в этом случае должен присутствовать «ParamGovemor»; если «ParamGovemor» есть «Governor», это должен быть «DeflnedObjectCiass», если «ParamGovemor» есть «DummyGovernor». то фактическим параметром для «ParamGovemor» должен быть «DeflnedObjectCiass»:

d)    «DummyGovernor» должен быть «DummyReference». который не имеет «Governor».

8.4    Областью действия «DummyReference», появляющейся в конструкции «ParameterList», является сам «ParameterList» вместе с той частью «ParameterizedAssignment». которая следует за «::=». «DummyReference» скрывает любую другую ссылку «Reference» с таким же именем в этой области действия.

Применение — Этот подпункт не применяется к «identifier», определенным a «NamedNumberLiet». «Enumeration» и «NamedBilLlet*. так как они не являются «Reference». «DummyReference» не скрывает эти «identifier* (см. ИСО/МЭК 8824-1. 18.11 и 19.10).

ГОСТ Р ИСО/МЭК 8824-4-2016

8.5 Использование пустой ссылки «DummyReference» в ее области действия должно быть согласовано с ее синтаксической формой, и там. где применимо.— с управляющим параметром, а все использования той же самой «DummyReference» должны быть согласованы друг с другом.

Примечание — Когда синтаксическая форма имени пустой ссылки двусмысленна (например, не ясно, используется •objeclciaeareference* или «typereference»). неоднозначность может быть разрешена при первом использовании имени пустой ссыпки справа от оператора присваивания. После этого характер имени пустой ссылки становится известным. Однако характер пустой ссылки не определяется полностью по правой стороне оператора присваивания, когда он. в свою очередь, используется только как фактический параметр в параметризованной ссылке: в этом случае характер пустой ссылки должен быть определен при рассмотрении определения этой параметризованной ссыпки. Пользователи нотации должны учитывать, что такая практика может сделать спецификации АСн.1 менее понятными, поэтому рекомендуется предусматривать соответствующие комментарии для пояснений.

Пример — Рассмотрим следующее присваивание параметризованного класса объектов:

PARAMETERIZED-OBJECT-CLASS {TypeParam, INTEGER:valueParam, INTEGER: ValueSetParam}::*

CLASS {

&valueField1

&valueField2

&valueField3

AValueSetFleld

TypeParam,

INTEGER DEFAUL T valueParam, INTEGER (ValueSetParam),

INTEGER DEFAULT {ValueSetParam}

}

Для определения правильного использования пустых ссылок «DummyReference» в контексте «ParameterizedAssignment» и, только для той цели, могут быть рассмотрены «DummyReference» для того, чтобы быть определенными следующим образом:

TypeParam UnspecIfledType

valueParam INTEGERunspecifiedlntegerValue

VatueSetParam INTEGER { UnspecifiedlntegerValueSet}

где:

a)    TypeParam представляет собой пустую ссылку «DummyReference», которая замещает «Туре». Поэтому TypeParam может быть использован везде, где можно использовать «typereference», например, как «Туре» для значения фиксированного типа поля valueField;

b)    valueParam представляет собой пустую ссылку «DummyReference», которая замещает значение целочисленного типа. Следовательно, valueParam можно использовать везде, где можно использовать «valuereference» для целочисленного значения, например, как значение по умолчанию для значения фиксированного-типа поля valueFleld2.

c)    ValueSetParam представляет собой пустую ссылку «DummyReference», которая замещает множество значений целочисленного типа. Следовательно, ValueSetParam можно использовать везде, где можно использовать «typereference» для целочисленного значения, например, как «Туре» в нотации «ContalnedSubtype» для valueFleld3 и ValueSetFleld.

8.6    Каждая пустая ссылка «DummyReference» должна использоваться по крайней мере один раз в пределах своей области действия.

Примечание — Если пустая ссылка «DummyReterence» так и не появилась, то соответствующий «AclualParameter» не влияет на определение, и мог бы быть просто «отброшен», хотя пользователю могло бы казаться, что имеет место некая спецификация.

Присваивания «ParameterizedValueAssignment». «ParameterizedValueSetTypeAssignment». «ParametenzedObjectAssignment» и «ParameterizedObjectSetAssignment» . прямо или косвенно содержащие ссылку на себя, недействительны.

8.7    В определении «ParameterizedType». «ParameterizedValueSet» или «ParameterizedObject-Class» пустая ссылка «DummyReference» не должна передаваться как тегированный тип (как фактический параметр) рекурсивной ссылке на этот «ParameterizedType». «ParameterizedValueSet» или «ParameterizedObjectClass» (см. А.З).

S

ГОСТ Р ИСО/МЭК 8824-4—2016

8.8    В определении «ParameterizedType». «ParameterizedValueSet» или «ParameterizedObject-Class» не должно быть циклической ссылки на определяемый элемент, если только такая ссылка прямо или косвенно не помечена как OPTIONAL или. вслучае «ParameterizedType» и «ParameterizedValueSet», дана путем ссылки на выборочный тип. по крайней мере одна из альтернатив которого является нециклической в определении.

8.9    Управляющий пустой ссылки «DummyReference» не должен включать всебя ссылку на другую «DummyReference», если эта другая «DummyReference» также имеет управляющего.

8.10    В параметризованном присваивании правая сторона «::*» не должна состоять исключительно из «DummyReference».

8.11    Управляющий «DummyReference» не должен требовать знания "DummyReference" или определяемого параметризованного имени ссылки.

8.12    Когда впараметриэованныйтипвкачвстввфактичвскогопараметра подставляется значение или множество значений, то требуется, чтобы тип фактического параметра был совместим с управляющим соответствующего пустого параметра (см. ИСО/МЭК 8824-1. F.6.2. F.6.3).

8.13    При определении параметризованного типа с пустым параметром вместо значения или множества значений тип. используемый для управления этим пустым параметром, должен быть таким, что все его значения допустимы для использования во всех правых частях присваиваний, где есть пустой параметр (см. ИСО/МЭК 8824-1, F.6.5).

9 Указания параметризованных определений

9.1    В перечне «SymbolList» (в «Export» или «Import») параметризованное определение должно быть указано с помощью «ParameterizedReference»:

ParameterizedReference Reference | Reference “{"

где «Reference2 — первый элемент в «ParameterizedAssignment». как определено в 8.2.

Примечание — Первая альтернативе для «ParameterizedReference* предусмотрена исключительно для облегчения понимания. Обе альтернативы имеют один и тот же смысл.

9.2    Вне «Export» или «Import» параметризованное определение должно быть указано конструкцией «Parameterized<X>».кoтopaямoжeт использоваться какальтернативадлясоответствующего«<Х>».-

ParameterizedType

SimpleDefinedType

ActualParameterLIst

SimpleDefinedType

ExternalTypeReference | typereference

ParameterizedValue

SlmpleDefinedValue

ActualParameterLIst

SlmpleDefinedValue

ExternalValueReference | valuereference

ParameterizedValueSetType

SimpleDefinedType

ActualParameterList

ParameterizedObjectClass::«*

DefinedObjectClass

ActualParameterList

6

ГОСТ Р ИСО/МЭК 8824*4—2016

ParameterizedObjectSet

DeffnedObjectSet

ActualParameterList

ParameterizedObject

DefinedObject

ActualParameterList

9.3    Имя ссылки e «Defind<X>» должно быть именам ссылки, для которого сделано присваивание в « Ра rameterizedAssign merit».•

9.4    Для используемой альтернативы «Defined<X>» ограничения, определенные в ИСО/МЭК 8824*1 и ИСО/МЭК 8824*2 для обычных имен ссылок, должны использоваться и для соотве* тствующих параметризованных имен ссылок.-

Примечвние — По существу, ограничения следующие: каждый aDef)ne<J«X>» имеет две альтернативы — «<x>reference* и «Extemal<x>Reference». Первая используется а модуле определения или когда определение было импортировано и нет противоречия имени: вторая используется тогда, когда нет перечисленного импорта (нерекомендувтся)или если есть конфликт между импортированным именем и локальным определением (также не рекомендуется), или есть конфликт между импортированными именами .•

9.5    Список фактических параметров «ActualParameterList»:

ActualParameterList: :*

Т ActualParameter V + “>”

ActualParameter

Type

|    Value

j    ValueSet

j    OefinedObjectClass

j    Object

j    ObjectSet

9.6    Должен быть только один параметр «ActualParameter» длякаждого «Parameter» всоотввтству-ющем « Ра га m ete rizedAssig п merit», и они должны появляться етом же самом порядке. Конкретный выбор «ActualParameter» и управляющего (если он есть) должен определяться синтаксической формой «Parameter» и контекстов, в котором он встречается в «ParameterizedAssignment». «ActualParameter» должен иметь форму, необходимую для замены «DummyReference» в области ее действия (см. 8.4).

Пример — Параметризованный класс объектов предыдущего примера (см. 8.5) может быть указан следующим обрезом:

MY-OBJECT-CLASS    PARAMETERIZED-OBJECT-CLASS {BIT STRING, 123, {4\S\6}}

9.7    Фактический параметр занимает место имени пустой ссылки в определении фактического типа, значения, множества значений, класса объектов, объекта или множества объектов, которые указываются данным экземпляром использования параметризованного имени ссылки.

9.8    Смысл любых ссылок, которые появляются в «ActualParameter», и умалчиваемый тег. применяемый к любым появляющимся тегам, определяются в соответствии со средой тегироеания «ActualParameter». а не «DummyReference».

П р и м в ч а н и в — Таким обрезом, парвметризвция. подобно ссылкам, селективным типам и COMPONENTS OF. не является точной текстуальной заменой.

Пример — Рассмотрим следующие модули:

M1 DEFINITIONS AUTOMA TIC TAGS BEGIN EXPORTS T1;

T1 SET{

7

ГОСТ Р ИСО/МЭК 8824-4—2016

f1 INTEGER, f2 BOOLEAN

}

END

М2 DEFINITIONS EXPLICIT TAGS ;;* BEGIN IMPORTS T1FROMM1;

73 ;:* T2{T1)

T2(X) SEQUENCE ( a INTEGER, b X

}

END

Применение 9.8 означает, что тег для компонента f1 из 73 (то есть @T3.b.f1) будет теги-рован неявно, так как среда тегирования пустого параметра X, а именно — явное тегирование, не влияет на тегирование компонентов фактического параметра Т1.

Рассмотрим модуль М3:

М3 DEFINITIONS AUTOMA TIC TAGS ;;* BEGIN IMPORTS T1 FROM M1;

75 :;«* T4(T1)

T4(Y)SEQUENCE { a INTEGER, b Y

}

END

Применение ИСО/МЭК 8824-1. подраздел 30.6. означает, что тег для компонента ЬеТ5 (то есть @Т5.Ь) будет тегирован явно, так как пустой параметр У всегда тегирован явно, следовательно, Т5 эквивалентно:

75;.* SEQUENCE {

а    [0] IMPLICIT INTEGER,

b    (1] EXPLICIT SET {

f1 (0] INTEGER. f2 (1} BOOLEAN )

}

тогда как ТЗэквивалентно:

73;;* SEQUENCE{

a INTEGER, b SET{

f1 [0] IMPLICIT INTEGER, f2 (1] IMPLICIT BOOLEAN

}

}

10 Параметры абстрактного синтаксиса

10.1 ИСО/МЭК 8024-2 (приложение В) устанавливает класс информационного объекта ABSTRACT-SYNTAX и рекомендует использовать его для определения абстрактных синтаксисов, применяя в качестве примера абстрактный синтаксис, определенный как множество значений единственного типа АСН.1. который не был параметризован на внешнем уровне.

8

ГОСТ Р ИСО/МЭК 8824*4—2016

10.2    Когда тип АСН.1. используемый для определения абстрактного синтаксиса, является параметризованным. некоторые параметры могут быть подставлены как фактические параметры, а другие — оставлены как параметры абстрактного синтаксиса.

Пример — Если параметризованный тип был определен вызываемым YYY—PDU с двумяпустыии ссылками (например, первая — набор объектов некоторого заданного класса объектов, а вторая — целочисленное граничное значение), то:

yyy-Abatract-Syntax {INTEQER:bound} ABSTRACT-SYNTAX ( YYY-PDU ((ValldObJecia). bound) IDENTIFIED BY{ууу 5}}

определяет параметризованный абстрактный синтаксис, е котором множество объектов было разрешено, a bound оставлено в качестве параметра абстрактного синтаксиса.

Параметр абстрактного синтаксиса должен использоваться:

a)    прямо или косвенно в контексте ограничения;

b)    прямо или косвенно как фактические параметры, которые, в конечном счете, используются в контексте ограничения.

Примечание — См. примеры в А.2 (приложение А) и ИСО/МЭК 8824-1. пункт O.S.

10.3    Ограничение, множество значений которого зависит от одного или бопее параметров абстрактного синтаксиса, является переменным. Такие ограничения определяются после определения абстрактного синтаксиса (возможно профилем международного функционального стандарта или в заявке о соответствии реализации протоколу).

Примечание — Если где-либо в цепочке определений, включаемой в спецификацию значений ограничения. появляется параметр абстрактного синтаксиса, то ограничение является переменным. Оно является переменным ограничением, даже если множество значений результирующего ограничения на зависит от фактического значения параметра абстрактного синтаксиса.

Пример — Значение (((1..3) EXCEPT a) UNION (1..3)) всегда 1..3независимо от тоео. каково значение а. тем не менее, зто все является переменным ограничением, если а является параметром абстрактного синтаксиса.

10.4    Формально переменное ограничение не влияет на множество значений в абстрактном синтаксисе.

Примечание — Настоятельно рекомендуется, чтобы ограничения, которые, квкожидвется. останутся в абстрактном синтаксисе переменными, имели спецификацию исключений, использующую нотацию ИСО/МЭК 8824-1. подраздел 45.4.

9

ГОСТ Р ИСО/МЭК 8824-4—2016

Приложение А (справочное)

Примеры

А.1 Примеры использования определения параметризованного типа

Предположим, что разработчику протоколе необходимо часто передавать аутентификатор с одним или более полями протокола. Он будет передаваться как BIT STRING рядом с полем. Без параметризации authenticator должен бы быть определен как BIT STRING, в затем authentlcatorc текстом, идентифицирующим, к чему он прилагался, должен добавляться при каждом появлении. Альтернативно разработчик может предпочесть преобразование каждого поля, имеющего аутентификатор, в последовательность SEQUENCE этого поля и authenticator. Метод паре-метризации обеспечивает удобную краткую запись для решения этой задачи.

Сначала определяют параметризованный тип SIGNEO{):

SIGNED {ToBeSlgned)SEQUENCE

{

authentlcated-data ToBeSlgned. authenticator BIT STRING

}.

тогда в теле протокола нотация (например):

SIGNED { Orderintormation)

есть нотация типа, установленная для

SEQUENCE

<

authenticated-data Orderlnformation. authenticator BIT STRING

>

Далее предположим, что для некоторых полей отправитель должен иметь возможность добавить (или не добавить) аутентификатор. Этого можно достичь, сделав BIT STRING факультативной, но более изящное решение (меньшее количество битов а строке)состоит а том. чтобы определить другой параметризованный тип:

OPTIONALLY-SIGNED {ToBeSlgned) CHOICE

{

unsigned-data    (0)    ToBeSlgned.

elgned-data    (1)    SIGNED{ToBeSlgned)

)

Примечание — Тегирование в CHOICE не является необходимым, если разработчик гарантирует, что ни одно из использований параметризованного типа не порождает фактический параметр, который является BIT STRING (тип SIGNED), но полезен для предотвращения ошибок в других частях спецификации.

А.2 Пример использования параметризованных определений вместе с классом информационных

объектов

Используют классы информационных объектов для сбора всех параметров абстрактного синтаксиса. Таким образом, число параметров абстрактногосинтаксиса может быть сокращено доодного. который являетсяэкземпля-ром совокупности классов. Продукция Information From Object' может быть использована для извлечения информации от параметра объекта.

/Гример

•    • Экземпляр этого класса содержит асе переметры для абстрактного

•    • синтаксиса. Mesaage-PDU.

MESSAGE-PARAMETERS CLASS {

Smaxlmum-prlorlty-level INTEGER.

10

ГОСТ Р ИСО/МЭК 8824*4—2016

imaxlmum-message-buffer-slze INTEGER. Amaxlmum-reterence-buffer-slze INTEGER

)

WITH SYNTAX {

THE MAXIMUM PRIORITY LEVEL IS    Smaxlmum-prlorlty-level

THE MAXIMUM MESSAGE BUFFER SIZE IS    imaxlmum-message-buffer-slze

THE MAXIMUM REFERENCE BUFFER SIZE IS imaxlmum-retarence-butter-slze

}

•    • Продукций • ValueFrornOb)act» используется для извлечения значения от

•    - абстрактного параметра синтаксиса. •рагат». Значения могут быть

•    • использованы только в ограничениях. Кроме того, параметр передается

•    • посредством друаоао параметризованного типа.

Message-PDU{ MESSAGE-PARAMETERS:рагат}::» SEQUENCE ( priority-level    INTEGER <0..param.Smaxlmum-prlorlty-level).

message BMPStrlng (SIZE (0..param.imaxlmum-message-buffer-slze)). reference Reference {param}

}

Reference (MESSAGE-PARAMETERS : param)

SEQUENCE OF lASString (SIZE (0..parem.S,maxlmum-reterence-buffer-slze))

•    • Определение информационноео объекта с параметризованным

-    • абстрактным синтаксисом. Параметр абстрактного синтаксиса

•    • используется только е ограничениях.

message-Abstract-Syntax { MESSAGE-PARAME TERS: param }

ABSTRACT-SYNTAX

(

Message-PDU (param}

IDENTIFIED BY (joint-iso-ccltt asn1(1) examples(123) 0}

}

Класс MESSAGE-PARAMETERS и объект параметризованного абстрактного синтаксиса message-Abstract-Syntax используются следующим образом:

•    - Этот зкземпляр MESSAGE-PARAMETERS определяет значения

•    • параметров абстрактного синтаксиса.

my-message-parameters MESSAGE-PARAMETERS (

THE MAXIMUM PRIORITY LEVEL IS 10

THE MAXIMUM MESSAGE BUFFER SIZE IS 2000

THE MAXIMUM REFERENCE BUFFER SIZE IS 100

}

-    - Абстрактный синтаксис теперь может быть определен всеми

•    - специфицированными переменными ограничениями.

my-mesaage-Abstract-Syntax ABSTRACT-SYNTAX

message-Abstract-Syntax { my-message-parameters )

А.З Пример определения параметризованного типа, который является конечным

При спецификации параметризованного типа, который представляет родовой список, определяют тип так. чтобы результирующая нотация АСК.1 была конечной. Например, можно определить:

Llatl { ElementTypeParam )::■ SEQUENCE { elem ElementTypeParam, next Llatl { ElementTypeParam >OPTIONAL

>.

11

ГОСТ Р ИСО/МЭК 8824-4—2016

который является конечный, а затем его использовать:

IntegerLIetl Lis(1 {INTEGER)

результирующая нотация АСН.1 является такой, как ее обычно определяют:

IntegerLIetl ::>SEQUENCE{ elem INTEGER, next IntegerLIetl OPTIONAL

Напротив, при:

Llst2 { ElementTypeParam > SEQUENCE { elem ElementTypeParam. next Liet2 ([0] ElementTypeParam } OPTIONAL

>

lmegerLlst2::« Llst2{INTEGER).

где результирующая нотация АСН.1 является бесконечной:

lntegerLlet2 SEQUENCE { elem INTEGER, next SEQUENCE {

elem [0] INTEGER, next SEQUENCER

elem (OJ(O)INTEGER. next SEQUENCE {

elem (0](0]{0) INTEGER, next SEQUENCE {

-- t; так далее ) OPTIONAL } OPTIONAL )OPTIONAL ) OPTIONAL

A.4 Пример определения параметризованного значения

Если значение параметризованной строки определяется следующим образом:

generlcBIrthdayGreetlng {lASString : name ) lASStrlng ::■ { "Happy birthday.”, name. “I!”).

то следующие две строки являются такими же:

greetlngl lASStrlng generlcBIrthdayGreetlng { "John" ) greetlng2 lASString "Happy birthday. John!!”

A.S Пример определения множества параметризованных значений

Если два множества параметризованных значений определены следующим образом:

QuestLled (lASStrlng: extraQueat) lASStrlng { "Jack" | "John" | extraQueat)

QueatLiat2 (lASStrlng : ExtraQuests) lASStrlng ( "Jack" | "John" | ExtraQueata).

то следующие множества значений обозначают одно и то же множество значений:

SetOtQueatai lASStrlng :;a(QueatLlst1 ("ЛИ")}

12

ГОСТ Р ИСО/МЭК 8824*4—2016

SetOfQueata2 IA$Strlng    { QueatLlat2 {{"ЛИ")})

SetOfQueata3 IA$Strlng {'‘Jack” | "John" | "Jill")

и следующие множестве значений обозначают одно и то же множество значений:

SetOfQueataa IA5Strtng { QueatLlat2 {{"ЛИ" | "Mary") ) )

SetOfQueataS lASStrlng    { "Jack" | "John" | "Jill" | "Mary")

Следует обратить внимание, что множество значений всегда задается е фигурных скобках, даже когда это — ссылка на параметризованное множество значений. Опуская фигурные скобки у ссылки на «identifier», который был создан а присвоении множества значений, или у ссылки на «ParameterizedValueSetType». получим нотацию для «Туре», а не для множества значений.

А.6 Пример определения параметризованного класса

Следующий параметризованный класс может использоваться для определения классов ошибок, которые содержат коды ошибок различных типов. Следует обратить внимание, что параметр ErrorCodeType используется только как кОигптуСоуегпог»для параметра VaildErrorCodea:

GENERIC-ERROR {ErrorCodeType, ErrorCodeType : VaildErrorCodea )::■ CLASS {

AerrorCode VaildErrorCodea

>

WITH SYNTAX {

CODE AerrorCode

)

Определение параметризованного класса может использоваться для определения различных классов, которые совместно используют некоторые характеристики, подобные одному и томуже синтаксису:

ERROR-1 GENERIC-ERROR {INTEGER. {1 |2|3>)

ERROR-2 GENERIC-ERROR (ErrorCodeStrlng. { StrlngErrorCodea}}

ERROR-3 GENERIC-ERROR {EnumeratedErrorCode,{ fatal | error}}

ErrorCodeStrlng lASStrlng {SIZE <4))

StrlngErrorCodea ErrorCodeStrlng { "E001" | "E002" | "E003" }

EnumeratedErrorCode ENUMERATED {fatal, error, warning}

Определяемые классы тогда могут использоваться следующим образом

My-Errora ERROR-2 ::« {{ СООЕ “Е001"} | {СООЕ "Е002" }} fatalError ERROR-3 {СООЕ fatal}

А.7 Пример определения множества параметризованных объектов

Определение множества параметризованных объектов AIITypes формирует множество объектов, которые содержит базовое множество объектов ВааеТурев и множество дополнительных объектов, которые поставляются как параметр AddltlonalType».

AIITypes {TYPE-IDENTIFIER : AddltlonalTypes )TYPE-IDENTIFIER { ВавеТуреа!

AddltlonalTypea}

ВавеТуреа TYPE-IDENTIFIER ::■{

{BaslcType-1 IDENTIFIED BY baalc-type-obj-id-value-1) |

(BaalcType-2 IDENTIFIED BY baeic-type-ot>j-!d-velue-2}|

{ BaaicType-3 IDENTIFIED BY baalc-type-obJ-ld-value-3)

}

Определение множества параметризованных объектов. АИТурев. может использоваться следующим образом:

Му-АН-Турев TYPE-IDENTIFIER ::■{ AIITypee {{

(Му-Туре-1 IDENTIFIED BY my-obJ-ld-value-1 } I

13

ГОСТ Р ИСО/МЭК 8824-4—2016

(Му-Туре-2 IDENTIFIED BY my-obHd-value-2} |

{ Му-Туре-3 IDENTIFIED BY my-obj-ld-value-3)

»>

A.8 Пример определений множества параметризованных объектов

Тип. определенный в ИСО/МЭК 6824-3 (А.4 приложений А), может использоваться в определении параметризованного абстрактного синтаксиса следующим образом:

• • PossibleBodyTypes является параметром абстрактного синтаксиса.

meaaage-abatract-ayntex{ MHS-BODY-CLASS: PoaalbleBodyTypea) ABSTRACT-SYNTAX    {

INSTANCE OF MHS-BODY-CLASS ({PoasIbleBodyTypea))

IDENTIFIED BY (Joint-lao-ltu авп1(1) examplea(1) 123)

>

•    • Это множество объектов перечисляет все возможные пары значений и -• идентификаторое-типадпятипа<гзкзеипляр-из». Множество объектов

•    - используется кек фактический параметр определения

•    • параметризироеанного абстрактного синтаксиса.

My-Body-Types MHS-BODY-CLASS {

{My-FIrat-Type IDENTIFIED BY my-flrat-obj-id>| {My-Second-Type IDENTIFIED BY my-second-obj-ld )

>

my-message-abetract-ayntax ABSTRACT-SYNTAX

mesaage-abetract-eyntax { { My-Body-Typea >>

14

Приложение В (справочное)

ГОСТ Р ИСО/МЭК 8824*4—2016

Сводка нотаций

Следующие элементы определены а ИСО/МЭК 6824-1 и используются е настоящем стандарте:

typereference

valuereferenee

“Г

“Г

Следующие элементы определены е ИСО/МЭК 8624-2 и используются в настоящем стандарте:

objectclaeereference

objectreference

objecteetreference

Следующие продукции определены в ИСО/МЭК 8824-1 и используются в настоящем стандарте:

DeflnedType

DeflnedValue

Reference

Type

Value

ValueSet

Следующие продукции определены в ИСО/МЭК 8824-2 и используются в настоящем стандарте:

DefinedObJectClaee

DefinedObJect

DeflnedObjectSet

ObjectClasa

Object

ObJectSet

Следующие продукции определены в настоящем стандарте:

ParameterizedAeelgnment

ParametertzedTypeAesignment |    ParametertzedVaiueAeelgnment

| ParameterizedValueSetTypeAesignmenc |    ParameterizedObjectClaeeAeeignment

)    ParametenzedObJectAesignment

|    ParameterlzedObJectSetAeelgnment

ParameterizedTypeAesignment

typereference ParameterLIet Type

ParametertzedValueAftslgnment::»

valuereferenee ParameterLIet Type Value

ParameterlzedValueSetTypeAeelgnment

typereference ParameterLIet Type ValueSet

1S

ГОСТ Р ИСО/МЭК 8824-4—2016

ParameterlzedObjectClaaaAaalgnment

objeetciaaareference ParameterLIat ObjectClaaa

ParameterizedObjectAsalgnment::*

objectreference ParameterLIat DefinedObjeetClaea Object

ParameterlzedObJectSetAaalgnment

objectaetreterence ParameterLIat DefinedObJectClaaa ObjectSet

ParameterLIat Parameter ♦ “}“

Parameter ::»ParamGovernor“:" OummyReterence (DummyReference ParamGovernor Governor JDummyGovernor Governor Type | DefinedObJectClaaa OummyGovernor    Dummy Reference

OummyReterence Reference

ParameterlzedReference Reference | Reference “>“

SlmpteOeflnedType ExternalTypeReference | typereference SlmpleOeflnedValue ExternalValueReference | valuereference ParameterlzedType SlmpleDeflnedType ActualParameterLIat ParameterizedValue SlmpleOeflnedValue ActualParameterLIat ParameterlzedValueSetType SlmpleDeflnedType ActualParameterLIat ParameterlzedObjectClaaa DefinedObJectClaaa ActualParameterLIat ParameterlzedObjectSet DeflnedObJectSet ActualParameterLIat ParameterlzedObject::" OeflnedObject ActualParameterLIat ActualParameterLIat ActualParameter + “)"

ActualParameter

Type | Value | ValueSet | DefinedObJectClaaa f Object | ObjectSet

16

ГОСТ Р ИСО/МЭК 8824-4-2016

Приложение ДА (справочное)

Сведения о соответствии ссылочных международных стандартов национальным стандартам

Российской Федерации

Таблица ДА.1

Обозначение ссылочного международного стандарта

Степень соответствия

Обозначение и наименование соответствующего национального стандарта

ISO/IEC 8824-1—2008

9

ISO/IEC 8824-2—2008

9

ISO/IEC 8824-3—2008

9

• Соответствующий национальный стандарт отсутствует. До его утверждения рекомендуется использовать перевод на русский язык денного международного стандарта.

17

ГОСТ Р ИСО/МЭК 8824-4—2016

УДК 681.324:006.354    OKC3S.100.60

Ключевые слова: информационные технологии, взаимосвязь открытых систем, спецификация абстрактной синтактической нотации, нотация АСН.1, протоколы прикладного уровня, параметризация, параметризованный тип. параметризованное значение, параметризованный объект, тег. структурированные типы

18

Редактор М.Ю. Сухинина Технический редактор в.Ю. Фотиева Корректор Ю.М Прокофьева Компьютерная верстка А Н. Золотаревой

Сдано о набор 08.11.2016. Подписано я печать 28.12.2016. Формат 60 ■ 84^. Гарнитура Ариел.

Уел. печ. л. 2.79. Уч.-иад. л. 2,60. Тираж 26 экэ 2а«. 2222.

Подготовлено на основе электронной версии, предоставленной разработчиком стандарта

Издано и отпечатано ао ФГУП «СТАНДАР ТИН ФОРМ». 122985 Москва. Гранатный пер.. 4.