ГОСТ I» ИСО/МЭК 10746-3-2001
- принимает потоки, которые имеют причинность потребителя в сигнатуре интерфейса.
7.2.2.3 Правила взаимодействия для операций
Объект-клиент, используя интерфейс операций, вызывает операции, названные в сигнатуре
интерфейса. Объект-сервер, предоставляющий интерфейс операций, ожидает какую-либо из опера
ций, названных в сигнатуре интерфейса. В случае запроса сервер отвечает на вызов инициированием
одного из завершений, указанного для операции в сигнатуре интерфейса сервера. Клиент ожидает
какое-либо из завершений, указанных для операции в сигнатуре интерфейса клиента. Продолжи
тельность операции произвольна, если только другое не требуется контрактами среды, применяе
мыми к этим объектам и интерфейсу.
П р и м е ч а н и е —Если клиент вызывает цепочку запросов, то взаимное соответствие запросов и
Завершений гарантирует, что сервер будет отвечать на операции в том же самом порядке, в каком их
инициировал клиент. Если клиент вызывает цепочку сообщений (или цепочку, содержащую сообщения и
запросы), то нет способа гарантировать порядок, в котором сервер будет отвечать на сообщения, если только
это нс подразумевается контрактами среды, применяемыми к взаимодействию. Нет гарантий порядка ни для
запросов, ни для сообщений, которые находятся вразных дочерних деятельностях ранее разделенного действия.
7.2.2.4 Правила для параметров
В число параметров для сигналов, вызовов и завершений могут входить идентификаторы для
вычислительных интерфейсов и типов сигнатур вычислительных интерфейсов.
П р и м е ч а н и е I —Возможности использования параметров сигнатуры вычислительного интерфейса
делаюттипы вычислительных сигнатур более упорядоченными. Явное представление типов сигнатур требуется,
например, при торге, когда параметры операций импорта и экспорта включают в себя типы сигнатур:
tradcr.import (Т: Туре. ... ) : (servise: Т) - > failed (reason:
String)
tradcr.cxport
(T:
Type, service:
T)
: (...) ->
failed (reason: String)
Таким образом появляется необходимость динамической проверки подтипа сигнатуры
(см. 7.2.5.1).
Формальный параметр, который является идентификатором для вычислительного интерфейса,
уточняется типом сигнатуры вычислительного интерфейса. Соответствующий фактический пара
метр должен указывать интерфейс с этим типом сигнатуры (или с одним из ее подтипов). Факти
ческий параметр может использоваться, если он указывает вычислительный интерфейс с тем же
самым типом сигнатуры, что и формальный параметр (или с ее подтипом). После взаимодействия
инициатор и ответчик могут ссылаться на идентифицированный интерфейс, хотя, возможно, и с
разными его идентификаторами.
П р и м е ч а н и е 2 —Эго правило препятствует пользователю итсрфейса. указанного фактическим
параметром, осуществлять дополнительные взаимодействия через интерфейс с типом сигнатуры формального
параметра, даже если интерфейс, указанный фактическим параметром, янляезся подтипом интерфейса,
связанного с формальным параметром.
7.2.2.5 Потоки, операции и сигисиы
Потоки и операции могут быть определены в терминах сигналов. Это позволяет использовать
интерфейсы сигналов как основу для объяснения многостороннего связывания, сквозных характе
ристик качества услуг и составного связывания между разными типами интерфейсов (например,
связывание интерфейсов потоков и операций).
Определение потоков в терминах сигналов зависит от деталей взаимодействий, абортирован
ных в спецификации рассматриваемого интер<|>ейса потоков, и. следовательно, находится вне сферы
действия настоящей базовой модели.
Операции могут моделироваться как сигналы путем введения соответствующих интерфейсов
сигналов язя интерфейсов операций клиента и сервера:
- в интерфейсе сигналов, удовлетворяющем интерфейсу операций клиента, имеются сигналы
(подача вызова), соответствующие всем вызовам с теми же самыми параметрами, а в случае интер
фейса, содержащего запросы, енгнязы (доставка завершения), —всем возможным завершениям с
теми же самыми параметрами:
- в интерфейсе сигналов, удовлетворяющем интерфейсу операций сервера, имеются сигналы
(доставка вызова), соответствующие всем вызовам с теми же самыми параметрами, а в случае
интерфейса, содержащего запросы, сигнаты (подача завершения), —всем возможным завершениям с
теми же самыми параметрами.
Полученный таким образом набор сигнаюв эквивалентен набору вызовов и завершений в
описываемом интерфейсе операций.
12