Товары в корзине: 0 шт Оформить заказ
Стр. 1
 

90 страниц

639.00 ₽

Купить ГОСТ 34.973-91 — официальный бумажный документ с голограммой и синими печатями. подробнее

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

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

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

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

Распространяется на синтаксис передачи данных в прикладном уровне базовой эталонной модели взаимосвязи открытых систем и устанавливает спецификацию абстрактно-синтаксической нотации версии 1 (АСН.1), описывающую значения типов данных пользователя без указания конкретного способа представления этих значений при их передаче.

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

  Скачать PDF

Оглавление

0. Введение

1. Назначение и область применения

2. Ссылки

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

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

5. Система обозначений, используемая в настоящем стандарте

5.1. Продукция

5.2. Совокупности-варианты

5.3. Пример продукции

5.4. Расположение текста

5.5. Рекурсия

5.6. Ссылки на совокупность последовательностей

5.7. Ссылки на элемент

5.8. Теги

6. Использование нотаций ACH.1

7. Набор знаков нотаций ACH.1

8. Элементы ACH.1

8.1. Общие правила

8.2. Ссылки на тип

8.3. Идентификаторы

8.4. Ссылки на значение

8.5. Ссылка на модуль

8.6. Комментарий

8.7. Пустой элемент

8.8. Элемент «Число»

8.9. Элемент «двоичная строка»

8.10. Элемент «шестнадцатеричная строка»

8.11. Элемент «строка знаков»

8.12. Элемент «присвоение»

8.13. Элементы, состоящие из одного знака

8.14. Элементы - ключевые слова

9. Определение модуля

10. Ссылки на определение типов и значений

11. Присвоение типов и значений

12. Определение типов и значений

13. Обозначения булевского типа

14. Обозначения целочисленного типа

15. Обозначения для «строка битов»

16. Обозначения типа «строка октетов»

17. Обозначения вырожденного типа

18. Обозначения типов «последовательность»

19. Обозначения типов «Последовательность из»

20. Обозначения типа «Множество»

21. Обозначения типов «Множество из»

22. Обозначения выборочных типов

23. Обозначения селективных типов

24. Обозначения тегированных типов

25. Обозначения произвольного типа

26. Обозначения типа «Идентификатор объекта»

27. Обозначения типов «Строка знаков»

28. Обозначения типов: общая формула записи времени, всемирное время, внешний тип. Описатель объекта

29. Определение типов «строка знаков»

30. Общая форма записи времени

31. Всемирное время

32. Внешний тип

33. Тип «Описатель объекта»

Приложение 1. Макронотации

Приложение 2. Значения компонентов OBJECT IDENTIFIER, определяемые ИСО

Приложение 3. Значения компонентов OBJECT IDENTIFIER, определяемые МККТТ

Приложение 4. Значения компонентов OBJECT IDENTIFIER, определяемые совместно

Приложение 5. Примеры и рекомендации

Приложение 6. Сводка синтаксиса нотации ACH.1

Приложение 7. Алфавитный указатель

Приложение 8. Графы компонентов идентификаторов объектов

Информационные данные

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

ГОСУДАРСТВЕННЫЙ СТАНДАРТ

СОЮЗА ССР

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ

ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ.

СПЕЦИФИКАЦИЯ АБСТРАКТНО-СИНТАКСИЧЕСКОЙ НОТАЦИИ ВЕРСИИ I (АСН.1)

48 p. 55 к. БЗ 7—91/794

ГОСТ 34.973-91 (ИСО 8824-87)

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

КОМИТЕТ СТАНДАРТИЗАЦИИ И МЕТРОЛОГИИ СССР

Москва

УДК 681.224 : 621.391 : 006.354    Группа    П85

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР

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

ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ.

СПЕЦИФИКАЦИЯ АБСТРАКТНО-    ГОСТ

СИНТАКСИЧЕСКОЙ НОТАЦИИ ВЕРСИИ 1 (АСН.1)    34.973—91

Information technology.    (ИСО    8824—87)

Open systems interconnection.

Specification of abstract syntax notation one (ASN.l)

ОК.СТУ 0034

Дата введения 01.07.92

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

Требования настоящего стандарта являются обязательными.

Настоящий государственный стандарт эквивалентен стандарту Международной организации по стандартизации, за исключением:

а)    упорядоченного использования аббревиатур;

б)    в разд. 7.1 в примечание 2 введена новая табл. 3, содержащая знаки «кириллицы» с введением новой формулировки текста примечания 2;

