IBM® Rational® Rhapsody® 無法解譯執行簡單的動作,然後終止的簡式狀態圖。比方說,如果您將某作業表示為含有可基本上執行簡單動作並終止之簡式狀態圖的作用中類別,則您可能會繪製自己的狀態圖,如此範例中所示。
在此圖表中,doIt() 表示需要建立的動作。
此狀態圖具有兩個問題:
- Rational Rhapsody 架構不容許作用中實例在起始從執行到完成 (RTC) 步驟中終止。換句話說,startBehavior() 呼叫無法以毀損的物件結束。
- startBehavior() 呼叫會在建立者執行緒上而不是作為實例執行緒的一部分執行起始步驟。實例執行緒會處理起始步驟之後的事件。在此狀態圖中,doIt() 作業會在建立者執行緒上執行,這可能並非是所期望的。
暫行解決方法是在導致轉移的起始連接器上建立虛擬的動作。此動作可以在實例執行緒上執行,因此會正常終止。
例如,下列狀態圖會延遲執行動作,直到執行緒準備好處理它為止。