(Действующий) Государственный стандарт РФ ГОСТ Р ИСО/МЭК 8824-93 "Информационная...

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

Действующий

Государственный стандарт РФ ГОСТ Р ИСО/МЭК 8824-93 "Информационная технология. Взаимосвязь открытых систем. Спецификация абстрактно-синтаксической нотации версии один (АСН.1)" (утв. постановлением Госстандарта РФ от 20 декабря 1993 г. N 263)

Information technology. Open Systems Interconnection. Specification Abstract Syntax Notation One (ASN.1)

Дата введения 1 июля 1994 г.
Введен впервые

Введение

На нижних уровнях базовой эталонной модели (см. ГОСТ 28906) каждый параметр данных пользователя, задаваемый в сервисном примитиве, определяется как двоичное значение некоторой последовательности октетов.
На уровне представления характер параметров данных пользователя становится иным. Спецификации по прикладному уровню требуют, чтобы данные пользователя услуг представления (см. ГОСТ 34.971) могли принимать значения весьма сложных типов, возможно, включающих строки знаков из различных знаковых наборов. Эти спецификации требуют наличия определенной нотации, которая определяла бы передаваемое значение, не задавая конкретного способа его представления. Способ представления определяется заданием одного или нескольких алгоритмов, называемых правилами кодирования. Правила кодирования определяют конкретный вид октетов на сеансовом уровне, с помощью которых передаются значения данных прикладного уровня (синтаксис передачи). Протокол уровня представления (см. ГОСТ 34.972) позволяет взаимодействующим объектам договариваться о том, какие синтаксисы передачи будут ими использоваться.
Цель задания значения состоит в том, чтобы можно было отличать его от всех возможных других значений. Объединение некоторого значения с другими значениями, отличными от данного, называется типом, и каждый конкретный элемент этой совокупности является значением этого типа. С более общих позиций значение или тип часто могут рассматриваться как образования, состоящие из более простых значений или типов, между которыми установлены взаимосвязи. В качестве синонима термина "тип" часто используют термин "тип данных".
Для правильной интерпретации конкретного представления значения (например, с помощью пометок на бумаге или бит, передаваемых по линии связи) необходимо знать тип передаваемых данных (обычно определяемый из контекста). Таким образом, указание типов является одним из важных вопросов, рассматриваемых в настоящем стандарте.
Одним из общих методов определения сложных типов является определение небольшого количества "простых типов" путем задания всех возможных значений этих типов и последующего образования различных комбинаций из этих простых типов. Ниже перечислены некоторые из способов определения новых типов:
а) имея список (упорядоченный) существующих типов, можно сформировать новое значение в виде последовательности, в которую входит по одному из значений каждого типа, входящего в список; совокупность всех возможных значений, получаемых таким образом, образует новый тип (если все уже определенные типы, входящие в список, являются различными, то можно расширить этот способ, допуская пропуск некоторых значений из списка);
b) имея список существующих типов, можно сформировать новое значение в виде множества (неупорядоченного) значений, в которое входит по одному из значений каждого типа, входящего в список; совокупность всех значений, получаемых таким образом, образует новый тип (этот способ можно также расширить, допуская пропуск некоторых значений);
c) имея один существующий тип, можно сформировать новое значение в виде последовательности (упорядоченной) или множества (неупорядоченного), состоящего из пустого множества значений и одного или нескольких значений исходного типа; совокупность (неограниченная) всех возможных значений, полученных таким образом, образует новый тип;
d) имея список различных существующих типов, можно выбрать какое-либо значение одного из этих типов; множество всех возможных значений, получаемых таким образом, образует новый тип;
е) имея некоторый тип, можно сформировать новый тип в виде подмножества исходного типа, используя некоторую структурную или порядковую взаимосвязь между элементами исходного множества.
Типы, определенные с помощью описанных выше методов, называются структурированными типами.
Каждому типу, определенному посредством нотации, описываемой настоящим стандартом, назначается "тег". Тег либо определен в самом стандарте, либо определяется пользователем описываемой здесь нотации.
Часто один и тот же тег назначается нескольким разным типам, при этом кконкретный тип идентифицируется контекстом, в котором используется тег.
Пользователь настоящей нотации может присвоить новый тег какому-либо существующему типу, создавая тем самым новый тип, отличный от первоначального. Это может потребоваться в тех случаях, когда необходимо определить, какой выбор был сделан в ситуации типа описанной выше в п. d).
Настоящей нотацией определяется четыре класса тегов.
Первый класс называется универсальным. Использование тегов универсального класса определяется спецификациями настоящего стандарта, причем каждый тег либо:
a) присвоен какому-то одному типу, либо
b) присвоен некоторому способу построения типов.
Второй класс тегов называется прикладным. Теги прикладного класса присваиваются типам данных в других стандартах. В рамках одного стандарта тег прикладного класса присваивается только какому-то одному типу.
Третий класс тегов называется пользовательским. Теги пользовательского класса не присваиваются в стандартах ИСО. Порядок их использования может быть различным в различных организациях.
Последний класс тегов называется контекстно-зависимым. Теги этого класса могут свободно назначаться при любом использовании настоящей нотации, и интерпретируются в соответствии с контекстом, в котором они используются.
Теги ориентированы главным образом на машинную обработку данных и не несут существенной информации при использовании нотации человеком. Однако в тех случаях, когда необходимо потребовать, чтобы все типы были различными, это выражается требованием различия тегов, присвоенных вышеупомянутым типам. Таким образом, присвоение тегов является важным аспектом использования настоящей нотации.
Примечания
1 Все типы, которые могут быть определены с использованием нотации, описываемой настоящим стандартом, имеют теги. Пользователь настоящей нотации может определить новый тип, присваивая новый тег ранее определенному типу.
2 Правила кодирования гарантируют явное или неявное задание тега типа вместе со значением данного типа при любом определении этого значения. Ограничения, налагаемые на использование настоящей нотации, обеспечивают достаточность тега для идентификации типа, при условии доступности определений соответствующих типов.
Настоящий стандарт определяет нотацию, которая служит одновременно и средством определения сложных типов данных, и средством задания конкретных значений этих типов. Это осуществляется без указания конкретного способа представления (в виде последовательности октетов) значений данного типа при их передаче. Нотация, обладающая этим свойством, называется нотацией для определения абстрактного синтаксиса.
Назначение настоящего стандарта состоит в описании нотации для определения абстрактного синтаксиса, называемой абстрактно-синтаксической нотацией версии 1, или АСН.1. Абстрактно-синтаксическая нотация версии 1 является полуформальным средством, используемым при определении протоколов. Использование настоящей нотации само по себе не исключает неоднозначности соответствующих спецификаций. Обеспечение однозначности спецификаций должно осуществляться пользователем нотации.
Настоящий стандарт поддерживается другими стандартами, определяющими правила кодирования. Применение правил кодирования к значениям некоторого типа, определенным в АСН.1, полностью определяет представление этих значений при передаче (т.е. синтаксис передачи).
С технической и редакционной точек зрения настоящий стандарт согласуется с рекомендацией Х.208 (1988) МККТТ.
Часть 1 настоящего стандарта содержит определения простых типов, используемых в АСН.1, и определяет обозначения, которые следует использовать для ссылок на простые типы и для описания структурированных типов. В части 1 также описываются обозначения, которые следует использовать при задании значений типов, определенных с помощью АСН.1.
В части 2 настоящего стандарта определяются дополнительные типы (типы "строка знаков"), которые применением правил кодирования могут быть приравнены к типу "строка октетов".
В части 3 настоящего стандарта определяются некоторые структурированные типы, которые являются общеупотребительными, и в то же время не требуют введения новых правил кодирования, отличных от правил кодирования ранее определенных типов.
В части 4 настоящего стандарта определяются обозначения, позволяющие определять подтипы из значений порождающего типа.
Приложение А является обязательной частью настоящего стандарта и определяет нотацию, расширяющую базовую нотацию АСН.1. Эти расширения называются макросредствами.
Приложение В является обязательной частью настоящего стандарта и содержит определение логического дерева идентификаторов объектов для источников идентификации, поддерживаемых ИСО.

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

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

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

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