•ОСТ Р ИСО/МЭК 10021-3-98
П р и м е ч а н и е —Взаимосвязь ABSTRACT и BIND помогает выполнять тривиальную реализацию
СУО абстрактной услуги (см. 10.1).
Абстрактная услуга обычно содержит операцию абстрактной связки для каждого типа порта,
участвующего в его обеспечении. При привлечении нескольких типов порта их операции абстракт
ной святки могут, но не должны быть различимыми.
8.3 О п е р а ц и иа б с т р а к т н о йр а з в я з к и
Операции абстрактной развязки - это процедура, выполнение которой (успешное или нет)
развязывает два порта. Она вызывается объектом, который вызывал соответствующую операцию
абстрактной связи (т. е. инициатором), и выполняется ответчиком.
Операция абстрактной развязки приемлема для развязывания определенного набора портов
инициатора из совместимого набора ответчика. Если один или несколько портов в наборе асиммет
ричны, операция абстрактной развязки может быть приемлемой для развязывания только со стороны
потребителя, только со стороны поставщика либо с обеих сторон.
Операция абстрактной развязки —полностью обобщенная процедура, за исключением того,
что если информация переносится запросчику, при безуспешном результате она ограничивается
одним информационным объектом, называемым информацией об ошибке.
Операция абстрактной развязки определяется посредством макрокоманды ABSTRACT-UN
BIND. определение которой представляет собой следующее:
ABSTRACT-UNBIND MACRO :: =
BEGIN
TYPE NOTATION
VALUE NOTATION
:: = Ports Unbind
:: = value (VALUE UnbindType)
Ports
PortList
Port
PortSide
Consumer
Supplier
Unbind
END
= «FROM* * { * PortList « ) * | empty
= Port « , * PortList | Port
= value (POR I) PortSide
= Consumer | Supplier | empty
= *|C|*
= «|S|.
= type (UnbindType)!
- - должен быть тип UNBIND
empty «UnbindType :: = UNBIND>
В разделе «Порты», где введено ключевое слово «FROM», перечислены порты ответчика, от
которых эта операция абстрактной развязки будет осуществлять развязку. Если там упоминается
асимметричный порт без классификации «|S|* (Пс) или «|С|» (П), это означает, что операция
абстрактной развязки приемлема для использования в развязывании такого порта в любом направ
лении (хотя фактическое направление определяется направлением,в котором осуществляется
связка).
Заметим, что спецификация аргумента, результата и (или) информации об ошибке выполняется
посредством (вложенной) макрокоманды UNBIND удаленных операций, определенных в
ИСО/МЭК 9072-1, и это значение такого типа, которое выдает макрокоманда. Если никакая
информация не обеспечивается, выдается «UNBIND» по умолчанию.
11р и м е ч а н и с —Взаимосвязь ABSTRACT-UNBIND и UNBIND помогает выполнить тривиальную
реализацию СУО абстрактной услуги (см. 10.1).
Абстрактная услуга обычно содержит абстрактную операцию развязки (для) каждого типа
порта, участвующего в ее обеспечении. Если участвуют порты нескольких типов, операции абстракт
ной развязки могут, но необязательно, быть различимыми.
8.4 А б с т р а к т н ы ео п е р а ц и и
Абстрактная операция —это процедура, которая может быть привлечена в контексте двух
связанных портов. Безуспешность ее выполнения не влияет на связку. Если порты асимметричные,
порт предписывает роль запросчика: объект, имеющий порт потребителя, объект, имеющий порт
8