10.3 Signals

10.3.1 概要

Signals和Receptions用于对对象间的异步通信进行建模。

10.3.2 抽象语法

图10.5 Signals

10.3.3 语义

Signals

Signal是一种对象间通信的规约,其中在接收者上触发一个异步的反应而没有响应。接收对象按13.3的规定处理Signals。由通信承载的数据由Signal的属性(attributes)来表示。Signal独立于处理它的分类符被定义。

Signal的发送者不会阻塞等待响应,而是立即继续执行。通过声明一个与给定Signal关联的Reception,分类符规定了它的实例可以接收该Signal,或者它的一个子类,并且利用指定的行为来响应它。

Signal可以被参数化、绑定,并且用作模板参数。

Receptions

Reception规定了它的宿主类或接口准备对一个Signal的接受做出反应。如果接收到的Signal是Reception的signal的特化,那么Reception与该Signal是匹配的。对象如何对所接收到的Signal进行响应的细节取决于与Reception关联的行为种类以及它的宿主类或接口。参见13.2。Reception的名称与Signal的名称相同。Reception可能只有in参数,它们通过名称、类型和multiplicity与Signal的属性相匹配。

10.3.4 表示法

Signal通过一个带«signal»关键字的分类符符号来表示。

Receptions使用带有«signal»关键字的操作图示展示在receptions格间中。

10.3.5 示例

图10.6展示了一个IAlarm接口,它定义了两个Receptions,每一个指向一个本例中展示的Signal。

注意. Reception的名称与Signal的名称匹配,Reception的参数与Signal的属性匹配。

图10.6 Reception Notation

results matching ""

    No results matching ""