Следствием п. 2.7 приложения 2 является то, что любая организация может получить код от соответствующей организации, присваивающей коды, и после этого присваивать значения вида «идентификатор объекта» (OBJECT IDENTIFIER) для своих собственных целей, причем гарантируется, что эти значения не будут повторять значения, назначенные другими организациями. Таким образом, некоторая фирма может присвоить значение типа «идентифи­катор объекта (OBJECT IDENTIFIER)» своим собственным информационным форматам.ПРИЛОЖЕНИЕ 3

Обязательное

ЗНАЧЕНИЯ КОМПОНЕНТОВ OBJECT IDENTIFIER,
ОПРЕДЕЛЯЕМОЕ МККТТ

  1. Из корневой вершины дерева идентификаторов объектов выходят три ребра. Присвоенные им значения и идентификаторы, а также службы, ответст­венные за присвоение значений следующих компонентов, таковы:

Значение Идентификатор Служба, отвечающая за,

присвоение следующих
компонентов

О ccitt МККТТ

  1. iso ИСО

  2. joint-iso-ccitt См. приложение 4

Примечание. В остальной части этого приложения рассматривается- присвоение значений, осуществляемое МККТТ.

  1. Каждый из идентификаторов «ccitt», «iso» и «joint-iso-ccitt», определен­ных выше, может использоваться в качестве выражения «ИменнаяФорма».

  2. Из вершины, проидентифицированной «ccitt», выходят четыре ребра. Присвоенные им значения и идентификаторы таковы:

Значение

Идентификатор

Служба, отвечающая за присвоение следующих, компонентов

0

recommendation

см. п. 3.4

1

question

см. п. 3.5

2

administration

см. п. 3.6

3

network-operator

см. п. 3.7



Эти идентификаторы могут использоваться в качестве выражения «Имен­наяФорма».

  1. Ребра, следующие за ребром «рекомендация» («recommendation»), име­ют значения от 1 до 26, которым присвоены идентификаторы от а до z. После­дующие ребра имеют значения номеров рекомендаций МККТТ той серии, кото­рая обозначается предыдущей буквой. Ребра, следующие за этими ребрами, определяются соответствующими рекомендациями МККТТ. Идентификаторы от а до z могут использоваться в качестве «ИменнойФормы».

  2. Ребра, следующие за ребром «вопрос» («question»), имеют значения, определяемые номером исследовательской группы МККТТ и периодом времени. Эти значения вычисляются по следующей формуле:

номер исследовательской группы + (период * 32), где «период» имеет зна­чение 0 для 1984—1988 гг., 1 — для 1988—1992 гг., и т. д., а множитель 32' задан в десятичной системе счисления.

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

  1. Ребра, следующие за ребром «администрация» («administration»), имеют значения цифровых кодов стран (DCC), определенных рекомендацией МККТТ Х.121. Последующие ребра определяются в соответствии с потребностя­ми управления телекоммуникациями страны, определенной кодом ОСС.

Ребра, следующие за ребром «оператор сети» («network-operator»), име­ют значения цифровых кодов сетей (DN1C), определенных в рекомендации МККТТ Х.121. Последующие ребра определяются в соответствии с потребностя­ми управления телекоммуникациями или зарегистрированного частного агенства (RPOA), Идентифицируемого кодом DNIC

.ПРИЛОЖЕНИЕ 4

Обязательное

ЗНАЧЕНИЯ КОМПОНЕНТОВ OBJECT IDENTIFIER,
ОПРЕДЕЛЯЕМЫЕ СОВМЕСТНО

  1. Из корневой вершины дерева идентификаторов объектов выходят три ребра. Присвоенные им значения и идентификаторы, а также службы, ответст­венные за присвоение значений следующих компонентов, таковы:

Значение Идентификатор Служба, отвечающая за

присвоение следующих
компонентов

О ccitt МККТТ

  1. iso ИСО

  2. joint-iso-ccitt См. пп. 4.2, 4.3

