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

ГОСТ Р ИСО/МЭК 9072-1-93 Системы обработки информации. Передача текста. Удаленные операции. Часть 1. Модель, нотация и определение услуг

9 НОТАЦИЯ УДАЛЕННЫХ ОПЕРАЦИЙ

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) - Формализованное определение типов данных удаленных операций