Стр. 1
 

19 страниц

396.00 ₽

Купить ГОСТ Р ИСО/МЭК 8824-4-2003 (официальный текст в бумажном виде) с голограммой и синими печатями подробнее

Официально распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль".

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

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

Введен впервые

Показать даты введения Admin

Страница 1

ГОСТ Р ИСО/МЭК 8824-4-2003 ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

Часть 4

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

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

БЗ 9 -2000/263


ГОССТАНДАРТ РОССИИ Москва

Страница 2

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

Предисловие

1    РАЗРАБОТАН Государственным научно-исследовательским и конструкторско-технологическим институтом «Тест* Министерства Российской Федерации по связи и информатизации

ВНЕСЕН Министерством Российской Федерации по связи и информатизации

2    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 21 января 2003 г. № 19-ст

3    Настоящий стандарт содержит полный аутентичный текст международного стандарта ИСО/МЭК 8824-4—95 «Информационная технология. Абстрактная синтаксическая нотация версии один (ACH.I). Параметризация спецификации АСН.1», ИСО/МЭК HS24-4—98/Доп. 1—2000 «АСН.1 — семантическая модель*

4    ВВЕДЕН ВПЕРВЫЕ

© ИIIК Издательство стандартов, 2003

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

II

Страница 3

ГОСТ I» ИСО/МЭК 8824-4-2003

Содержание

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    Элементы ACH.1..................................................................................................................3

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

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

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

Приложение А Примеры........................................................................................................9

Приложение В Сводка нотаций..............................................................................................13

III

Страница 4

ГОСТ Р ИСО/МЭК 8824-4-2003 ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

Часть 4 Параметризация спецификации АСН.1

Information technology. Abstract Syntax Notation One (ASN.l).

Pan 4. Parameterization of ASN.l specifications

Дата введения 2004—01—01

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

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

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

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

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

ГОСТ Р ИСО/МЭК 8824-2—2001 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 2. Спецификация информационного объекта {Рекомендация МККТГ Х.681 (1994)|

ГОСТ Р ИСО/МЭК 8824-3—2002. Информационная технология. Абстрактно-синтаксическая нотация версии один (АСН.1). Часть 3. Спецификация ограничения [Рекомендация МККТГ Х.682 (1994)|

3    Определения

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

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

В настоящем стандарте используют термины, определенные в ГОСТ Р ИСО/МЭК 8824-1.

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

В настоящем стандарте используют термины, определенные в ГОСТ Р ИСО/МЭК 8824-2.

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

В настоящем стандарте используют термины, определенные в ГОСТ Р ИСО/МЭК 8824-3.

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

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

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

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

Иманне официальное

1

Страница 5

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

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

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

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

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

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

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

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 (см. 9.2).

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

-    ParametrizedValue (см. 9.2).

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

-    ParametrizedValueSetType (см. 9.2).

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

-    Parametrized Object С lass (см. 9.2).

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

-    ParametrizedObject (см. 9.2).

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

-    ParametrizedObject Set (см. 9.2).

2

Страница 6

ГОСТ I» ИСО/МЭК 8824-4-2003

6.3 Символы

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

- Parametrized Reference (см. 9.1).

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

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

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

8.1    Существуют операторы параметризованного присвоения, соответствующие каждому из операторов присвоения, определенному в ГОСТ Р ИСО/МЭК 8824-1 и ГОСТ Р ИСО/МЭК 8824-2. Конструкция * Ра rame te rizedAssign ment * есть:

Para mete rizedAssign ment :: =

ParameterizedTypeAssignment ParameterizedValueAssignment ParameterizedValueSetTypeAssignment |

ParameterizedObjectClassAssignment

ParameterizedObjectAssignment

ParameterizedObjectSetAssignment

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

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

ParameterizedTypeAssignment : : = typereference ParameterList

«I, ,    —    »

Type

ParameterizedValueAssignment :: = valuereference ParameterList Type

Value

ParameterizedValueSetTypeAssignment: : = typereference ParameterList Type_r

ValueSet

ParameterizcdObjectClassAssignment : : = objectclass reference

ParameterList

й. .

ObjectClass

3

Страница 7

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

ParameterizedObjectAssignment:: = object re fere псе ParameterList Def nedObjec tC lass

M, . _.*•

Object С lass

ParameterizedObjectSetAssignment:: = objectset re fe re nee ParameterList DefinedObjectClass

м. . з»'

ObjectSet

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

ParameterList: : = “{” Parameter +■ “}”

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

Parameter: : = ParamGovernor DummyReference | DummyReference

ParamGovernor:: = Governor | DummyGovernor

Governor:: = Type ] DefinedObjectClass

DummyGovernor :: = DummyReference

DummyReference :: = Reference

“DummyReference" в “Parameter” может замешаться:

а)    “Type” или “DefinedObjectClass”, в том случае, когда не должно быть “ParamGovernor”;