Примечание. В остальной части этого приложения рассматривается присвоение значений, осуществляемое совместно ИСО и МККТТ.

  1. Каждый из идентификаторов ccitt», «iso» и «joint-iso-ccitt», определен­ных выше, может использоваться в качестве выражения СимвольнаяФорма».

  2. Ребрам, следующим за ребром «совместное определение ИСО и МККТТ» («joint-iso-ccitt») присвоены значения, периодически назначаемые по согласо­ванию между ИСО и МККТТ для идентификации их совместных областей дея­тельности по стандартизации в соответствии с «Процедурами присвоения значе­ний компонентам идентификаторов объектов для совместного использования ИСО и МККТТ».

Примечание. Регистрационной службой, ответственной за присвоение значений компонентам идентификаторов объектов для совместного использова­ния ИСО и МККТТ, является Американский национальный институт стандар­тов (ANSI).

  1. Ребра, которые следуют за упомянутыми в п. 4.3, приложения 4 выде­ляются в соответствии с процедурами, действующими в момент выделения.

Примечание. Предполагается, что в данном случае для присвоения зна­чений будет осуществляться передача полномочий смешанной группе экспертов ИСО и МККТТ, ответственных за область совместной работы.

Поскольку в первых стандартах ИСО и рекомендациях МККТТ, отно­сящихся к совместным областям стандартизации, потребовалось выделение идентификаторов объектов (OBJECT IDENTIFIER) до установления процедур, упомянутых в п. 4.3, приложения 4, то они выделяются так, как описано в приложениях 2 или 3. Идентификаторы информационных объектов, определен­ные таким способом в стандарте ИСО или рекомендации МККТТ, не будут ме­няться после установления процедур, упомянутых в п. 4.3 приложения 4.

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


ПРИМЕРЫ И РЕКОМЕНДАЦИИ

В этом приложении приводятся примеры использования нотации АСН.1 для списания некоторых взятых произвольно структур данных. В нем также содер­жатся пояснения и рекомендации по использованию различных возможностей АСН.1.

  1. Пример записи учета кадров

В этом подразделе использование АСН.1 иллюстрируется на примере про­извольно взятой простой записи учета кадров.

  1. Неформальное описание записи учета кадров

Ниже приводится структура записи учета кадров и ее значение для кон-

кретного служащего. Имя:

John Р Smith

Должность:

Учетный номер:

Директор 51

Дата найма:

17 сентября 1971

Имя супруги:

Mary Т Smith

Число детей:

2

Информация о ребенке

Имя: Ralph Т Smith

Дата рождения: 11 ноября 1957

Информация о ребенке

Имя: Susan В Tones

Дата рождения: 17 июня 1959

  1. Описание структуры записи с помощью АСН.1

Структура каждой записи учета кадров формально описана ниже с помощью

стандартных обозначений для типов данных.

Personnel Record :

: = [APPLICATION 0] IMPLICIT SET

