Стр. 1
 

15 страниц

304.00 ₽

Купить официальный бумажный документ с голограммой и синими печатями. подробнее

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

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

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

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

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

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

Оглавление

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

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

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

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

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

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

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

4 Сокращения

5 Соглашения

6 Нотация

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

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

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

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

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

10 Табличные ограничения, включая ограничения связи компонента

Приложение А Огранивающие типы «экземпляр-из»

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

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

Страница 1

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

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

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

Часть 3 Спецификация ограничения

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

БЗ 7-2002/114


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

Страница 2

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

Предисловие

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

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

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

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

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

■© ИПК Издательство стандартов, 2002

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

II

Страница 3

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

Содержание

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

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

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

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

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

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

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

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

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

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

6.1    Ограничение...,......................................................2

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

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

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

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

10    Табличные ограничения, включая ограничения связи компонента....................3

Приложение А Ограничивающие типы «экземпляр-из*..............................8

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

III

Страница 4

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

Введение

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

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

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

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

Примечание 2 — Многократные ограничения «каждое внутри своих круглых скобок) Moiyi применяться к одному и тому же типу «Туре», гак как результатом ограничения «Туре» формально является caxia конструкция «Туре».

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

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

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

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

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

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

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

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

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

Страница 5

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

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

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

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

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

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

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

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

V

Страница 6

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

Информационная технология АБСТРАКТНАЯ СИНТАКСИЧЕСКАЯ НОТАЦИЯ ВЕРСИИ ОДИН (ACH. I)

Часть 3 Спецификация ограничения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

I

Страница 7

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

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