б)    “Value" или “ValueSet”; в этом случае должен присутствовать “ParamGovernor”; когда “ParamGovernor” есть “Governor”, он должен быть “Туре”, когда “ParamGovernor” есть “DummyGovernor”, фактическим параметром для “ParamGovernor” должен быть “Туре”;

в)    “Object” или “ObjectSet”; в этом случае должен присутствовать “ParamGovernor”; если “ParamGovernor” есть “Governor”, это должен быть “ DefinedObjectClass”, если “ParamGovernor” есть “DummyGovernor”, го фактическим параметром для “ParamGovernor” должен быть “DefinedOb-jectClass”;

“DummyGovernor” должен быть “DummyReference”, который не имеет “Governor”.

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

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

Примечание — Когда синтаксическая форма имени пустой ссылки двусмысленна (например, не ясно, используется “objectclassreferencc" или •‘typerefercnee"), неоднозначность может быть разрешена при первом использовании имени пустой ссылки справа от оператора присваивания. После этого характер имени пустой ссылки становится известным. Однако характер пустой ссылки не определяется полностью по правой стороне оператора присваивания, когда он, в свою очередь, используется только как фактический параметр в параметризованной ссылке: в этом случае характер пустой ссылки должен быть определен при рассмотрении определения этой параметризованной ссыпки. Пользователи нотации должны учитывать, что такая практика может сделать спецификации ASN.I менее понятными, поэтому рекомендуется предусматривать соответствующие комментарии для пояснений.

4

Страница 8

ГОСТ I» И (О/М ЭК 8824-4-2003

Пример

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

PARAMETERIZED-OBJECT-CLASS {TypeParam, INTEGER: valueParam,

INTEGER: VahieSetParam} : : =

CLASS {

&value Field I    Type Pa ram,

&valueField2    INTEGER DEFAULT valueParam,

& value Field3    INTEGER (ValueSetParam),

&valueSetField INTEGER DEFAULT {ValueSetParam)

>

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

TypeParam : : = UnspecifieldType

valueParam INTEGER : : = unspecifie Id Integer Value

ValueSetParam INTEGER : : = {UnspecifieldInteger ValueSet}

где:

а)    TypeParam есть пустая ссылка “DummyReference”, которая замещает “Туре”. Поэтому TypeParam может быть использован везде, где можно использовать "typereference”, например как “Туре” для значения фиксированного типа поля valueFieldl.

б)    ValueParam есть пустая ссылка “DummyReference”, которая замещает значение целочисленного типа. Следовательно, valueParam можно использовать везде, где можно использовать “valueref-егепсе'" для целочисленного значения, например как значение по умолчанию для значения фиксированного-типа поля valueField2.

в)    ValueSetParam есть пустая ссылка “DummyReference”, которая замешает множество значений целочисленного типа. Следовательно, ValueSetParam можно использовать везде, где можно использовать “typereference” для целочисленного значения, например как “Туре” в нотации “Соп-tainedSubtype” для valueField3 и ValueSet Field.

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

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

Присваивания "ParamctcrizedValueAssignment”, “ParamcterizcdValueSetTypc Assignment”, "Paramcteri/e-dObjectAssignment“ и "ParamcterizedObjcctSctAssignment”, прямо или косвенно содержащие ссылку на себя, недействительны.

8.7    В определении "ParameterizedType", “Parameterized Value Set” или " ParameterizedOb-jectClass” пустая ссылка “DummyReference” не должна передаваться как тегированный тип (как фактический параметр) рекурсивной ссылке на этот “ParameterizedType”, “ParameterizedValueSet” или “ParameterizedObjectClass” (см. А.З).

8.8    В определении “ParameterizedType”, "Parameterized Value Set” или "ParameterizedObjectClass” не должно быть циклической ссылки на определяемый элемент, если только такая ссылка прямо или косвенно не помечена как OPTIONAL или, в случае “ParameterizedType” и “Parameterized ValueSet”, дана путем ссылки на выборочный тип, по крайней мере одна из альтернатив которого является нециклической в определении.

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

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

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