в)    введено дополнительно приложение 8, содержащее примеры использования идентификаторов объектов в виде графов компонентов идентификаторов объектов.

0. ВВЕДЕНИЕ

На нижних уровнях базовой эталонной модели (ГОСТ 28906) каждый параметр данных пользователя, задаваемый в сервисном примитиве, определяется как двоичное значение некоторой последовательности октетов.

На уровне представления характер параметров данных пользователя становится иным. Стандарты по прикладному уровню

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

© Издательство стандартов, 1991 Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен без разрешения Госстандарта СССР

3.33.    Рекурсивные определения — множество таких определений, допускающихся в нотации АСН.1, которые не могут быть переупорядочены таким образом, чтобы все типы, использующиеся в соответствующих конструкциях этих определений, были определены до использования этих конструкций.

Примечание. Рекурсивные определения разрешены в АСН.1; пользователь этой нотации должен позаботиться о том, чтобы используемые значения получаемых в результате типов имели конечное представление.

3.34.    Модуль — одно или несколько выражений нотации АСН.1 для определения типов и значений, оформленных как единое целое в соответствии с обозначениями определения модулей (см. разд. 9).

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

3.36.    Всемирное согласованное время (UTC)—временной эталон, поддерживаемый Международным бюро времени и служащий основой для согласованного распространения частот и сигналов времени.

Примечания:

1.    Источником этого определения является рекомендация 460—2 Международной консультативной комиссии по радио (CCIR). Акроним UTC для всемирного согласованного времени также был введен CCIR.

2.    UTC также называют средним гринвичским временем; соответствующие временные сигналы регулярно транслируются.

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

4. СОКРАЩЕНИЯ

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

UTC — всемирное согласованное время.

ICD — международный кодовый определитель.

5. СИСТЕМА ОБОЗНАЧЕНИИ, ИСПОЛЬЗУЕМАЯ В НАСТОЯЩЕМ

СТАНДАРТЕ

Нотация АСН.1 строится из последовательностей знаков знакового набора АСН.1, определенного в разд. 7.

Каждый конкретный случай использования нотации АСН.1 содержит знаки из знакового набора АСН.1, сгруппированные в эле-

ГОСТ 34.973-91 С. 11

менты. В разд. 8 определяются все последовательности знаков, образующие элементы нотации АСН.1, и каждому элементу присваивается имя.

Нотация АСН.1 определяется в разд. 9 (и последующих разделах) путем описания совокупности последовательностей элементов, которые образуют правильные варианты использования нотации АСН.1, и определения семантики каждой такой последовательности.

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

5.1.    Продукция

Продукция—это правило образования новой (более сложной) совокупности последовательностей.

С помощью продукции, используя имена совокупностей последовательностей, определенных в настоящем стандарте, строят новую совокупность последовательностей двумя способами:

а)    образованием новой совокупности из последовательностей, содержащихся в любой из исходных совокупностей, либо

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

Каждая продукция включает части, образующие одну или несколько строк, в следующем порядке:

а)    имя новой совокупности последовательностей;

б)    знаки:

•    *__*    щ

1

в)    одна или несколько совокупностей-вариантов последовательностей, определенных по правилам, описанным в подразделе 5.2 и разделенных знаком:

I.

Последовательность присутствует в новой совокупности, если она присутствует в одной или нескольких совокупностях-вариантах. Ссылки на новую совокупность в настоящем стандарте осуществляются путем задания имени перечисления а).

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

5.2.    Совокупност и-в ариалты

Каждая из совокупностей-вариантов, упомянутых в перечислении в) п. 5.1, задается с помощью списка имен. Каждое из этих имен является либо именем элемента, либо именем совокупности

последовательностей, определенных с помощью продукции в настоящем стандарте.

Совокупность-вариант состоит из всех последовательностей, по-лучаемых выбором произвольной последовательности (или элемента) из совокупности, определяемой первым именем, за которой помещается произвольная последовательность (или элемент) из совокупности, определяемой вторым именем, за которой в свою очередь помещается произвольная последовательность (или элемент) из совокупности, определяемой третьим именем, и так далее, вплоть до последнего имени, заданного для данного варианта.

5.3.    Пример продукции

Значение-СтрокаБитов : : = b-строка I

h-строка I

{Список-Идентификаторов}

Приведенная выше запись является примером продукции, кото-рая связывает имя Значение-СтрокаБитов со следующими последовательностями:

