ГОСТ Р ИСО/МЭК 10746-3-2001
7.2.3П р а в и л а с в я з ы в а н и я
В настоящей базовой модели связывание определяется через ссылку па связывающие действия.
Использование таких действий называется явным связыванием. Имеются два вида связывающих
действий: элементарные и составные.
Элементарные связывающие действия непосредственно связывают два вычислительных объ
екта. Составное связывающее действие может быть выражено в терминах элементарных связываю
щих действий, связывающих два или несколько вычислительных объектов через связующий объект.
Присутствие связующего объекта в вычислительном связывании придает смысл выражению «управ
ление конфигурацией и качеством услуги* (см. 7.2.3.3).
В нотациях, в которых нет терминов для выражения связывающих действий, связывание
является неявным. Неявное связывание для интерфейсов, отличных от интерфейса операций сер
вера. в базовой модели не определяется, гак как в этих случаях несамоочевидно, где должна
размешаться инициатива связывания относительно последующего взаимодействия. Дополнительная
информация может быть предоставлена при явном связывающем действии.
7.2.3.1 Правша неявного связывания дня интерфейсов операций сервера
Если вызов объектом-клиентом указывает на интерфейс операций сервера, с которым клиент
не связан, то требуется неявное связывание. Установление неявного связывания осушестиляется по
следующей процедуре, е с т не существует нужного интерфейса операций клиента, связанного
с сервером:
- создается интерфейс операций клиента с типом сигнатуры, дополнительным интерфейсу
сервера;
- связывается интерфейс операций клиента с интерфейсом операций сервера;
- вызывается объект-сервер через интерфейс операций клиента;
- (факультативно) по завершении операции удаляется интерфейс клиента.
7.2.3.2 Привила элементарного связывания
Элементарное связывающее действие позволяет связать интерфейс объекта, инициировавшего
действие, с другим интерфейсом (другого или того же самого объекта). Параметрами связывающего
действия являются два идентификатора, по одному на каждый участвующий интерфейс. Предусло
виями для элементарного связывающего действия являются следующие: оба участвующих интер
фейса должны быть одного вида (а именно сигналов, потоков или операций), быть причинно
дополнительными, и их типы сигнатуры должны быть дополнительными.
Элементарное связывание или устанавливает связь между двумя рассматриваемыми интерфей
сами, или завершается неудачно.
Удаление интерфейса, который был связан с другим интерфейсом с помощью элементарного
связывающего действия, удаляет так же и связь.
7.2.3.3 Правила составного связывания
Составные связывающие действия позволяют связать несколько интерфейсов, используя свя
зующий объект для обеспечения связи. За исключением сказанного в данном разделе, во всех других
отношениях связующий объект является обычным вычислительным объектом. В шаблоне связую
щего объекта спецификация поведения выражается в терминах набора параметров формальных
ролей, каждый из которых связан с шаблоном интерфейса.
Составные связывающие действия имеют в качестве параметров шаблон связующего объекта
и набор интерфейсов, которые должны быть связаны для взаимодействия.
Предусловиями для составного связывания для каждой формальной роли в шаблоне связую
щего объекта являются:
- соответствующий параметр интерфейса должен быть того же самого вида (а именно сигналов,
потоков или операций), что и шаблон интерфейса, ассоциированный с формальной ратью в шаблоне
связующего объекта:
- соответствующий параметр интерфейса должен быть причинно дополнительным шаблону
интерфейса, ассоциированному с формальной ролью в шаблоне связующего объекта;
- соответствующий параметр интерфейса должен быть подтипом типа сигнатуры шаблона
интерфейса, ассоциированный с формальной ролью в шаблоне связующего объекта.
Составное связывающее действие включает в себя следующие шаги:
- связующий объект реализуется по шаблону связующего объекта;
- реализуется каждый шаблон интерфейса в связующем объекте, ассоциированный с парамет
ром формальной роли в шаблоне связующего объекта;
13