ПРИЛОЖЕНИЕ А
(обязательное)
ГОСТ Р ИСО/М ЭК 8824-1-2001
Использование нотации АСН.1—90
А. 1 Сроки ЛГЙСТВИЯ
Термин АСН.1—90 используется для указании, что нотация определена в ГОСТ Р ИСО/МЭК 8824—93.
Термин текущая нотация АСН.1 используется для нотации, определенной в настоящем стандарте.
На дату публикации настоящего стандарта продолжает действовать ГОСТ Р ИСО/МЭК 8824—93 и соот
ветствующий ему международный стандарт ИСО/МЭК 8824—90. Действие последнего зависит от решения
ИСО/МЭ К/СТК1/ПК21.
Продолжение действия прежней спецификации даст пользователям время на замену характеристик (в
частности. ANY и использование макронотации) нотации АСН.1—90 текущей нотацией АСН.1. (Это может
быть сделано без изменений битов в строках).
А.2 Смешанное использование АСН.1—90 н текущей нотации АСН.1
Как в АСН.1—90. так и в текущей нотации АСН.1 снецифинировина семантическая конструкция верх
него уровня, которой является модуль АСН.1. Пользователь АСН.1 создаст совокупность модулей АСН.1 и
может импортировать определения из других модулей АСН.1.
Для любого данного модуля требуется, чтобы используемая шпация (полностью) соответствовала либо
АСН.1—90, либо текущей нотации АСН.1, и пользователь спецификации должен ясно идентифицировать
(указанием соответствующего стандарта), какая нотация используется для каждого модуля, текстуально вклю
ченного в спецификацию пользователя.
Может случиться так, что пользователь захочет модифицировать часть модуля с использованием новой
нотации, но оставить другие части в старой нотации. Эго может быть достигнуто (только) путем расщепления
модуля на два других модуля.
Когда модуль соответствует нотации АСН. I—90, Ссылки на тины и значения могут быть импортированы
из модуля, определенного с использованием текущей нотации. Такие типы и значения должны быть ассоции
рованы с типами, которые могут быть определены с использованием нотации АСН.1—90. Например
модуль, написанный с использованием нотации АСН.1—90. не может ихшоргирошпь значение типа
UnivcnialString. так как этот тип определен в текущей нотации, но нс в АСН.1—90: однако он может
импортировать значения, типы которых, например, INTEGER. 1А5String и т. и..
Когда модуль соответствует текущей нотации АСН.1, ссылки на типы и значения могут быть импортиро
ваны из модуля, определенного с использованием нотации АСН.1—90. Макронотаиия АСН.1 нс может быть
импортирована. Нотация значения для импортированного типа должна использоваться в импортирующем мо
дуле. только если присутствуют идентификаторы для значений SET. SEQUENCE и CHOICE,
использованных в значении нотации, и если в значении нотации нс требуется значение типа ANY.
Ограничение внутреннего типа нс должно применяться к импортированному типу, если компонент, который
должен быть ограничен, нс имеет идентификатора.
А.З Переход к текущей нотации АСН.1
При модификации модуля (первоначально написанного в согласно нотации АСН.1—90) дтя соответ
ствия текущей нотации следует учитывать следующие моменты.
а) Всем компонентах» SET. SEQUENCE и CHOICE должны быть даны идентификаторы, не двусмыс
ленные в данном экземпляре SET. SEQUENCE и CHOICE, и такие же идентификаторы должны быть вклю
чены в нотацию значения.
П р и м е ч а н и е ! — Значение нотации дтя типа CHOICE содержит двоеточие (":*).
б) Все использования ANY и ANY DEFINED BY должны быть обеспечены подходящих)!! определения
ми классов информационных объектов с заменой ANY и ANY DEFINED BY (и указанных кохнюнентов)
соответствующими ссылками на поля этого класса объектов. Вбольшинстве случаев спецификация может
быть улучшена за счет удачной вставки табличных ограничений и ограничений отношений компонентов. Во
многих случаях спецификации может быть еще более улучшена, если табличное ограничение или
ограничение отно шений кохиюнентов осуществляется как параметр тина.
в) Макроопределения должны быть заменены определением класса информационных объектов, пара
метризованных! типом или параметризованным значением. Если раздел WITH SYNTAX удачно спроектирован
в определении класса информационных объектов, то нотация, используемая для определения объектов этого
класса, может быть сделана очень похожей на нотацию, определенную старым использованием макронотации.
г) Вес экземпляры использования макронотаиии должны быть заменены либо эквивалентными опреде
лениями информационных объектов, либо ссылками на эквивалентные тины ’ObjcctClassFicldTypc", парамет
ризованные типы или парлх
1
етризоианнмс значения. В большинстве случаев спецификация информационных
объектов хюжет быть существенно улучшена группировкой таких определений в множества информационных
хо-гпз
65