[Haskell-cafe] [ANN] NASA's Ogma 1.0.9

Ivan Perez ivanperezdominguez at gmail.com
Sun May 21 22:13:36 UTC 2023

Hi everyone!

I'm thrilled to announce the release of Ogma 1.0.9!

Ogma is a NASA tool that facilitates integrating runtime monitors or
runtime verification applications into other systems.

Use cases supported by Ogma include producing Robot Operating System
(ROS 2) packages [3], NASA Core Flight System (cFS) applications [4],
and components for FPrime [1] (the software framework used for the Mars
Helicopter), as well as generating monitors from requirements specified
in natural language [5]. Ogma is also one of the solutions recommended
for monitoring in Space ROS applications [2].

Ogma leverages existing Haskell work, like the Copilot language [6]
(also funded by NASA) and BNFC [7].

For more details, including videos of monitors being generated and
flown in simulators, see:

* What's changed

This release improves the user experience and fixes a number of bugs in
the code and documentation. A new flag `--target-file-name` allows
users to specify the root for C monitoring files generated by some of
the backends, which makes for a simpler process.

For details about the release, see:

* Releases

Ogma is released as a collection of packages in Hackage. The entry point
is https://hackage.haskell.org/package/ogma-cli.

* Code

The github repo is located at: https://github.com/nasa/ogma.

* What's coming

The next release is planned for Jul 21st, 2023.

Ogma is currently undergoing the qualification process necessary for
NASA Class D Software. Apart from the changes required by that
process, we also have the following in our roadmap:

- Extend ROS 2 monitors with further information about sources of

- Add tests to generated code.

- Simplify NASA cFS monitor generation process.

- Simplify the architecture. More specifically, we now have improved
  the compilation process by using a higher-kinded data structure,
  allowing us to incorporate different kinds of information to syntax
  trees used during both parsing and code generation. This feature has
  been prototyped, and is currently undergoing testing.

We hope that you are as excited as we are and that our work demonstrates
that, with the right support, Haskell can reach farther than we ever
thought possible.

Happy Haskelling!


[1] https://github.com/nasa/fprime

[2] https://space.ros.org/

[3] https://www.ros.org/

[4] https://github.com/nasa/cFS

[5] https://github.com/NASA-SW-VnV/fret

[6] https://github.com/Copilot-Language/copilot

[7] https://github.com/BNFC/bnfc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20230521/a094b941/attachment.html>

More information about the Haskell-Cafe mailing list