а)    произвольным элементом «Ь-строка»;

б)    произвольным элементом «h-строка»;

в)    произвольной последовательностью из совокупности с именем «Список-Идентификаторов», перед которой следует знак «{» и за которой следует знак «}».

Примечание. Знаки «{* и «}» являются именами элементов, состоящими из одного знака, соответственно «{» и «}».

«Список-Идентификаторов» в данном примере должен быть определен другой продукцией, которая может быть приведена как до, так и после продукции «Значение-СтрокаБитов».

5.4.    Расположение текста

Каждая продукция, используемая в настоящем стандарте, предваряется пустой строкой; за продукцией также следует пустая строка. Внутри продукции пустые строки отсутствуют. Продукция может либо состоять из одной строки, либо быть разбитой на несколько строк. Расположению текста продукции не придается ка-кого-либо значения.

5.5.    Рекурсия

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

Примечание. Во многих случаях такое повторное применение продукции приводит к неограниченной совокупности разрешенных последовательностей, некоторые из которых сами могут быть неограниченными. Это не является ошиб-

ГОСТ 34.973-91 С. 13

Т аблица 1

Присвоение тегов универсального класса

UNIVERSAL

1

Булевский тип

UNIVERSAL

2

Целочисленный тип

UNIVERSAL

3

Тип «строка битов»

UNIVERSAL

4

Тип «строка октетов»

UNIVERSAL

5

Вырожденный тип

UNIVERSAL

6

Тип «идентификатор объекта»

UNIVERSAL

7

Тип «описатель объекта»

UNIVERSAL

8

Внешний тип

UNIVERSAL

9—15

Зарезервированы для дополнений к настояще-

му стандарту

universal

16

Типы «последовательность» и «последователь-

ность из»

universal

17

Типы «множество» и «множество из»

UNIVERSAL

18—22,

Типы «строка знаков»

25—27

UNIVERSAL

23-24

Типы «время»

UNIVERSAL

28-...

Зарезервированы для дополнений к настояще-

му стандарту

5.6.    Ссылки на совокупность последовательностей

В настоящем стандарте ссылки на совокупность последовательностей (часть нотации АСН.1) осуществляются указанием первого имени в продукции (перед знаками «: : ==>); если ссылка на имя не является частью продукции, то имя обрамляется знаками «кавычки», с тем чтобы отличить его от остального текста на естественном языке.

5.7.    Ссылки на элемент

В настоящем стандарте ссылки на элемент осуществляются указанием имени элемента; если имя не является частью продукции, то оно обрамляется знаками «кавычки», с тем чтобы отличить его от остального текста на естественном языке.

5.8.    Теги

Тег задается указанием его класса и номера в классе. Определены следующие классы тегов:

универсальный (univesal);

прикладной (application);

пользовательский (private);

контекстно-зависимый (context-spesitic).

Номер задается в виде неотрицательного целого числа в десятичной системе счисления.

Ограничения на теги, присваиваемые пользователем АСН.1, определены в разд. 24.

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

Д Зак 1730

структуру верхнего уровня, а для простых типов тег полностью определял тип. В табл. 1 перечисляются теги универсального класса.

Примечание Для дополнений к настоящему стандарту резервируется дополнительное множество тегов.

6. ИСПОЛЬЗОВАНИЕ НОТАЦИИ АСН.1

6.1.    Обозначения нотации АСН.1 для определения типа определяются продукцией «Тип» (п. 12.1).

6.2.    Обозначения нотации АСН.1 для определения значения типа определяются продукцией «Значение» (п. 12.6).

Примечание. Невозможно интерпретировать значение, не зная типа, к которому оно относится

6.3.    Обозначения нотации АСН.1 для присвоения типа ссылке на тип определяется продукцией «Присвоение Типа» (п. 11.1).

6.4.    Обозначения нотации АСН.1 для присвоения значения ссылочному имени значения определяются продукцией «Присвоение Значения» (п. 11.2).

6.5.    Обозначения вида «ПрисвоениеТипа» и «ПрисвоениеЗна-чения» должны использоваться только внутри обозначения вида «ОпределениеМодуля» (п. 9.1).

7. НАБОР ЗНАКОВ НОТАЦИИ АСН.1

7.1. Каждый элемент АСН.1 состоит из последовательности знаков, перечисленных в табл. 2, за исключением случаев, описанных в пп. 7.2 и 7.3.

