nasa/ogma

Generator of runtime monitors for flight and robotics applications.

解決的問題

Ogma 是一款旨在將安全的執行時監控器整合至大型軟體系統中的工具,專門針對太空船與機器人技術等高可靠性環境。它實現了膠水程式碼生成的自動化,將高階執行時驗證框架(特別是 Copilot)連接到訊息匯流排與軟體匯流排等真實世界的数据源。

工作原理

Ogma 透過擴展 Copilot 框架來生成硬即時 C99 程式碼。它透過生成必要的應用程式封裝器與訊息處理器,充當監控規範與目標平台之間的橋樑。它支援多種目標環境:

  • NASA Core Flight System (cFS): 生成訂閱軟體匯流排、處理傳入訊息並在違反屬性時觸發故障處理程式的應用程式。
  • Robot Operating System (ROS): 生成訂閱 ROS 主題以獲取數據並報告違規行為的監控應用程式。
  • F' (F Prime): 生成執行時監控組件。
  • 圖示輸入: 可以直接從 DOT/Graphviz 或 Mermaid 等格式的圖表中生成監控器。

適用對象

適用於從事安全關鍵型嵌入式系統、機器人技術與航太軟體工作的軟體工程師與系統工程師,他們需要確保其系統在執行時表現正確。

亮點

  • 多平台支援: 為 NASA cFS、ROS 與 F Prime 提供原生生成。
  • 自動化膠水程式碼: 處理建立訊息處理器與 C 結構體介面等繁瑣過程。
  • 可自訂範本: 允許使用者提供自己的範本來自訂生成的應用程式結構。
  • 外部轉換: 支援透過外部指令或 LLM 轉換屬性(但使用者需負責驗證輸出)。
  • 專注於即時性: 產生適合硬即時約束的 C99 程式碼。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch