Профессиональное решение
для специалистов строительной отрасли


ГОСТ Р ИСО/МЭК 8824-3-2002

     
Группа П85


ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

Часть 3

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

Information technology. Abstract Syntax Notation One (ASN.1).
Part 3. Constraint specification



ОКС 35.100.70

ОКСТУ 4002

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


Предисловие

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

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

2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 11 ноября 2002 г., N 406-ст

3 Настоящий стандарт содержит полный аутентичный текст международного стандарта ИСО/МЭК 8824-3-98 "Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 3. Спецификация ограничения"

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

Введение


Разработчикам приложений требуется нотация для определения структурированных типов данных для передачи семантики. Она обеспечивается ГОСТ Р ИСО/МЭК 8824-1 и ГОСТ Р ИСО/МЭК 8824-2. Нотация требуется также для дополнительных ограничений допустимых значений. Примерами таких ограничений являются: ограничение на диапазон некоторого(ых) компонента(ов), или использование заданного множества информационных объектов для ограничения компонента "Object-ClassFieldType", или использование "AtNotation" для спецификации отношений между компонентами.

В настоящем стандарте устанавливается нотация для общего случая спецификации ограничения.

Примечание 1 - По историческим причинам специальный случай "ограничение подтипа" определяется в ГОСТ Р ИСО/МЭК 8824-1.


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

Примечание 2 - Многократные ограничения (каждое внутри своих круглых скобок) могут применяться к одному и тому же типу "Type", так как результатом ограничения "Type" формально является сама конструкция "Type".


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

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

Примечание 3 - Нотация "ValueSet", определенная в ГОСТ Р ИСО/МЭК 8824-1, пункт 13.5, обеспечивает способы дальнейших спецификаций подтипов.


Ограничения также могут использоваться для создания подтипа порождающего типа (как описано выше), когда нотация вкладывается в другой тип. Однако некоторые ограничения связи компонента "component relation", текстуально включенные после "Type" (в определении типа "множество" или "последовательность"), не используются для ограничения множества возможных значений "Type", за которым они следуют (указывающий компонент). Они специфицируют связь между значением указывающего компонента и значением одного или нескольких других типов "Type" в том же самом типе "множество" или "последовательность" (которые называются указываемыми компонентами).

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

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

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

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

Примечание 4 - Вообще говоря, полная поддержка спецификации ограничений гибким способом (в частности, ограничений связи компонентов, ограничений подтипа и ограничений, определенных пользователем с формально определенным телом) потребовала бы нотацию, сопоставимую по мощности с языками программирования. Такая мощность может быть разумно обеспечена только установлением связи нотации ACH.1 с некоторым другим определенным языком программирования. Настоящая версия стандарта не устанавливает такие связи и, следовательно, поддерживает только небольшое число методов ограничений.

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

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


В настоящем стандарте для спецификации ограничения устанавливаются следующие нотации:

- ограничения, определенные пользователем (см. раздел 9);

- табличные ограничения, включая ограничения связи компонентов, между двумя компонентами, которые представляют значения, связанные с информационным объектом, определенным с использованием нотации ГОСТ Р ИСО/МЭК 8824-2 (см. раздел 10).

Применение табличных ограничений к типу "InstanceOfType" ГОСТ Р ИСО/МЭК 8824-2, приложение С, определено в приложении А настоящего стандарта.

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


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

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


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

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

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

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

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

     

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

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

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

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

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

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

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

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

3.4.1 ограничение связи компонента: Ограничение на значения типа "множество" или "последовательность", которое текстуально связано с одним из типов компонентов (указывающий компонент) "множество" или "последовательность" и определяет отношение между значением этого компонента и значениями одного или нескольких других компонентов (указываемые компоненты).

3.4.2 ограниченный тип: Самый внутренний тип "Type", который содержит указывающий компонент и все указываемые компоненты некоторого ограничения связи компонента.

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

3.4.4 ограничивающая таблица: Ассоциированная таблица (см. ГОСТ Р ИСО/МЭК 8824-2, раздел 13), соответствующая ограничивающему множеству.

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

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

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

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

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

     4 Сокращения


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

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

     5 Соглашения


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

     6 Нотация


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

6.1 Ограничение

В настоящем стандарте определена следующая нотация, которая может быть использована как альтернатива для спецификации ограничения "ConstraintSpec" (см. ГОСТ Р ИСО/МЭК 8824-1, пункт 44.5): GeneralConstraint (см. 8.1).

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


Дополнительно к элементам АСН.1, определенным в ГОСТ Р ИСО/МЭК 8824-1, раздел 11, в настоящем стандарте используют элементы АСН.1, определенные в последующих подразделах. Общие правила, применимые к этим элементам, определены в ГОСТ Р ИСО/МЭК 8824-1, пункт 11.1. Эти новые элементы АСН.1 используют набор символов, определенный в ГОСТ Р ИСО/МЭК 8824-1, раздел 10.

7.1 Дополнительные ключевые слова

Имена CONSTRAINED и BY указаны в ГОСТ Р ИСО/МЭК 8824-1, пункт 9.12 как зарезервированные слова.

     8 Спецификация общих ограничений

8.1 Нотация для общего ограничения "GeneralConstraint" следующая:

GeneralConstraint : : =

UserDefinedConstraint |

TableConstraint

8.2 Различные возможности спецификации ограничения определены следующим образом:

а) "UserDefinedConstraint" - в разделе 9;

б) "TableConstraint" - в разделе 10.

     9 Ограничения, определенные пользователем