Таблица 2 Набор знаков АСН.1

От А до Z от а до z От 0 до 9

Примечания.

1.    Дополнительно к знакам, перечисленным в табл 2, в макронотации используются знаки «I» и «>»

2.    Настоящим стандартом допускается присутствие знаков, перечисленных в табл 3, в следующих элементах (пять последних элементов определяются в приложении 1)-

СсылкаНаТип (п 8 2 1);

Идентификатор (п 8 3);

СсылкаНаЗначеиие (п. 8 4);

СсылкаНаМодуль (п 8 5);

ГОСТ 34.973-91 С. 15

Макроссылка (п. 1.2.1);

СсылкаНаПродукцию (п 1.2.2); ЛокальнаяСсылкаНаТип (п. 1.2.3);

Локальная ссылка на Значение (п. 1.2.4); a-строка (п. 1.2.7).

Таблиц^ з Дополнительный набор знаков ДСН.1

От А до Я От а до я

7.2.    При использовании нотации для определения значения типа «строка знаков» в обозначение нотации АСН.1 могут входить все знаки заданного знакового набора, обхамленные знаками «кавычки» (п. 8.11).

7.3.    Дополнительные символы (не включенные в табл. 2) могут входить в состав элемента «комментарий» (п. 8.6).

7.4.    Не следует придавать ни какого-либо значения типографскому стилю, размеру, цвету, яркости и Другим характеристикам знаков нотации, связанным со способом их отображения.

7.5.    Строчные и прописные буквы следует рассматривать как различные знаки.

8. ЭЛЕМЕНТЫ АСН.1

8.1.    Общие правила

8.1.1.    В следующих подразделах определяется, с помощью каких знаков образуются элементы АСН.1. Ej каждом случае дается имя элемента и определение знаковых последовательностей, из которых может состоять элемент.

Примечание. В приложении 1 определяются дополнительные элементы, использ>ющиеся в макронотации.

8.1.2.    Каждый из элементов, определяемых в последующих подразделах, должен располагаться в пределах одной строки и (за исключением элемента «комментарий») Не должен содержать пробелов.

8.1.3.    Длина строки не ограничивается.

8.1.4.    Элементы в последовательности^ определяемых настоящим стандартом (в обозначениях нотации АСН.1), могут располагаться на одной или на нескольких строках и могут разделяться одним или несколькими пробелами или пуСХыми строками.

8.1.5.    Всякий элемент должен отделятЬ€Я от следующего за ним элемента пробелом или помещением ег0 на следующую строку, если начальный знак (или знаки) следующего элемента являются разрешенными для включения в конец последовательности

3*

С. 16 ГОСТ 34.973-91

знаков предыдущего элемента.

8.2.    Ссылки на тип

Имя элемента — СсылкаНаТип.

8 2 1. Элемент «СсылкаНаТип» должен состоять из произвольного количества (большего или равного единице) букв, цифр и дефисов. Начальный знак должен быть прописной буквой. Последний знак не должен быть дефисом. Два дефиса не должны следовать друг за другом.

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

8.2.2.    Элемент «СсылкаНаТип» не должен совпадать с одной из зарезервированных знаковых последовательностей, перечисленных в табл. 4.

8.3. Идентификаторы

Наименование элемента — Идентификатор.

Элемент «Идентификатор» должен состоять из произвольного количества (большего или равного единице) букв, цифр и дефисов. Начальный знак должен быть строчной буквой. Последний знак не должен быть дефисом Два дефиса не должны следовать друг за другом.

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

Таблица 4

Зарезервированные последовательности знаков

BOOLEAN

INTEGER

BIT

STRING

OCTET

NULL

SEQUENCE

OF

SET

IMPLICIT

CHOICE

ANY

EXTERNAL

OBJECT

IDENTIFIER

OPTIONAL

DEFAULT

COMPONENTS

TRUE

FALSE

BEGIN

END

ГОСТ 34.973-91 С. 17

Примечание. В приложении I (п. 1.2.9) определены другие последовательности знаков, зарезервированные при использовании в тексте макроопределений.

8.4.    Ссылки на значение

Имя элемента — СсылкаНаЗначение.

Элемент «СсылкаНаЗначение» должен состоять из последовательности знаков, удовлетворяющей определению элемента «Идентификатор» в п. 8.3. Отличие элемента «СсылкаНаЗначение» от элемента «Идентификатор» при анализе конкретного использования настоящей нотации достигается различием контекстов, в которых появляются эти элементы.

