定義 Rhapsody 實作區塊 (RIMB) 狀態圖及其執行

您可以使用狀態圖來說明 Rhapsody 實作區塊 (RIMB) 的行為。

關於這項作業

在執行時期環境管理的模式中,到達 AUTOSAR 接收端埠的資料元素會轉換為觸發的作業。當資料元素到達時,執行時期環境 (RTE) 會呼叫直接觸發狀態圖上轉移的對應作用中作業。佇列作業由執行時期環境在 AUTOSAR 資料元素層次完成。在此模式中,只有源自 AUTOSAR 資料元素到達的觸發作業可以觸發狀態圖上的轉移。

在 Rhapsody 管理的模式中,到達 AUTOSAR 接收端埠的資料元素會轉換為 Rhapsody 事件。當資料元素到達時,會呼叫作用中作業,其將對應的事件排入 Rhapsody 實作區塊的事件佇列。Rhapsody 實作區塊的 doExecute 指令會執行並將事件逐個分派到狀態圖中,這是模仿一般 Rhapsody 機制。此模式涉及雙重佇列作業:由執行時期環境和 Rhapsody 進行。

在執行時期環境管理的模式中定義 Rhapsody 實作區塊 (RIMB) 的狀態圖

程序

  1. 對於 Rhapsody 實作區塊接收端埠 p 上的每個屬性 x(其達到會觸發轉移),定義名為 evP_x 的觸發作業。
  2. x 的存取模式設定為明確區塊處理明確非區塊處理(即隱含)。存取模式將具有一般 C 類型,而非 Rhapsody 事件。
  3. 建立將觸發的作業用作轉移觸發程式的狀態圖。
  4. 對於每個這種 p.x,您可以定義作用中作業,以用作 p.x 的分派器。 作用中作業的實作是要呼叫 receiveAndHandleData_p_x()。此步驟對於執行時期環境管理的模式和 Rhapsody 管理的模式是相同的。差異是 Rhapsody 針對 receiveAndHandleData_p_x() 產生的程式碼。
  5. 將狀態圖的所有分派器設定為受保護,以確保分派器互斥。

在 Rhapsody 管理的模式中定義 Rhapsody 實作區塊 (RIMB) 的狀態圖

程序

  1. 建立使用 Rhapsody 事件作為轉移觸發程式的狀態圖。
  2. 使用那些事件來確定 Rhapsody 實作區塊接收端介面類型埠上屬性的類型。如果 AUTOSAR 資料元素 x 到達接收端埠 p 是觸發事件 ev 的方式,請在輸入 pev 的 Rhapsody 實作區塊接收端介面上輸入 x。與在前面一組步驟中說明的觸發作業對照,ev 是狀態圖上事件的名稱,不是結合 px 而建立的名稱。將 ev 連結至 p.x 透過輸入 xev 實現。
  3. 對於每個這種 p.x,可以定義作用中作業,以用作 p.x 的佇列器。 作用中作業的實作是要呼叫 receiveAndHandleEvent_p_x()。此步驟對於執行時期環境管理的模式和 Rhapsody 管理的模式是相同的。差異是 Rhapsody 針對 receiveAndHandleEvent_p_x() 產生的程式碼。

回饋