diff --git a/ogma-cli/README.md b/ogma-cli/README.md index 457df82..9796a54 100644 --- a/ogma-cli/README.md +++ b/ogma-cli/README.md @@ -19,6 +19,9 @@ verification framework that generates hard real-time C99 code. - Generating message handlers for NASA Core Flight System applications to make external data in structs available to a Copilot monitor. +- Generating monitors from diagrams in diagramatic formats (e.g., Graphviz, + mermaid). + - Generating the glue code necessary to work with C structs in Copilot.
@@ -42,6 +45,7 @@ verification framework that generates hard real-time C99 code. - [cFS Application Generation](#cfs-application-generation) - [ROS Application Generation](#ros-application-generation) - [F' Component Generation](#f-component-generation) + - [Generating Monitors from Diagrams](#generating-monitors-from-diagrams) - [Struct Interface Generation](#struct-interface-generation) - [Contributions](#contributions) - [Acknowledgements](#acknowledgements) @@ -536,6 +540,21 @@ by default by the `fprime` command. The code generated by default assumes that handlers receive no arguments. The user must modify the handlers accordingly if that is not the case. +## Generating Monitors from Diagrams + +Apart from the backends mentioned before, Ogma includes a command able to +transform state machine diagrams into monitors. At present, this command +generates a standalone monitor; if you are interested in generating monitors +for cFS, ROS or F', see the argument `--variable-file` for the command matching +your target platform. + +Disclaimer: The interface for this command is preliminary. We are seeking input +from the community about possible use cases and other diagramatic formats that +we should support. + +There command `diagram` provides the ability to convert a diagram in one of the +supported formats into a monitor. The command supports the following arguments. + ## Struct Interface Generation A lot of the information that must be monitored in real-world C applications is