8.5.    Ссылка на модуль

Имя элемента — СсылкаНаМодуль.

Элемент «СсылкаНаМодуль» должен состоять из последовательности знаков, удовлетворяющей определению элемента «Ссыл-каНаТип» в п. 8.2. Отличие элемента «СсылкаНаМодуль» от элемента «СсылкаНаТип» при анализе конкретного использования настоящей нотации обеспечивается различием контекстов, в которых появляются эти элементы,

8.6.    Комментарий

Имя элемента — Комментарий.

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

8.6.2.    «Комментарий» начинается с пары следующих друг за другом дефисов и заканчивается другой парой следующих друг за другом дефисов, либо концом текущей строки, в зависимости от того, что последует раньше. Комментарий не может содержать в себе пару следующих друг за другом дефисов, кроме той, с которой он начинается и, если она имеется, той, которая его завершает. Комментарий может содержать знаки, не являющиеся элементами знакового набора, определенного в п. 7.1 (п. 7.3).

8.7.    Пустой элемент

Имя элемента — Пусто.

Элемент «Пусто» не содержит никаких знаков. Он используется при задании совокупностей-вариантов в тех случаях, когда требуется указать, что возможно отсутствие всех приведенных альтернатив.

8.8.    Элемент «ч и с л о»

Имя элемента — Число.

Элемент «Число» состоит из одной или более цифр. Первая цифра не может быть нулем, за исключением случая, когда «Число» состоит из одной цифры.

С. 18 ГОСТ 34.973-91

8.9.    Элемент «двоичная строка^

Имя элемента — Ь-строка.

Элемент «двоичная строка» состоит из Произвольного количества (от нуля и более) нулей и единиц, пе^ед которыми следует знак «'» и за которыми следует пара знаков:

Пример. 'ОПОПОО'В.

8.10.    Элемент «шестнадцатеричная строка»

Имя элемента—h-строка.

8.10.1.    Элемент «шестнадцатеричная строка» состоит из произвольного количества (от нуля и более) знаков-

ABCDEF012345678 9, перед которыми следует знак «'» и за которыми следует пара знаков:

Пример. 7AB0186'H

8.10.2.    Кзждый знак используется для Обозначения значения полуоктета в шестнадцатеричном представлении.

8.11.    Э л е м е н т «строка знаков»

Имя элемента — с-строка.

