9.1 Общие положения
Нотация, используемая в настоящем стандарте, определена следующим образом:
- нотация синтаксиса данных и нотация макрокоманд определены в ГОСТ 34.973;
- макрокоманды удаленных операций определены в пункте 9.2 настоящего стандарта.
Операция-связки определяет, где начинается связующий объект (установление прикладной-ассоциации). Если такая связь установлена, операция может привлекаться. Операция-развязки определяет, где разъединяется связующий объект.
Интерактивный протокол определяется с использованием удаленной операции и типов данных с ошибками. В данном разделе определяются такие типы. В нем поясняются также нотационные определения конкретных удаленных операций и конкретных ошибок, о которых может быть выдано уведомление. Эта нотация определяется посредством макросредств, определенных в ГОСТ 34.973. Это макроопределение обеспечивает возможность обобщенной спецификации преобразования в различные исполнительные среды.
Макрокоманды, обеспечивающие возможность спецификаций операций-связки, операций-развязки и ошибок, перечислены на рисунке 4.
Нотация-удаленных-операций { совместная-ИСО-МККТТ нотация (0) удаленных операции(4) } | ||
DEFINITIONS : : = | ||
BEGIN | ||
EXPORTS BIND, UNBIND, OPERATION, ERROR; | ||
- - макроопределения операций-связки | ||
BIND MACRO : : = | ||
BEGIN | ||
TYPE NOTATION : : = Argument Result Error | ||
VALUE NOTATION : : = Argument-value | Result-value | Error-value | ||
Argument | : : = empty | | "ARGUMENT" Name type (Argument-type) |
- - Ожидает поступления лю- - - бого типа АСН.1 и присва- - - ивает его переменной "тип- - - аргумента" | ||
END | ||
- - Продолжение нотации удаленных операций следует |
Рисунок 4 (Лист 1) - Формализованное определение типов данных удаленных операций
- - Продолжение нотации удаленных операций | ||
Result | : : = empty | | "RESULT" Name type (Resulttype) |
- - Ожидает поступления лю- - - бого типа АСН.1 и присваи- - - вает его переменной "тип- - - результата" | ||
Error | : : = empty | | "BIND-ERROR" Name type (Error-type) |
- - Ожидает поступления любо- - - го типа АСН.1 и присваива- - - ет его переменной "тип- - - ошибки" | ||
Name | : : = empty | | identifier |
Argument-value | : : = empty | | "ARGUMENT" value (Arg-va- lue Argument-type) |
- - Ожидает поступления зна- - - чения типа в переменной - - "тип-аргумент" и присваи- - - вает его переменной "зна- - - чение-аргумента" | ||
<VALUE [16] EXPLICIT Argument-type : : = Arg- value> | ||
- - Передает окончательное - - значение в виде явно теги- - - рованного типа | ||
Result-value | : : = empty | | "RESULT" value (Res-value Result-type) |
- - Ожидает поступления зна- - - чения типа в переменной - - "тип-результата и присваи- - - вает его переменной "зна- - - чение-результата" | ||
<VALUE [17] EXPLICIT Result-tupe : : = Res-value> | ||
- - Передает окончательное - - значение в виде явно теги- - - рованного типа | ||
END | ||
- - Продолжение нотации удаленных операций следует |
Рисунок 4 (Лист 2) - Формализованное определение типов данных удаленных операций
- - Продолжение нотации удаленных операций | ||
Error-value | : : = empty | | "ERROR" value (ERR-value Error-type) |
- - Ожидает поступления зна- - -чения типа в переменной - - "тип-ошибки" и присваива- - - ет его переменной "значе- - - ние-ошибки" | ||
<VALUE [18] EXPLICIT Error-type : : = Err-value> | ||
- - Передает окончательное - - значение в виде явно теги- - - рованного типа | ||
- -Макроопределения операций-развязки | ||
UNBIND MACRO : : = | ||
BEGIN | ||
TYPE NOTATION : : = Argument Result Errors | ||
VALUE NOTATION : : = Argument-value | Result-value | Error-value | ||
Argument | : : = empty | | "ARGUMENT" Name type (Argument-type) |
- - Ожидает поступления лю- - - бого типа ACН.1 и присва- - - ивает его переменной "тип- - - аргумента" | ||
Result | : : = empty | | "RESULT" Name type (Result- type) |
- - Ожидает поступления лю- - - бого типа АСН.1 и присваи- - - вает его переменной "тип- - - результата" | ||
Error | : : = empty | | "UNBIND-ERROR" Name type (Error-type) |
- - Ожидает поступления лю- - - бого типа ACН.1 и присваи- - - вает его переменной "тип- - - ошибки" | ||
END | ||
- - Продолжение нотации удаленных операций следует |
Рисунок 4 (Лист 3) - Формализованное определение типов данных удаленных операций
- - Продолжение нотации удаленных операций | ||
Name | : : = empty | | identifier |
Argument-value | : : = empty | | "ARGUMENT" value (Arg- value Argument-type) |
- - Ожидает поступления зна- - -чения типа в переменной - - "тип-аргумент" и присваи- - - вает его переменной "зна- - - чение-аргумента" | ||
<VALUE [19] EXPLICIT Argument-type : : = Arg- value> | ||
- - Передает окончательное - - значение в виде явно теги- - - рованного типа | ||
Result-value | :: = empty | | "RESULT" value (Res-value Result-type) |
- - Ожидает поступления зна- - -чения типа в переменной - - "тип-результата" и присва- - - ивает его переменной "зна- - - чение-результата" | ||
VALUE [20] EXPLICIT Result-type : : = Res-value> | ||
- - Передает окончательное - - значение в виде явно теги- - - рованного типа | ||
Error-value | : : = empty | | "ERROR" value (ERR-value Error-type) |
- - Ожидает поступления зна- - - чения типа в переменной - - "тип-ошибки" и присваива- - - ет его переменной "значе- - - ние-ошибки" | ||
<VALUE [21] EXPLICIT Error-type : : = Err-value> | ||
- - Передает окончательное - - значение в виде явно теги- - - рованного типа | ||
END | ||
- - Продолжение нотации удаленных операций следует |
Рисунок 4 (Лист 4) - Формализованное определение типов данных удаленных операций
- - Продолжение нотации удаленных операций | ||||
- - Макроопределения операций | ||||
OPERATION MACRO : : = | ||||
BEGIN | ||||
TYPE NOTATION | : : = | Argument Result Errors LinkedOperations | ||
VALUE NOTATION | : : = value | (VALUE CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER}) | ||
Argument | : : = | "ARGUMENT" NamedType | empty | ||
Result | : : = | "RESULT" ResultType | empty | ||
Result Type | : : = | NamedType | empty | ||
Errors | : : = | "ERRORS" "{" ErrorNames "}" | empty | ||
LinkedOperations | : : = | "LINKED" "{" LinkedOpera- tionNames ")" | empty | ||
ErrorNames | : : = | = ErrorList empty | ||
ErrorList | : : = | Error | ErrorList "," Error | ||
Error | : : = value | (ERROR) - - должен - - указать значение ошибки | ||
| type | - - должен указать тип - - ошибки, если ни одно - - значение ошибки не - - определено | |||
LinkedOperationNames | : : = | OperationList | empty | ||
OperationLisl | : : = | Operation OperationList "," Operation | ||
Operation | ::= value | (OPERATION) - - дол- - - жен указать значение оши- - - бки | ||
| type | - - должен указать тип - - операции, если ни од- - - но значение операции - - не определено | |||
END | ||||
- - Продолжение нотации удаленных операций следует |
Рисунок 4 (Лист 5) - Формализованное определение типов данных удаленных операций