3.4.4    ограничивающая таблица: Ассоциированная таблица (см. ГОСТ I* ИСО/МЭК 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

Дополнительно к элементам АСН. I. определенным в ГОСТ Р ИСО/МЭК 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.

Страница 8

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

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

Примечания

1    Эта форма спецификации ограничения может рассматриваться как специальная форма комментария АСИ. 1. гак как она не является полностью машинообрабатываемой. Однако автоматические средства могли бы испольэоватъ наличие конкретною определенного пользователем ограничения для вызова проверки ограничения приложением пользователя.

2    Разработчики протоколов должны понимать, что, гак как определение ограничения подобным образом не является полностью машинообрабатываемым. спецификация, которая использует' эту возможность, может быть менее удобной для автоматической обработки.

9.1    Ограничение, определенное пользователем «UserDefinedConstraint», специфицируется синтаксисом:

UserDefinedConstraint: : =

CONSTRAINED BY « { • UserDefinedConsiraintParameier «,»•«}*

9.2    Рекомендуется, чтобы фактическое ограничение описывалось где-либо в комментарии в фигурных скобках (« { > и « } »). Этот комментарий должен ясно устанавливать, какое ограничение накладывает «UserDefinedConstraint».

Примечание—Если в фигурных скобках имеется несколько «UserDefinedConstraintParameter* (см. 9.3). го комментарии могут стоять перед, после или между ними, как удобнее разработчику.

9.3    Фактическое ограничение, которое должно применяться, может зависеть от некоторых параметров. Для каждого такого параметра в ограничение «UserDefinedConstraint* должна быть включена продукция «UserDefinedConstraintParameter»:

UserDefinedConstraint Parameter:: =

Governor «:* Actual Parameter | Actual Parameter

Нотации для «Governor» и «ActualParameter* определены в ИСО/МЭК 8824-4, пункты 8.3 и 9.5 соответственно. Когда фактический параметр «ActualParameter» есть тип «Туре* или класс объекта «Object С lass», то не должно быть продукции «Governor»: когда фактический параметр «ActualParameter» есть значение «Value* или множество значений «ValueSet*, то продукция «Governor* должна присутствовать и быть типом «Туре*; когда фактический параметр «ActualParameter* есть объект «Object* или множество объектов «ObjectSet*, то продукция «Governor* должна присутствовать и быть «DefinedObjectClass».

9.4    Пример

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

ENCRYPTED {То Be Enciphered } : : = BIT STRING (CONSTRAINED BY

{- - должен быть результат шифрования некоторого BER-коднрованного значения - -То Be Enciphered}

!Error:: = security Violation)

Error: : = ENUMERATED {securityViolation) и использование параметризованного подтипа ENCRYPTED строки BIT STRING (чем, собственно, и является тип ENCRYPTED) выглядит как:

ENCRYPTED {SecurityParameters) или, эквивалентно, по желанию разработчика:

BIT STRING (ENCRYPTED {SecurityParameters})

Появление ошибки sequirityViolation обрабатывается в соответствии с местной политикой зашиты.

10    Табличные ограничения, включая ограничения связи компонента

11    р и м е ч а н и я

I Классы информационных объектов, информационные объекты, множества информационных объектов и тип «поле класса объекта* определены в ГОСТ Р ИСО/МЭК N824-2. Понимание этих концепций подразумевается в данном разделе.

Страница 9

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

2 В данном разделе описано применение табличного ограничения, использующего множество информационных объектов, которое идентифицировано в главной нотации, определяющей порождающий тип; другими словами, определено и идентифицировано разработчиком протокола. Оно не удовлетворяет требованиям для фактического множества информационных объектов, которое должно быть использовано как ограничение в конкретном абстрактном синтаксисе, гак как может- изменяться от синтаксиса к синтаксису. ИСО/МЭК 8Я24-4 обеспечивает нотацию, которая, кроме всего прочего, позволяет множеству информационных объектов, используемому в этом ограничении, быть параметром, значение которого подставляется позже различными группами пользователей.

Пример

Для иллюстрации текста настоящего раздела использован следующий пример. Тип ErrorReturn представляет категорию ошибки errorCategory и один или несколько кодов ошибок erroiCodes с соответствующей информацией error Info для этой категории. Это представление обеспечивается классом информационных объектов ERROR-CLASS со специфическим множеством объектов, определенных в множестве информационных объектов ErrorSet, которое используется для ограничения полей ErrorReturn.

Имеем

ERROR-CLASS : : = CLASS

{

&categorv PrintableString (SIZE (I)),

&code INTEGER.

&Tvpe

}

WITH SYNTAX {&catcgorv &code &Type)

ErrorSet ERROR-CLASS : : =

{

{«A* I INTEGER! I {-A* 2 REAL} |

{«B* 1 CARACTER STRING) |

{«B* 2 GeneralString)

}

ErrorReturn :: = SEQUENCE I

errorCategory ERROR-CLASS.&category ((ErrorSet!) OPTIONAL, errors    SEQUENCE OF SEQUENCE

(

errorCode E RROR-СLASS.&code

({ErrorSet} {©errorCategory}), errorfnfo ERROR-CLASS.&Type

({ErrorSet} {©errorCategory, @e rrorCode))

} OPTIONAL

}

Ассоциированная таблица множества ошибок ErrorSet может быть изображена следующим образом.

Acatejory

icodc

Л Туре

•А.

1

INTEGER

«А»

2

REAL

.В»

I

CHARACTER STRING

«В»

2

GeneralString

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

10.2    Тип «ObjectClassFieldType* идентифицирует класс информационных объектов и одно из допустимых имен полей «FieldName» этого класса. Табличное ограничение идентифицирует множество информационных объектов, ассоциированная таблица которых определяет множество ограниченных значений, как установлено в ГОСТ Р ИСО/МЭК SS24-2. раздел 13.

4

Страница 10

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

10.3    Нотацией для табличного ограничения «TableConstraint* является

TableConstraint :: =

SimpIeTableConsiraint |

Component KclationConstraint

SinipleTableConstraint: : = ObjeciSet

10.4    Множество объектов *ObjectSet* в ограничении «SimpIeTableConsiraint» управляется классом. который появляется в ограничиваемом типе «ObjectClassFieldType*.

10.5    Семантика «SimpleTableConstraint» специфицируется с использованием ассоциированной таблицы ограничивающего множества информационных объектов.

10.6    Имя поля «FieldName» типа, который будет ограничен, используется для выбора применяемого столбца ассоциированной таблицы, и при этом применяются следующие правила:

а)    дня поля типа компонент ограничен тем, что должен быть любым значением одного из типов в любой строке этого столбца:

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

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

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

П р и м е р

В примере раздела 10 перечисление б) применяется к компоненту errorCategory:

errorCategory ERROR-CLASS.&category ({ErrorSet)) OPTIONAL, с ассоциированной таблицей ErrorSet, ограничивающей его возможные значения до «А* и «В*.

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

Component RelationConstraing : : =

« { * DefinedObjectSet «}*«{* At Notation «,» + *(»

At Notation : : =

«@» ComponentldLits |

«@.» Component Id List

Component Id List :: = identifier «.» +

10.8    Каждый «identifier* в списке «ComponentldList» идентифицирует компонент, порождающим которого является тип «множество*, «последовательность» или выборочный тип, и он должен быть последним идентификатором «identifier», если компонент, им определяемый, не является типом «множество», «последовательность* или выборочным типом.

10.9    В случае, когда порождающий тип является типом «множество* или «последовательность», «identifier* должен быть одним из идентификаторов «identifier* типа «NamedType* в списке типов компонентов «ComponentTypeList* этого порождающего. В случае, когда порождающий тип является выборочный типом, «identifier» должен быть одним из идентификаторов «identifier* альтернативы «NamedType* в списке типов альтернатив «AlternativeTypeList* этого выборочного типа.

10.10    Продукция «AtNotation» предоставляет указатель на другие компоненты структуры ACH. I, в которой она появляется. Порождающая структура для первого идентификатора «identifier* в списке «ComponentldList» определяется следующим образом:

а)    если выбрана первая альтернатива «AtNotation* (нет точки после *@»), то порождающая структура является самой внешней, текстуально содержащей тип «множество*, «последовательность* или выборочный тип;

б)    если выбрана вторая альтернатива «AtNotation» (есть точка после «&>*). то порождающая структура является самой внутренней, текстуально содержащей тип «множество* или «последовательность*.

П р и м с ч а н и с — Альтернатива «AtNotation» допустима только тогда, когда она текстуально находится внутри типа «множество» или «последовательность» и укалывает на некоторое другое поле, которое текстуально находится в том же самом типе «множество» или «последовательность», хотя, возможно, на другом уровне вложенности.

5

Страница 11

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

Пример

В примере раздела 10 первая продукция «AtNotation» в компоненте errorlnfo («©errorCategory») иллюстрирует случай а), тогда как вторая («@.errorCategory») — случай б).

10.11    Компонент, в котором используется эта нотация, является указывающим компонентом, а компоненты, идентифицированные «AtNotation», являются указываемыми компонентами.

10.12    Множество объектов «ObjectSet* (см. 10.3) или <■DellnedObjectSet<• (см. 10.7) является ограничивающим множеством, а ассоциированная таблица, полученная из него (как определено в ГОСТ Р ИСО/МЭК 8824-2. раздел 13), является ограничивающей таблицей.

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

11 р и м е р

В примере раздела 10 ограниченный тип есть ErrorRetum.

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

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

10.14    Указывающий и все указываемые компоненты должны быть типов «ObjectClass-FieldType*, относящимися к одному и тому же классу. Множество ограничений должно быть множеством информационных объектов этого класса. Указываемые компоненты должны быть полями значения или полями множества значений, ограниченные тем же самым множеством объектов, что и указывающий компонент.

П р и м е р

В примере раздела 10 тип «ObjectClassFieldType* — это весь класс ERROR-CLASS, так как он является ограничивающим множеством, которое есть множество ErrorSet.

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

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

f 1 р и м е р

В примере раздела 10. если отсутствует компонент «errors», то ограничения на ошибки удовлетворяются.

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

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

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

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

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

6

Страница 12

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

II р и м е р

В примере раздела 10 компоненты errorCategory, errorC'ode и errorlnfo должны соответствовать одной из строк ассоциированной таблицы ErrorSet.

10.20 Если тип «ObjectClassFieldType* ограничивается посредством одного или нескольких ограничений «TableConstraint*, а имя «FieldName* обозначает поле типа, поле значения переменно-го-типа или поле множества значений переменного-тнпа, то в каждом отдельном случае передачи номер выборочной строки должен быть в точности одним, если один из указываемых компонентов является полем идентификатора, в противном случае должен быть выбран по крайней мере один номер.

М р и м е р

В примере раздела 10, если бы имелся дополнительный объект {«В» 2 PrintableString}, могла быть более чем одна выборочная строка.

