事件

事件會提供在回應物件或作業之間的非同步通訊。事件可以在狀態圖中觸發轉移。

IBM® Rational® Rhapsody® Developer for C,會將事件實作為物件(結構)。於套件規格檔案中定義抽象資料類型及事件結構如下:

typedef struct evStart evStart;

struct evStart {
   RiCEvent ric_event;
};

RiCEvent 物件的實例會內嵌在事件結構中,作為資料成員。

註: RiCEvent 是由 Rational Rhapsody Developer for C 架構所提供的預先定義事件類型。

雖然將事件實作為物件,它們還是被建模成作業。因此,事件沒有屬性,且只有起始設定及清理作業。

每一個事件依預設由一個動態 ID 指派:

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

當相同事件在多個元件中重複使用時,例如,相同事件用於用戶端及伺服器元件,事件 ID 即可以變更。若要避免這種會引起分散式系統問題的狀況,您可以設定 CG::Event::Id 內容將永久 ID 指派給事件。


回饋