IBM® Rational® Rhapsody® 不會解譯保護。它們是主語言表示式,或只是程式碼片段,必須解析為可以測試的布林或整數值。否則,不會編譯針對保護產生的狀態圖程式碼。
下列範例顯示轉移標籤,其包含保護及動作,會使用 GEN 巨集來產生事件:
[x > 7]/controller->GEN(A7Failures)
轉移只可以包含一個保護。狀況的從低到高轉移(或布林值)會視為觸發事件。例如,下列保護是有效的轉移標籤:
[x > 7]
播放動畫期間,所有沒有觸發程式的保護,都會在每次事件發生時進行測試。下列狀態圖使用數個沒有轉移的保護。

此狀態圖適用於家庭警示系統的小鍵盤。當警示系統的小鍵盤處於閒置狀態中時,您可以輸入程式碼來建立警示的讀寫臂,然後離開房間。輸入程式碼之後,您可按「開」按鈕來開啟警示。按「開」按鈕會發出 evKeyOn 事件。每當此事件發生時,狀態機器會評估決策節點之後到達的兩個保護 [IS_IN(correct)] 或 [IS_IN(notEntered)],並遵循其中一個評估為 true 的路徑。
透過使用動畫序列圖,您可以看到何時測試保護。如果您想要更頻繁地測試條件,或比事件發生頻率更頻繁的定期測試,則您可以建立輪詢機制。若要這樣做,請建立從狀態到其自己的較短逾時轉移,以便保護至少會在發生此類情況時評估為開。另外,您可以使用另一個物件來輪詢,並將目前狀態圖中的保護取代為從輪詢物件發出信號的事件。