7

Страница 13

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

ПРИЛОЖЕНИЕ А (обязательное)

Ограничивающие типы «экземпляр-из»

А. I В этом приложении специфицировано применение ограничений к типу «InstanceOfType*, определенному в приложении С к ГОСТ Р ИСО/МЭК 8824-2.

А.2 Единственное ограничение, которое может быть применено к такому типу, является простым табличным ограничением, определенным в разделе 10. Эквивалентный тип «последовательность» типа экземпляр-»:} «InslanccOtType» о!раничен тогда следующим образом:

SEQUENCE

1

type-id <DcfmcdObjcctClass>.&id(<DcfincdObjcctSct>),

value |0J <DcfmedObjcctClass>.&Tvpe (<DcfincdObjec<Sct>(@.type-id|)

)

где «<DcfincdObjcctC'lass>» заменяется конкретным классом • DclincdOhjectCIass*. используемым в нотации «InstanceOiTvpe*, a «<ObjectSet>» — конкретным множеством «ObjeclSet*, используемым в простом табличном ограничении.

А.З Там. где к типу «экземпляр-из» применяется несколько ограничений, каждое порождает ограничение приведенного выше вида, гак что несколько 01раничений применяется к каждому элементу эквивалентного типа «последовательность*.

А.4 Пример

На основе примера из ГОСТ Р ИСО/МЭК 8X24-2. пункт С.1) можно построить следующий пример.

Тип

INSTANCE OF МIIS-BODY-CLASS ({PossibleBody Types}) имеет эквивалентный тип «последовательность»

(UNIVERSAL 8] IMPLICIT SEQUENCE {

type-id MHS-BODY-CLASS.&kl ({PossibleBody!ypes)),

value |0| M H S- BOD Y-C LASS.&T vpe ({Possible Body Types} (©’.type-id})

)

Здесь компонент последовательности «type-id» ограничен тем. что может принимать значения поля &id одного из типов «PossibleBodyTypcs», тогда как компонент «value» ограничен тем, что может быть любым значением поля &Туре того же самого информационного объекта.

В этом случае продукция «PossibleBodyTypcs» была бы, вероятно, параметром спецификации (см. ИСО/МЭК 8824-4, разделы 10 и А.8). который не мог бы быть разрешен до тех пор. пока не создана заявка о соответствии реализации протокола, оставляя указанные выше Офаничения переменными, как определено в ИСО/МЭК 8824-4. пункт 10.3.

8

Страница 14

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

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

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

Следующие элементы определены в 7.1:

CONSTRAINED

BY

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

«;;

И*

«)•

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

Следующие продукции определены в ГОСТ Р ИСО/МЭК 8824-2 и используются в настоящем стандарте: De fined Object Class DefinedObjectSet ObjectSet

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

Actual Parameter Governor

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

GcncraiConstraint : : = UscrDcfinedCommint2TablcConstraint UserDcfincdConaraint: : - CONSTRAINED BY

«{» UscrDcfinedConstraintParamcter «.» * «}»

UscrDefincdConstraint Parameter : : e Governor «:* ActualParameter |

Actual Parameter TableConstraint: : « SimpleTaMeConstraint |

Component RelationConsiraint SimpleTableConstraint : : » ObjectSet ComponentRclationConstraint :: = «{» DefinedObjectSet «)*

At Notation * *}»

AtNotation : : " *&• ComponentIdList | «Ф.» ComponentldList Component Id List :: = identifier *.» +

9

Страница 15

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

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

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

Редактор В. П. Огурцов Технический редактор В.II. Нрусакола Корректор В II. Кануркина Компьютерная иерстка И.Л. На.1ейкыпой

Изд. лиц. Nt 1)2354 от 14.07.2000. Сдано в набор 19.11.2002. Подписано и печать 11.12.2002. Уел. иечл. 1,86. Уч.-иза.л. 1.20:

Тираж 220 эк.». С 87<)4. Зак. 1100.

ИПК Издательство стандартов, 107076 Москва. Колодсзний пер.. 14. hUp://»'»'w.Manilardi-ru    e-mail.    infivSTstandarclN.ni

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

Плр М 080102