Элемент «с-строка» состоит из произвольного количества (от нуля и более) знаков из набора знаков, который определяется типом рассматриваемой строки знаков, перед которыми и вслед за которыми следует знак ("). Если набор зцаков содержит знак ("), то он представляется в элементе «с-строка» парой знаков ("). Набор знаков, о котором идет речь, с0всем необязательно ограничивается знаками, перечисленными в >абл. 2, он определяется типом рассматриваемого элемента «с-строка» (типом, для которого «СтрокаЗнаков» является значением) (см п 7 2)

Пример. " "

8.12.    Э л е м е н т «присвоение»

Имя элемента — « : : = »

Этот элемент состоит из последовательности знаков: : : = Примечание Эта последовательность не содерЖНТ пробелов (см. п.

8.13.    Элементы, состоящие из одного знака Имена элементов —{

>

ГОСТ 34.973-91 С. 19

[

]

- (дефис)

Элемент имеющий имя, входящее в приведенный выше перечень состоит из одного символа, образующего это имя.

8.14. Э л е м е н т ы — ключевые слова Имена элементов:

BOOLEAN

INTEGER

BIT

STRING

OCTET

NULL

SEQUENCE

OF

SET

IMPLICIT

CHOICE

ANY

EXTERNAL

OBJECT

IDENTIFIER

OPTIONAL

DEFAULT

COMPONENTS

UNIVERSAL

APPLICATION

PRIVATE

TRUE

FALSE

BEGIN

END

DEFINITIONS

Элементы с именем, входящим в приведенный выше перечень, состоят из последовательности знаков, составляющей это имя.

Примечания:

1.    В приведенных выше последовательностях знаков отсутствуют пробелы.

2.    Последовательности из этого перечня, не являющиеся зарезервированными (перечисленными в п. 8.2.2), могут быть отличны от других элементов, содержащих такие же знаки, с помощью контекста, в котором они присутствуют.

9. ОПРЕДЕЛЕНИЕ МОДУЛЯ

9.1. «ОпределениеМодуля» задается следующими продукциями^ ОпределениеМодуля : : = СсылкаНаМодуль

требуют, чтобы данные пользователя услуг представления могли принимать значения весьма сложных типов, возможно, включающих строки знаков из различных знаковых наборов. Эти стандарты требуют наличия определенной нотации, которая определяла бы передаваемое значение, не задавая конкретный способ представления этого значения. Способ представления определяется заданием одного или нескольких алгоритмов, называемых правилами кодирования. Правила кодирования определяют конкретный вид октетов на сеансовом уровне, с помощью которых передаются значения данных прикладного уровня (синтаксис передачи). Протокол уровня представления позволяет взаимодействующим объектам договариваться о том, какие синтаксисы передачи будут ими использоваться.

Цель задания значения состоит в том, чтобы отличить его от всех возможных других значений. Объединение некоторого значения с другими значениями, отличными от данного, называется типом, каждый конкретный элемент этой совокупности является значением этого типа. С более общих позиций значение или тип часто могут рассматриваться как образования, состоящие из более простых значений или типов, между которыми установлены взаимосвязи. В качестве синонима термина «тип» часто используется термин «тип данных».

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

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

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

б)    имея список существующих типов можно сформировать новое значение как (неупорядоченное) множество значений, в которое входит по одному значению из каждого типа, входящего в список; совокупность всех значений, получаемых таким обра-

С. 20 ГОСТ 34.973-91

DEFINITIONS « : : =»

BEGIN

ТелоМодуля

END

ТелоМодуля : : = СписокПрисвоений I

Пусто

СписокПрисвоений : : = Присвоение I

СписокПрисвоений Присвоение

Присвоение : : = ПрисвоениеТипа I

ПрисвоениеЗначения

Примечания

1    В приложения 1 определяются последовательности вида «Макроопределение», которые также могут присутствовать в последовательности вида «Список Присвоении» Выражения, определяемые с помощью макроопределений, могут быть приведены как до, так и после самого макроопределения, в рамках того же модуля

2    В отдельных (исключительных) случаях для использования в качестве примеров, а также для определения типов с тегами универсального класса последовательность вида «Тело-Модуля» может использоваться самостоятельно, а не как часть последовательности «Определение Модуля»

3    Продукции «ПрисвоениеТипа» и «ПрисвоениеЗначения» определяются в разд 11.

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

контекста представления

9.2.    «СсылкаНаМодуль», присутствующая в продукции «Опре-делениеМодуля», называется именем модуля. Имена модулей выбираются таким образом, чтобы обеспечить полноту и согласованность всех последовательностей вида «Присвоение», присутствующих в составных частях «ТелоМодуля» всех последовательностей вида «ОпределениеМодуля», в которых используется данное имя модуля. Множество последовательностей вида «Присвоение» считается полным и согласованным, если каждой содержащейся в ней последовательности вида «СсылкаНаТип» или «СсылкаНа Значение» соответствует в точности одна последовательность вида «ПрисвоениеТипа» или «ПрисвоениеЗначения» соответственно, коюрые устанавливают связь между именем и соответственно типом или значением.

9.3.    Имена модулей должны использоваться только один раз в сфере применения определения модуля, за исключением случаев, определенных в п. 9 4.

Примечание. Рекомендуется следующая форма имен модулей, определенных в стандартах.

ГОСТ 34.973-91 С 3

зом образует новый тип (этот способ можно также расширить, допуская пропуск некоторых значений);

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

г)    имея список различных существующих типов, можно выбрать какое-либо значение из одного из этих типов; множество всех возможных значений, получаемых таким образом, образует новый тип;

д)    имея некоторый тип, можно сформировать новый тип как подмножество исходного типа, используя некоторую структурную или порядковую взаимосвязь между элементами исходного множества

Типы, определенные с помощью описанных выше методов, называются структурированными типами

Каждому типу, определенному посредством нотации, описываемой настоящим стандартом, назначается тег. Тег либо определен в самом стандарте, либо определяется пользователем описываемой здесь нотации

Часто один и тот же тег назначается нескольким разным типам, при этом конкретный тип идентифицируется контекстом, в котором используется тег

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

Настоящей нотацией определяется четыре класса теюв.

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

а)    присвоен какому-то одному типу, либо

б)    присвоен некоторому способу построения типов.

