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

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

     9.22 Приложение кодирований

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

9.22.2 Кодирования прикладываются путем ссылки на набор объектов кодирования (или на одиночный объект кодирования). Такое приложение может происходить в EDM в определении объектов кодирования для какого-нибудь класса (включая объекты кодирования для генерируемой структуры кодирования и для определяемой пользователем структуры кодирования). Такое приложение в EDM является просто определением большего числа объектов кодирования для этого класса кодирования. Определяющее приложение к реальному типу происходит только в ELM.

9.22.3 Когда прикладывается набор объектов кодирования, он всегда дает в результате полную спецификацию кодирования для классов кодирования, к которым эти объекты прикладываются. Если в каком-либо заданном приложении требуются кодирования для классов кодирования (имеющихся внутри кодируемой структуры кодирования), для которых нет объектов кодирования в приложенном наборе, то это будет ошибкой (см. 13.2.11).

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

9.22.4 Имеются два исключения к 9.22.3. Первое исключение будет в случае, когда механизм параметризации (похожий на АСН.1) используется для определения параметризованного объекта кодирования. В этом случае полное кодирование будет определено только после установки реальных параметров. Второе исключение будет в случае, когда объект кодирования определен для конструктора кодирования (#CONCATENATION, #ALTERNATIVES, #REPETITION, #SEQUENCE и т.п.). В этом последнем случае правила кодирования, связанные с классом кодирования, просто определяют правила, связанные с аспектами структурирования. Полная спецификация кодирования для структуры кодирования, использующей эти классы кодирования, будет требовать также правил для кодирования компонентов этой структуры кодирования.


Примечание - Здесь имеется различие между объектами кодирования класса #SEQUENCE (конструктора кодирования) и объектов кодирования для неявно генерируемой структуры кодирования "#Му-Туре", которая определяется с использованием типа АСН.1 SEQUENCE. Последняя не является конструктором кодирования, а объекты кодирования этого класса будут обеспечивать полные правила кодирования для кодирования значений типа "Му-Туре".