5

Страница 9

ГОСТ I* ИСО/МЭК 8824-4-2003

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 “Г “Г\ где “Reference” — первый элемент в “ParameterizedAssignment”, как определено в 8.2.

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

9.2    Вне “Export” или “Import” параметризованное определение должно быть указано конструкцией *‘Parameterized<X>”, которая может использоваться как альтернатива для соответствующего “<Х>”.

ParameterizedType : : =

Simple DefinedType Actual ParameterList

Simple DefinedType : : =

Extemaltypereference | type reference

Parameterized Value :: =

Simple Defined Value Actual ParameterList

SimpleDefinedValue : : =

Extemlvaluereference | value reference

ParameterizedValueSetType :: =

Simple DefinedType Actual ParameterList

ParameterizedObjectClass :: =

Defined Object С lass Actual ParameterList

ParameterizedObjectSet: : =

DefinedObjectSet Actual ParameterList

ParameterizedObject :: =

Defined Object Actual ParameterList

9.3    Имя ссылки в “Defind<X>” должно быть именем ссылки, для которого сделано присваивание в “ParameterizedAssignment”.

6

Страница 10

ГОСТ I» ИСО/МЭК 8824-4-2003

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

П р н м с ч а н и с — По существу, ограничения следующие: каждый “Defined<Х>” имеет две альтернативы — "<x>referencc" it ”Extcmal<x> Reference". Первая используется в модуле определения или когда определение было импортировано и нет противоречия имени: вторая используется тогда, когда нет перечисленною импорта (не рекомендуется) или если есть конфликт между импортированным именем и локальным определением (также не рекомендуется), или есть конфликт между импортированными именами.

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

Actual Parameter List: : =

“Г Actual Parameter + “Г

Actual Parameter: : =

Type    |

Value

ValueSet

DefinedObjectClass |

Object

ObjectSet

9.6    Должен быть ровно один параметр “ActualParameter” для каждого “Parameter” в соответствующем “ParameterizedAssignmeiu”, и они должны появляться в том же самом порядке. Конкретный выбор •‘ActualParameter" и управляющего (если он есть) должен определяться синтаксической формой •‘Parameter" и контекстов, в котором он встречается в “ParameterizedAssignment”. “Actual-Parameter" должен иметь форму, необходимую для замены "DummyReference" в области ее действия (см. 8.4).

Пример

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

MY-OBJECT-CLASS : : = PARAMETERIZED-OBJECT-CLASS (BIT STRING, 123, {4|5|6})

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

9.8    Смысл любых ссылок, которые появляются в “ActualParameter’', и умалчиваемый тег, применяемый к любым появляющимся тегам, определяются в соответствии со средой тегирования “ActualParameter”, а не “DummvReference”.

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

Пример

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

Ml DEFINITIONS AUTOMATIC TAGS : : = BEGIN EXPORTS Tl;

TI :: = SET { fl INTEGER.

12 BOOLEAN

>

END

М2 DEFINITIONS AUTOMATIC TAGS : : = BEGIN IMPORTS Tl FROM Ml:

T3 :: = T2<TI}

T2{X| : : = SEQUENCE {

7

Страница 11

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

a INTEGER, b X

)

END

Применение 9.8 означает, что тег для компонента fl из ТЗ (то есть ®ТЗ.Ь.Л) будет тегирован неявно, так как среда тегирования пустого параметра X, а именно — явное тегирование, не влияет на тегирование компонентов фактического параметра TI.

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

М3 DEFINITIONS AUTOMATIC TAGS : : = BEGIN IMPORTS TI FROM Ml;

T5 :: = T4JT1}