Второй класс тегов называется прикладным классом. Теги прикладного класса присваиваются типам данных в других стандартах. В рамках одного стандарта тег прикладного класса присвоен только какому-то одному типу.

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

С. 4 ГОСТ 34.973—91

Четвертый класс тегов называется контекстно-зависимым классом. Теги этого класса могут свободно назначаться при любом использовании настоящей нотации и интерпретируются в соответствии с контекстом, в котором они используются.

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

Примечания:

1. Все типы, которые могут быть определены с использованием нотации, описываемой настоящим стандартом, имеют теги Пользователь настоящей нотации может определить новый тип, присваивая новый тег ранее определенному типу

2 Правила кодирования гарантируют явное или неявное задание типа тега вместе е<> значением данного типа при любом представлении этого значения. Ограничения, накладываемые на использование настоящей нотации, обеспечивают достаточность тега для идентификации типа при условии доступности определений соответствующих типов.

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

Назначение настоящего стандарта состоит в описании нотации для определения абстрактного синтаксиса, называемой абстрактносинтаксической нотацией версии 1 (АСН.1). Абстрактно-синтаксическая нотация версии 1 является полуформальным средством, используемым при определении протоколов. Использование настоящей нотации само по себе не исключает неоднозначность соответствующих спецификаций. Обеспечение однозначности спецификаций должно осуществляться пользователем нотации.

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

С технической точки зрения настоящий стандарт согласуется с соответствующими частями рекомендации МККТТ X. 409 (1984).

Разд. 1 настоящего стандарта содержит определения простых типов, используемых в АСН.1, и определяет обозначения, которые

ГОСТ 34.973-91 С. 5

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

В разд. 2 настоящего стандарта определяются дополнительные типы (типы «строка знаков»), которые применением правил кодирования могут быть приравнены к типу «строка октетов».

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

Приложение 1 определяет нотацию, расширяющую базовую нотацию АСН.1. Эти расширения называются макросредствами.

Приложение 2 содержит определение логического дерева идентификаторов объекта для источников идентификации.

Приложение 3 содержит определение логического дерева идентификаторов объектов для источников идентификации.

Приложение 4 содержит определение логического дерева идентификаторов объектов для совместного использования ИСО и

мкктт.

Приложение 5 содержит примеры н рекомендации по использованию нотации АСН.1.

Приложение 6 содержит сводку синтаксиса нотации АСН.1, использующую правила описания синтаксиса, описанные в разд. 5.

В приложении 7 приводится алфавитный указатель ключевых слов, типов и основных терминов.

Приложение 8 содержит графы компонентов идентификаторов объектов (введено дополнительно для иллюстрации примеров использования идентификаторов объектов).

Приложение 9 содержит ссылочные нормативно-технические документы

Текст настоящего стандарта (в особенности это относится к приложениям 2—4) является результатом договоренности между ИСО и МККТТ.

1. НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ

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

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

2 3 ак 1720

С 6 ГОСТ 34.973-91

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

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

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

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

2. ССЫЛКИ

ИСО 8601 (ГОСТ 24520) «Цифровое обозначение дат») «Элементы данных и форматы обмена. Обмен информацией. Представление дат и времени».

ИСО 3166 «Коды для представления названий стран».

(ГОСТ 28906) «Системы обработки информации. Взаимосвязь открытых систем. Базовая эталонная модель» (см. также Рекомендацию МККТТ Х.200).

ИСО 8825 (ГОСТ 34.974) «Системы обработки информации. Взаимосвязь открытых систем. Описание базовых правил кодирования для абстрактно-синтаксической нотации версии 1 (АСН.1)».

МККТТ Х.409 «Системы обработки сообщений. Синтаксис и нотация представления информации при передаче».

3. ОПРЕДЕЛЕНИЯ

Термины, используемые в настоящем стандарте, и их определения—по ГОСТ 28906 со следующими дополнениями.

3.1.    Значение — отличный от других элемент множества значений.

3.2.    Тип — множество значений, которому присвоено имя.

3.3.    Простой тип — тип, определяемый прямым заданием множества составляющих его значений.

3.4.    Структурированный тип — тип, при определении которого используются ссылки на другие типы.

ГОСТ 34.973-91 С. 7

3.5.    Тип-компонент — один из типов, используемых при определении структурированного типа.

3.6.    Тег — обозначение типа, присваиваемое каждому типу в АСН.1.

3.7.    Тегирование — изменение существующего тега (возможно, заданного по умолчанию) некоторого типа новым тегом.

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

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

