Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8825-3-2016 Информационная технология (ИТ). Правила кодирования АСН.1. Часть 3. Спецификация нотации контроля кодирования (ECN)

Приложение D
(справочное)

     
Примеры


Настоящее приложение содержит примеры использования ECN. Примеры разделены на пять групп:

- общие примеры, которые показывают, как выглядят определения ECN (D.1);

- специализированные примеры, которые показывают, как изменяются некоторые части какого-либо стандартизованного кодирования. Каждый пример содержит описание требований к кодированию и описание выбранных решений и возможных альтернативных решений (D.2);

- примеры специально оперируемой структуры, которые показывают использование явно генерируемых структур, когда одно и то же специализированное кодирование используется несколько раз (D.3);

- пример традиционного протокола, показывающий три способа обращения с проблемой традиционного подхода "бит-еще" ("more-bit") к окончанию "последовательности-из" (D.4);

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

D.1 Общие примеры


Примеры, описанные в D.1.1-D.1.14, являются частью полной спецификации ECN, модули которой АСН.1, EDM и ELM даны в общих чертах в D.1.15, D.1.16 и D.1.17, а полностью даются в экземпляре этого приложения, помещенного на web-сайте, указанном в приложении F.

D.1.1 Объект кодирования булева типа

D.1.1.1 Присвоение АСН.1 равно:

Married ::= BOOLEAN

D.1.1.2 Присвоениями объекта кодирования (см. 23.3.1) являются:

booleanEncoding #BOOLEAN ::= {

ENCODING-SPACE

SIZE 1

MULTIPLE OF bit

TRUE-PATTERN bits:'1'B

FALSE-PATTERN bits:'0'B}

marriedEncoding-1 #Married ::= booleanEncoding

D.1.1.3 Предварительное выравнивание отсутствует, а пространство кодирования равно одному биту, поэтому "Married" кодируется в битовом поле длиной 1. Комбинациями для значений TRUE и FALSE (в случае одиночного бита) являются '1'В и '0'В соответственно.

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

marriedEncoding-2 #Married ::= {

ENCODING-SPACE

SIZE 1}

D.1.1.5 Это кодирование для булева типа является, конечно, как раз тем, которое обеспечивает PER, а другая альтернатива должна определять кодирование, использующее объект кодирования PER для булева типа с помощью синтаксиса, приведенного в 17.3.1.

marriedEncoding-3 #Married ::= {