.{

Name ,

title

[01 VisibleString ,

number

EmployeeNumber

dateOfHire

[11 Date

nameOf Spouse

[2] Name ,

children

[31 IMPLICIT

SEQUENCE OF

Childinformation

DEFAULT { ) I

Childinformation : : = SET

dateOfBirth

Name [01 Date)


Name : : = [APPLICATION 1] IMPLICIT SEQUENCE

{givenName initial familyName

VisibleString, VisibleString, VisibleString)

EmployeeNumber : : = [APPLICATION 21 IMPLICIT INTEGER

Date : : = [APPLICATION 31 IMPLICIT VisibleString- -YYYYMMDD

В этом примере иллюстрируется один из аспектов синтаксического разбора выражений АСН.1. Синтаксическая конструкция «по умолчанию» («DEFAULT») может применяться только к элементам выражения «последовательность» («SEQUENCE») или «множество» («SET»), но не может быть применена к эле-ментам «последовательность из» («SEQUENCE OF»). Поэтому выражение «DEFAULT { }» в «записи учета кадров» («PersonnelRecord») относится к

выражению «дети» («children»), а не к выражению «информация о ребенке» («Childinformation»).

  1. Описание значения записи с помощью АСН.1

Значение записи учета кадров для описанного в начале подраздела служа­щего в стандартных обозначениях для значений данных будет иметь вид:

{ {givenName «John», initial «Р»,

, familyiName «Smith»

title «Director»

number dateOfHire

51 «49710917»

nameOfSpouse {givenName «Магу», initial «Т», familyName «Smith»},

children

{{{givenName «Ralph», initial «Т», familyName «Smith»},

dateOfBirth «110671*1 Id»},

{{givenName «Susan», initial «В», familyName «Jones»},

dateOfBirth «19590717»

  1. P e к о M e и д а ц и и по использованию нотации

Типы данных и формальная нотация, определенные в настоящем стандарте,, обладают большой гибкостью, предоставляя возможность их использования в широком спектре протоколов. Эта гибкость, однако, может привести к недора­зумениям, в особенности при недостаточном опыте ее использования. В этом приложении делается попытка свести к минимуму возможность недоразумений с помощью рекомендаций по использованию нотации и примеров ее использо­вания. Для каждого из встроенных типов данных предлагается одна или не­сколько рекомендаций по использованию. Типы «строка знаков» (например «отображаемая строка» («VisibleString») и типы, определенные в разд. 3; здесь не рассматриваются.

  1. Булев тип

    1. Булев тип следует использовать для представления значений логи­ческих переменных (имеющих два разных состояния), например ответа на воп­рос «да» или «нет».

Пример.

Employed : : = BOOLEAN

  1. При назначении ссылочного имени булеву типу следует использовать слово, подходящее для обозначения состояния истина».

Пример.

Married : : = BOOLEAN

а не

MaritalStatus : : =BOOLEAN

См. также п. 5.2.2.4.

  1. Целочисленный тип

    1. Целочисленный тип следует использовать для представления значе­ний количественных числительных и целочисленных переменных для всех практи­ческих целей без ограничения величины.

Пример.

CheckingAccountBalance : : = INTEGER

  • - значение выражено в центах; отрицательное

  • - значение означает перерасход

  1. Следует определять допустимые максимальное и минимальное зна­чения целочисленного типа в качестве выделенных значений.

Пример.

  1. DayOfTheMonth : : = INTEGER (first (1), last (31)1Целочисленный тип с выделенными значениями следу­ет использовать для представления значений переменной с тремя или более состояниями. Если единственным требованием к значе­ниям переменной является их отличие друг от друга, то значения следует присваивать, начиная с нуля.

Пример.

DayOfTheWeek : : = INTEGER {sunday (0), monday (1), tuesday(2),wednesday(3), thursday(4), friday(5),Saturday(6)}

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

Пример.

Следует использовать описание

MaritalStatus : : = INTEGER {single(0), married (1)}, если предполагается его последующая замена на следующее:

MaritalStatus : : = INTEGER {single(0), married(1), widowed (2)}

  1. Тип «строка битов»

    1. Тип «строка битов» следует использовать для представ­ления двоичных данных, формат и длина которых не заданы или заданы в другом месте, при этом длина данных в битах не обяза­тельно кратна восьми.

Пример.

G3FacsimilePage : : = BIT STRING

  • - последовательность битов, удовлетворяющая

  • - рекомендации МККТТ Т.4.

  1. Следует определять первый и последний имеющие смысл биты строки фиксированной длины в качестве выделенных битов.

Пример.

Nibble : : = BIT STRING {first(0), last(3)}

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

Пример.

SunnyDaysOfTheMonth : : = BIT STRING {first(l), last(31)}

  • - і-й день был солнечный в том и только

  • - в том случае, если І-Й бит равен единице

  1. Тип «строка битов» с поименованными значениями следует использовать для представления значений .совокупности взаимосвязанных логических переменных.

Пример.

PersonalStatus : : = BIT STRING

{married(O), employed(l), veteran(2), collegeGraduate (3)}

  1. Тип «строка октетов»

    1. Тип «строка октетов» следует использовать для пред­ставления значений двоичных данных, формат и длина которйх не заданы или заданы в другом месте, причем длина данных в би­тах кратна восьми.

Пример.

G4FacsimileImage : : = OCTET STRING

  • - последовательность октетов,

  • - удовлетворяющая рекомендациям

  • - МККТТ Т.5 и Т.6.

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