ГОСТ Р ИСО/МЭК 10746-3-2001
- для каждого запроса в Y имеется сигнатура запроса в X (соответствующая сигнатура в X), которая определяет запрос с тем же самым именем;
- для каждой сигнатуры запроса в Y соответствующая сигнатура в X имеет то же самое число параметров с теми же самыми именами;
- для каждой сигнатуры запроса в Y тип каждого параметра является подтипом соответствующего типа параметра соответствующей сигнатуры запроса в X;
- набор имен завершений сигнатуры запроса в Y содержит набор имен завершений соответствующей сигнатуры запроса в X;
- для каждой сигнатуры запроса в Y данное завершение в соответствующей сигнатуре запроса в X имеет то же самое число результирующих параметров с теми же самыми именами, что и одноименное завершение в сигнатуре запроса в Y;
- для каждой сигнатуры запроса в Y каждый тип результата, связанный с данным завершением в соответствующей сигнатуре запроса в X, является подтипом типа результата (с тем же именем) в одноименном завершении в Y;
- для каждой сигнатуры сообщения в Y имеется сигнатура сообщения в X (соответствующая сигнатура в X), которая определяет сообщение с тем же самым именем;
- для каждой сигнатуры сообщения в Y соответствующая сигнатура сообщения в X имеет то же самое число параметров с теми же самыми именами;
- для каждой сигнатуры сообщения в Y тип каждого параметра является подтипом типа соответствующего параметра в соответствующей сигнатуре сообщения в X.
7.2.5 Правила для шаблонов
7.2.5.1 Правила для шаблонов вычислительных объектов
Вычислительный объект (включая частный случай связующего объекта) может:
- инициировать или отвечать на сигналы;
- создавать или потреблять потоки;
- инициировать вызовы операций;
- отвечать на вызовы операций;
- инициировать завершения операций;
- отвечать на завершения операций;
- реализовывать шаблоны интерфейсов;
- реализовывать шаблоны объектов;
- связывать интерфейсы;
- предоставлять доступ и изменять свое состояние;
- удалять один или несколько из своих интерфейсов;
- удалять самого себя;
- порождать, разветвлять и объединять деятельности;
- получать идентификатор вычислительного интерфейса для экземпляра функции торга;
- проверять, является ли сигнатура вычислительного интерфейса подтипом другой сигнатуры.
Любое из этих действий может привести к отказу.
7.2.5.2 Реализация вычислительного интерфейса
Устанавливает один или несколько идентификаторов для нового вычислительного интерфейса в объекте, осуществляющем реализацию.
7.2.5.3 Реализация шаблона вычислительного объекта
Выражение поведения в шаблоне вычислительного объекта включает в себя описание поведения, которое должно происходить при реализации шаблона (реализующего поведения). Спецификация контракта среды описывает контракт, который должен быть установлен между реализуемым объектом и его средой при реализации шаблона. Когда реализующее поведение включает в себя реализации интерфейсов, то реализация устанавливает идентификаторы для этих интерфейсов в объекте, который инициировал реализацию.
7.2.6 Правила для отказов
Видимые объекту режимы отказа определяются спецификациями его поведения и контракта среды.
Любые вычислительные действия в 7.2.5.1 могут привести к отказу и этот отказ может наблюдаться объектом, осуществляющим действие. Взаимодействие может быть разорвано из-за отказа участвующих объектов, или из-за их связывания, или из-за того и другого сразу. В случае сигналов отказ идентичен (и видим) для всех участников взаимодействия. В случае потоков и операций отказ
15