T4{Y| :: = SEQUENCE { a INTEGER, b Y

)

END

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

Т5 : : = SEQUENCE {

а [0| IMPLICIT INTEGER, b |l| EXPLICIT SET {

П |0| INTEGER. f2 |1| BOOLEAN

}

I

тогда как <8>T3 эквивалентно

ТЗ : : = SEQUENCE { a INTEGER, b SET {

П (0| IMPLICIT INTEGER.

Г2 111 IMPLICIT BOOLEAN

}

)

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

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

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

Пример

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

ууу-Abstract-Syntax {INTEGERibound} ABSTRACT-SYNTAX : : =

{YYY-PDU {{ValidObjects}, bound} IDENTIFIED BY {yyy 5}} определяет параметризованный абстрактный синтаксис, в котором множество объектов было разрешено, а «граничное значение» оставлено в качестве параметра абстрактного синтаксиса.

Страница 12

ГОСТ I» ИСО/МЭК 8824-4-2003

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

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

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

Примечание — См. пример в А.2 и ИСО/МЭК 8824-1, пункт D.5.

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

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

Пример

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

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

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

ПРИЛОЖЕНИЕ Л (справочное)

Примеры

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

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

Сначала определяют параметризованный тип SIGNED(|:

SIGNED {ToBeSigned}: : = SEQUENCE

<

authenticated-data ToBeSigned. authenticator    BIT STRING

)

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

SIGNED < Order Information} есть нотация тина, установленная для

SEQUENCE

<

authenticated-data Ordcrlnformation, authenticator    BIT STRING

)

Далее предположим, что для некоторых полей отправитель должен иметь возможность добавить (или не

9

Страница 13

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

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

OPTIONALLY-SIGNED {ToBeSigned} : : - CHOICE

usigned-data (0| ToBeSigned.

signed-data    |l| SIGNED {ToBeSigned!

)

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

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

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

Пример

-    - Экземпляр этого класса содержит все параметры для

-    - абстрактного синтаксиса Message-PDU.

MESSAGE-PARAMETERS : : - CLASS {

<fcmaximum-priority-!cvcl    INTEGER.

&maxi mum-message-butTer-size INTEGER.

&maximum-rcfcrence-butTer-stze INTEGER

)

WITH SYNTAX {

THE MAXIMUM PRIORITY LEVEL IS    imaximum-priorily-levcl

THE MAXIMUM MESSAGE BUFFER SIZE IS Amaximum-mcssage-buffcr-size THE MAXIMUM REFERENCE BUFFER SIZE IS &maximum-refcrcnce-buffer-ske

)

-    - Продукция “ValueFromObject" используется для извлечения

-    - значения or абстрактного параметра синтаксиса, "param".

-    - Значения могут быть иепшшюваны только в ограничениях.

-    - Кроме того, параметр передается посредством другого

-    - параметризованного типа.

Message-PDU {MESSAGE-PARAMETERSrparam}:: = SEQUENCE { prionty-levc! INTEGER (O..param.&maximum-priority-!evel), message    BMPString (SIZE (0..param.&maximum-messagc-butTer-s(/.c)),

reference    Reference {param)

)

Reference {MESSAGE-PARAMETERS:param|:: **

SEQUENCE OF

IA5Stnng (SIZE (0..param.&maximum-rcfcrencc-buffcr-size))

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

-    - абстрактным синтаксисом.

-    - Параметр абстрактного синтаксиса используется только в ограничениях, message-Abstract-Sintax {МESSAGE-PARAMETERS:param)

ABSTRACT-SINTAX : : -

<

Message-PDU {param)

IDENTIFIED BY (joint-iso-coitt asnl(i) examples (123) 0)

)

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

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

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

10

Страница 14

ГОСТ I» ИСО/МЭК 8824-4-2003

my-message-paramcters MESSAGE-PARAMETERS :: ■= {

THE MAXIMUM PRIORITY LEVEL IS 10

THE MAXIMUM MESSAGE BUFFER SIZE IS 2000

THE MAXIMUM REFERENCE BUFFER SIZE IS 100

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

-    - специфицированными переменными ограничениями. my-mesagc-Abstract-Sintax ABSTRACT-S1NTAX : : =

mcssage-Abstract-Sintax {my-message-paramcters)

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

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

List 1 {ElcmentTypcParam} : : ™ SEQUENCE { clem    ElcmentTypcParam,

next    List 1 (ElcmentTvpcParam)    OPTIONAL

J

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

IntegcrListl :: - Listl (INTEGER}, где результирующая нотация ACH.I является такой, какой Вы се обычно определили бы:

IntegcrListl :: *= SEQUENCE { clem    INTEGER,

next    IntegcrListl OPTIONAL

>

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

List2 {ElcmentTypcPamml : : m SEQUENCE { elem    ElcmentTypcParam.

nexl    List2 {(0|} ElcmcntTypcParam) OPTIONAL

)

lntcgerList2 : : - List2 {INTEGER}, где результирующая нотация ACH.I является бесконечной: lntegerList2 : : - SEQUENCE { clem    INTEGER

next    SEQUENCE {

clem |0] INTEGER, next SEQUENCE {

clem 10] |0| INTEGER, next SEQUENCE {

clem (0) |0| |0| INTEGER, next SEQUENCE {

... - - и так далее } OPTIONAL } OPTIONAL } OPTIONAL

} OPTIONAL

}

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

Если значение парахнпризованной строки определяется следующим образом: gencnoBirthdayGrccting {lA5Stnng: name} lA5String : : e |"C днем рождения”, имя. “| I"},

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

greeting 1 lA5String : : = gencrioBirthdayGrccting {“Джон"} grceting2 lA5String :: » “С днем рождении. Джон 11”

II

Страница 15

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

А.5 Пример определения множества параметр»шванных значений

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

QuestListl{!ASStnng:cxtraQuest} lASString : : = {"Джек" | “Джон" | extraQucsl)

Quest List2 {lA5String:ExtraQuests} lASString : : = {"Джек” | “Джон" [ ExtniQuests)

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

SetOfQuests I IA5String :: = {QucsiList! {“Джилл"}}

SetOfQucsts2 IA5String : : = {QueslList2 | {{"Джилл"}}}

$ctOIQucsts3 lASString : : = {"Джек" | "Джон" | “Джилл"}

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

SetOIQucsts4 lASStnng : : “ {QuestL«st2 {{"Джилл” | “Мири"}}}

SclOfQuestsS lASString : : =■ {• Джек'* | “Джон” | “Джилл" | **Мэр»Г}

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

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

Следующий параметризованный класс может использоваться для определения классов ошибок, которые содержат колы ошибок различных типов. Следует обратить внимание, что параметр “ErrorCodeType" используется только как “DummyGovemor” для параметра "ValkJEnorCodesT.

GENERIC-ERROR {ErrorCodeType, ErrorCodeType:

ValidErrorCodes} : : “ CLASS {

(fcerrorCode Valid ErrorCodes

)

WITH SYNTAX {

CODE «SterrorCodc

)

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

ERROR-1 : : - GENERIC-ERROR {INTEGER. {1|2|3}}

ERROR-2 : : - GENERIC-ERROR {ErrorCodeString, {StringErrorCodes}}

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

ErrorCodeString : : «* lASString (SIZE (4))

StringErrorCodes ErrorCodeString : : • {“E001"|"E002“|“E0Q3*}

EnumeratedErrorCode : : = ENUMERATED {fatal, error, warning)

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

My-Errore ERROR-2 : : = {{CODE "EUOI") | {CODE ”E002*}J fatal Error, ERROR-3 :: - {CODE fatal}

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

Определение множества параметризованных объектов AllTypcs формирует множество объектов, которые содержит базовое множество объектов Base Types и множест во дополнительных объектов, которые поставляются как параметр AdditionalTypes.

AllTypcs {TYPE-1 DENTIFIER: AdditionalTypes) TYPE-IDENTIFIER :: = {

BaseTypcs i AdditionalTypes}

BaseTypcs TYPE-IDENTIFIER : : - {

{BasicTypc-l IDENTIFIER BY basic-type-obj-id-value-1} |

{BasicType-2 IDENTIFIER BY basic-type-obj-id-value-2} |

{BasicType-3 IDENTIFIER BY basic-type-obj-id-value-3}

)

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

{My-All-Types TYPE-IDENTIFIER : : = {AllTypcs {

{Му-Туре-1 IDENTIFIER BY my-obj-id-valuc-I) |

Страница 16

ГОСТ I» И (О/М ЭК 8824-4-2003

{Му-Турс-2 IDENTIFIER BY my-obj-id-value-2) |

(Му-Туре-3 IDENTIFIER BY my-obj-id-value-3)

}>

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

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

-    - Possible BodyTypcs яатясгся параметром абстрактного синтаксиса, messagc-abstract-syntax (MHS-BODY-CLASS: Possible BodyTypcs}

ABSTRACT-SYNTAX :: ~ {

INSTANCE OF MHS-BODY-CLASS ({PossibleBodvTypesJ)

IDENTIFIED (joint-iso-itu asnl (I) examples(l) 123)

)

-    - Это множество объектов перечисляет всс возможные

-    - пары значений и ндентификагоров-типа для типа "экземпляр-нз”.

-    - Множество объектов используется как фактический параметр

-    - определения парамефизированного абстрактного синтаксиса.

My-Body-Types MHS-BODY-CLASS :: - \

{My-First-Type IDENTIFIED BY my-fiist-obj-id} |

{My-Second-Type IDENTIFIED BY my-sccond-obj-id)

}

my-message-abstract-syntax ABSTRACT-SYNTAX : : ® mcssagC-abslracl-syntax {{My-Body-Types}}

ПРИЛОЖЕНИЕ В

(справочное)

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

Следующие элементы определены в ГОСТ Р ИСО/МЭК 8824-1 и используются в настоящем стандарте: type reference valuercfercnce

« . . s **

“Г

T .* •*

Следующие элементы определены в ГОСТ Р ИСО/МЭК 8824-2 и используются в настоящем стандарте: objcctc lassre fcrence object reference objectsctrefcrencc

Следующие продукции определены в ГОСТ Р ИС'О/МЭК 8824-1 и используются в настоящем стандарте: DcfincdType DefincdValuc Reference Type Value ValueSct

Следующие продукции определены в ГОСТ Р ИСО/МЭК 8824-2 и используются в настоящем стандарте: DcfincdObjcctClass DcfincdObject De f nedObject Se t ObjectClass

Страница 17

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

Object Object Set

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

ParametrizcdTypc Assignment

ParamctrizcdValucAssignmcnt

Pa rametrizcdValucSctTypcAssignment |

ParametrizedObjcctClassAssignmcnl |

ParametrizcdObjectAssignmcnt

ParametrizcdObjectSetAssignmcnt

ParametrizcdTypcAssignmcnt : : *

typerefcrcnce ParameterList    Type

ParamctrizcdValucAssignmcnt: : =■

valucrefercncc ParameterList Type    Value

ParametrizedValueSetTvpeAssignment: : =■

typerefcrcnce ParameterList Type : ■*" Value Set

PanamctrizcdObtcctClassAssignment : : =

objcctclassrefcrcncc ParameterList : =” ObjectClass

ParamctrizcdObtectAssignment : : =

objcctrcfcrence ParameterList DcfincdObjcctClass : e" Object

ParamctrizcdObjcctSetAssignmcnt : : =

objectsctrcl'erente ParameterList DcfmcdObjcctGass : =■” ObjectSet

ParameterList : : * Parameter + *•)’*

Parameter: : = ParamGovenor DummyRcfcrence | DummyRcfercnce

ParamGovenor : : = Gove nor | DummyGovenor

Govcnor : : = Type | DcfincdObjcctClass

DummyGovenor : : = DummyRcfercnce

DummyRcfercnce : : = Reference

ParametrizcdRcfercncc : : =■

Reference | Reference “I**

SimpleDcfincdTypc : : = Extcmaltypercfcrcncc | typerefcrcnce

SimplcDeftncdValuc : : = Lxtemalvalucrcfcrcncc | valuercfcrcnce

ParametrizcdTypc : : “ SimplcDefincdType Actual ParameterList

ParametrizedValue : : - SimpleDcfincdValue ActualParamctcrList

ParametrizcdValuc : : * SimplcDcfinedValuc ActualParamctcrList

ParametrizedValueSctType : : ” Sim pie DcfincdTypc Actual ParameterList

Страница 18

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

ParamctrizedObjectClass : : - DefmedObjcctClass ActualParameterLisl Paramctri/rdObjectSct : : = DefmedObjectSet Actual ParameterLisl ParametrizcdObject : : ™ DefmedObjcct Actual ParamctcrList Actual ParameterLisl: : ■= '*{" ActualParameter

Actual Parameter : : = Type | Value | ValueSet | DcfincdObjcctClass | Object | Object Set

15

Страница 19

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

УДК 6S 1.324:006.354    ОКС 35.100.70    П85    ОКСТУ    4002

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

Редактор В. П. Огурцов Технический редиктор Н.С. Гришанова Корректор B.C. Черпах Компьютерная верстка Е.Н. Мартсмьяиовои

И и. лии. >4 02354 ©г 14.07.2000. Сдано в набор O3.O3.20OJ. Подписано £ печать 19.03.2003. Уел. печ. л. 2.32. Уч.-иад. Я. 1,85. Тираж 215 аки. С 9986. Зак. 244.

ИПК Имательсню стандартов. 107076 Москва. Колодезный пер.. 14 hllp://www.standardi..ru    e-mail:    inloiT'vsanilardt.iu

Набрано в Ишатедьстве на ПЭВМ Филиал ИПК Издательство стандартов — тип. «Московский печатник». 105062 Москва. Лялин пер.. 6

Плр Nj 080102