3.10.    Ссылка на тип (или значение) —имя, однозначно идентифицирующее тип (или значение) в рамках некоторого контекста.

Примечани.е. Ссылочные имена присваиваются типам, определяемым в настоящем стандарте; эти имена могут применяться при любом использовании АСН.1. Другие ссылочные имена определены в других стандартах, они применимы только в контексте соответствующих стандартов

3.11.    Правила кодирования АСН.1 — правила, определяющие конкретное представление (при передаче) значений любых типов, определенных в АСН.1; правила кодирования АСН.1 позволяют получателю распознать переданную информацию как конкретное значение конкретного типа, определенного в АСН.1.

3.12.    Тип «строка знаков» — тип, значения которого являются строками знаков из некоторого набора знаков.

3.13.    Булевский тип — простой тип с двумя различными значениями.

3.14.    Истина — одно из двух различных значений булевского типа.

3.15.    Ложь — другое значение булевского типа.

3.16.    Целочисленный тип — простой тип с различными значениями, являющимися положительными или отрицательными целыми числами, включая нуль (рассматриваемый как одно значение).

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

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

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

щееся в диапазоне между некоторыми минималным и максимальным значениями.

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

Примечание. Правила кодирования не ограничивают число октетов в строке октетов. Тем не Менее, конкретный пользователь может указать с помощью комментария, что используются строки, содержащие количество октетов, находящееся в диапазоне между некоторыми минимальным и максимальным значениями.

3.19.    Вырожденный тип (тип NULL) — простой тип, состоящий из единственного значения, также называемого вырожденным значением («NULL»).

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

3.20.    Тип «последовательность»— структурированный тип, определяемый ссылкой на фиксированный упорядоченный список типов (некоторые из которых могут быть объявлены необязательными); каждое значение нового типа является упорядоченной последовательностью значений типов-компонентов, по одному из каждого из них.

Примечание. Если тип-компонент объявлен необязательным, то значение нового типа может не включать в себя значение этого типа-компонента.

3.21.    Тип «последовательность из» — структурированный тип, определяемый ссылкой на один из существующих типов; каждое значение нового типа является упорядоченной последовательностью из пустого множества значений, одного или более значений существующего типа.

Примечание. Правила кодирования не ограничивают число значений-компонентов в значении «последовательность из». Тем не менее, конкретный пользователь АСН.1 может указать с помощью комментария минимальное и максимальное количество значений.

3.22.    Тип «множество» — структурированный тип, определяемый ссылкой на фиксированный неупорядоченный список различных типов (некоторые из которых могут быть объявлены необязательными); каждое значение нового типа является неупорядоченным списком значений, по одному из каждого типа-компонента.

Примечание. Если тип-компонент объявлен необязательным, то новый тип необязательно содержит значение этого типа-компонента.

3.23.    Тип «множество из» — структурированный тип, определяемый ссылкой на единственный существующий тип; каждое зна-

ГОСТ 34.973-91 С. 9

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

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

3.24.    Тегированный тип — тип, определяемый указанием одного из существующих типов и тега; новый тип является изоморфным существующему типу, но отличен от него.

3.25.    Выборочный тип — структурированный тип, определяемый указанием фиксированного неупорядоченного списка различных типов; каждое значение нового типа является значением одного из типов-компонентов.

3.26.    Селективный тип — структурированный тип, определяемый указанием одного из типов-компонентов выборочного типа.

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

3.28.    Внешний тип — тип, различные значения которого не могут быть установлены только лишь по той информации, что они являются значениями внешнего типа, однако значения этого типа могут быть установлены по их кодовому представлению; эти значения могут быть (но это необязательно)описаны с помощью АСН.1, и, соответственно, их кодовое представление может (но необязательно) соответствовать правилам кодирования для АСН.1.

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

3.30.    Идентификатор объекта — значение {отличающееся от других подобных значений), которое связывается с информационным объектом.

3.31.    Тип «идентификатор объекта» — тип, различные значения которого составляют множество всех идентификаторов объектов, присвоенных в соответствии с правилами настоящего стандарта.

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

3.32.    Тип «описатель объекта» — тип, различные значения которого имеют вид текста, ориентированного на восприятие человеком и дающего краткое описание информационного объекта.

Примечание Обычно (но не всегда) описатель объекта связывается с каким-то одним информационным объектом. Информационный объект полностью идентифицируется только с помощью идентификатора объекта.