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