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