事件

事件提供了反应对象或任务之间的异步通信。事件可以触发状态图中的过渡。

IBM® Rational® Rhapsody® Developer for C 中,事件是作为对象(结构)来实施的。抽象数据类型和事件结构在程序包规范文件中定义,如下所示:

typedef struct evStart evStart;

struct evStart {
   RiCEvent ric_event;
};

RiCEvent 对象的实例嵌入在事件的结构中作为数据成员。

注: RiCEvent 是由 Rational Rhapsody Developer for C 框架提供的预定义事件类型。

虽然事件是作为对象来实施的,但它们是作为操作来建模的。因此,事件没有特性,而只包含初始化和清除操作。

缺省情况下,每个事件都分配有动态标识:

/*## package Default */
#define evStart_Default_id 1

如果同一事件在多个组件中复用,则可以更改事件标识,例如,如果同一事件在客户机和服务器组件中使用。要避免这种可能在分布式系统中导致问题的情况,您可以通过设置 CG::Event::Id 属性来为事件分配永久标识。


反馈