ГОСТ Р ИСО/МЭК 10021-3-98
считается успешной, если она выполнена полностью, и безуспешной, если она закончилась преж
девременно.
Процедура может (но необязательно) требовать, чтобы исполнитель проинформировал запро
счика об успешности ее выполнения. Она может (но необязательно) требовать, кроме того, чтобы
при уведомлении об успешности исполнитель выдал информационный объект предписанного типа,
который называется результатом процедуры.
Процедура может (но необязательно) требовать, чтобы исполнитель информировал запросчика
о безуспешности ее выполнения. Она может (но необязательно) требовать обеспечения определен
ной информации при уведомлении о безуспешности выполнения.
II р и м е ч а н и е —В последующих разделах ЛСН.1 предписывается как средство спецификации
абстрактного синтаксиса аргументов и результатов процедур (атакже параметров абстрактных ошибок/. Такие
использования ACH.I не предполагают, что эти информационные объекты обязательно транспортируются
междуоткрытымисистемами. Вчастности, то, чтоинформационные объекты посредством ихописания вАСН. 1
и базовых правилах кодирования имеют конкретные синтаксисы передачи, несущественно в настоящем
контексте. АСН.1 —это просто удобное средство формального описания абстрактного синтаксиса информа
ционных объектов.
8.2 О п е р а ц п иа б с т р а к т н о йс в я з к и
Операция абстрактной связки —это процедура, успешное выполнение которой связывает одну
или несколько пар абстрактных портов. Объект, который запрашивает абстрактную операцию
связки, называется инициатором; тот, кто ее исполняет. - ответчиком.
Операция абстрактной связки приемлема для связки конкретною набора портов инициатора
с совместимым набором портов ответчика. Если в наборе один или несколько портов асимметричны,
то операция абстрактной связки может быть приемлема для связывания либо только со стороны
потребителя, либо только со стороны поставщика, либо с любой из сторон.
Операция абстрактной связки — это полностью обобщенная процедура, за исключением того,
что в случае, если информация переносится запросчику при безуспешном результате, она ограни
чивается одним информационным объектом, называемым информацией об ошибке.
Абстрактная операция связки определяется посредством макрокоманды ABSTRACT-BIND,
определение которой предстаатяет собой следующее:
ABSTRACT-BIND MACRO
BEGIN
TYPE NOTATION
VALUE NOTATION
= Ports Bind
:: = value (VALUE BindType)
Ports
PortList
Port
PortSide
Consumer
Supplier
Bind
:: = «ТО* « 1 * PortList « }* | empty
:: = Pott « , * PortList | Рол
:: = value (PORT) PortSide
:: = Consumer | Supplier | empty
:: = «|C|*
:: = «|S|*
:: = type (BindType) - - должен быть тип BIND
| empty <BindType :: = BIND>
END
Вразделе «Порты*, где введено ключевое слово «ТО», перечисляются порты ответчика, которые
будет связывать эта операция абстрактной связки. Если там перечисляется асимметричный порт без
классификации «|Пс]« или «|Г1|». это означает, что операция абстрактной связки приемлема для
использования в связке такого порта в любом направлении.
Заметим, что спецификация аргумента, результата и (или) информации об ошибке выполняется
посредством(вложенной)макрокомандыBINDудаленныхопераций,определенныхв
ГОСТ Р ИСО/МЭК 9072-1, и это значение такого типа, который выдает макрокоманда. Если
информация отсутствует, выдается «BIND» по умолчанию.
7