ГОСТ 1» ИСО/М ЭК 8824-1-2001
объектов к ясным указанием, является ли обязательной поддержка всех информационных объектов множе
ства, должны ли принимающие реализации приспосабливаться к зависящим от реализации расширениям л о
т множества информационных объектов и. если это так. как они должны обрабатывать полученные ’неиз
вестные” значения. Может оказаться желательным рассмотреть возможность, что в последующей версии спе
цификации пользователя может быть расширено множество информационных объектов и дано руководство
нынешним разработчикам, как такие расширения должны трактоваться.
д) Все появления EXTERNAL должны быть тщательно рассмотрены; хотя эта нотация остается допусти
мой в текущей нотации АСН.1. спецификация пользователя может быть улучшена следующим образом:
1) Рассмотрите использование нотации INSTANCE OF (предпочтительно с табличным ограничени
ем в качестве параметра типа, как обсуждалось выше для ANY и ANY DEFINED BY) вместо ногайки
EXTERNAL: во многих случаях это нс изменит битов в строке.
2) Когда сохраняется EXTERNAL, использование внутренних подтипов ассоциированного типа (см.
33.5) может помочь придать точность спецификации тому, используются ли идентификаторы контекстов
представления, или это нс допускается. Здесь же применимы предшествующие комментарии (см. раздел
33). которые дают руководство о том. какие значения EXTERNAL должны поддерживаться и что должны
делать реализации, сети получены неподдерживаемые значения.
3) Рассмотрите замену
CHOICE { external EXTERNAL, embedded-pdv EMBEDDED PDV }
(с использованием внутренних подтипов, если это подходит) для того, чтобы обеспечить постепенный
переход распределенных приложений к текущей нотации. Это может повлиять на биты в строке и обычно
может быть сделано как часть изменения версии протокола. Использование EMBEDDED PDV (практи
чески для новой спецификации) обычно дает большую гибкость, как можно увидеть из сравнения
ассо циированных типов; более того, всеми правилами кодирования, определенными в ИСО/МЭК
8825-1. EMBEDDED PDV кодируется более эффективно, чем EXTERNAL.
е) Может оказаться возможным улучшить удобочитаемость нотации в существующих модулях ACH.I (без
изменения битов в строке) вставкой AUTOMATIC TAGS в заголовок модуля и удалением некоторых или
всех тегов.
П р и м е ч а н и е2 — Это следует делать с осторожностью и пониманием метода действия автоматичес
кого тегирования, так как. если этот прием использовать некорректно, биты в строке изменятся.
ж) Если AUTOMATIC TAGS нс применяется в существующих модулях так. как описано в е). то
нежелательно добавлять определения новых типов в существующий модуль, а лучше создать новый модуль (с
автоматическим тегированием) для определений новых типов. Это позволяет использовать преимущества авто
матического тегирования без изменения битов в сзрокс.
и) Следует уделить внимание полям, содержащим символьные строки, и посмотреть, нельзя лн задей
ствовать нотации CHARACTER STRING. BMPString или UniversalString. Однако обычно это изменит биты в
строке и может быть проведено как часть изменения версии.
к) Необходимо добавить идентификаторы "mantissa”, "base* "exponent" ко всем нотациям вещественных
значений, которые используют альтернативу‘NumericReal Value" в продукции ’RcalValuc*. Рассмотрение дол
жно ограничиваться значениями "base" 2 и 10 в нотации типа.
В обшем случае возможно существенное улучшение удобочитаемости, эффективности, точности и гиб
кости за счет использования новой нотации АСН.1 (в частности, сети использовать все преимущества таблич
ныхограничений, ограничений связи компонентов и параметризации, а также новые тины символьных строк).
Всем пользователям АСН.1—90 необходимо осуществить переход на новую нотацию АСН.1. либо при пере
смотре своих спецификаций, либо как самостоятельное действие, если такой пересмотр нс прсдвидется.
В общем случае, дополнение существующих модулей с использованием нотации, нс соответствующей
текущей нотации АСН.1. рассматривается как ошибка, даже если ссылка на спецификации АСН.1—90 сохра
няется в таких модулях. В частности, запрещается использование макронотации, ANY. ANY DEFINED BY. a
также новых конструкций SET. SEQUENCE и CHOICE без недвусмысленных идентификаторов.
66