Skip to content

Commit

Permalink
Merge branch 'develop-standalone' into develop. Close #170.
Browse files Browse the repository at this point in the history
**Description**

The CLI of Ogma lacks uniformity: some commands are driven by the input
format, others by the output format (e.g., ROS, cFS). To make Ogma
easier to use, we should provide an interface that is driven by one or
the other, but not both.

**Type**

- Feature: Introduce new command.

**Additional context**

None.

**Requester**

- Ivan Perez.

**Method to check presence of bug**

Not applicable (not a bug).

**Expected result**

Ogma provides commands for inputs support, or for outputs/targets
supported, but not both.

**Solution implemented**

Make JSONFormat descriptions readable so that they can be read from text
files.

Introduce new command `standalone`, both at core and CLI, that
implements the ability to read a spec and convert it to Copilot.

Remove dedicated/redundant commands.

Adjust tests as needed to use the new interface.

Adjust documentation.

**Further notes**

None.
  • Loading branch information
ivanperez-keera committed Nov 22, 2024
2 parents 4f0f145 + c7d2dc6 commit 2aaac90
Show file tree
Hide file tree
Showing 19 changed files with 385 additions and 654 deletions.
3 changes: 2 additions & 1 deletion ogma-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Revision history for ogma-cli

## [1.X.Y] - 2024-11-20
## [1.X.Y] - 2024-11-21

* Provide ability to customize template in cfs command (#157).
* Provide ability to customize template in ros command (#162).
* Introduce new standalone command (#170).

## [1.4.1] - 2024-09-21

Expand Down
15 changes: 4 additions & 11 deletions ogma-cli/ogma-cli.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,8 @@ description: Ogma is a tool to facilitate the integration of safe runtim
.
Some use cases supported by Ogma include:
.
- Translating requirements defined in
<https://github.com/NASA-SW-VnV/fret NASA requirements elicitation tool FRET>
into corresponding monitors in Copilot.
- Translating requirements defined in structured natural
language into monitors in Copilot.
.
- Generating the glue code necessary to work with C
structs in Copilot.
Expand Down Expand Up @@ -91,20 +90,15 @@ description: Ogma is a tool to facilitate the integration of safe runtim
> handlers Generate message handlers from C structs
> cfs Generate a complete CFS/Copilot application
> fprime Generate a complete F' monitoring component
> fret-component-spec Generate a Copilot file from a FRET Component
> Specification
> fret-reqs-db Generate a Copilot file from a FRET Requirements
> Database
> ros Generate a ROS 2 monitoring application
> standalone Generate a Copilot file from an input specification
.
For further information, see:
.
- <https://github.com/nasa/ogma The Ogma repository>.
.
- <https://copilot-language.github.io/ The Copilot web page>.
.
- <https://github.com/NASA-SW-VnV/fret The FRET repository>.
.
- <https://cfs.gsfc.nasa.gov/ The NASA Core Flight System web page>.
.
- <https://ros.org/ The Robot Operating System (ROS 2) web page>.
Expand Down Expand Up @@ -132,9 +126,8 @@ executable ogma
CLI.CommandCStructs2Copilot
CLI.CommandCStructs2MsgHandlers
CLI.CommandFPrimeApp
CLI.CommandFretComponentSpec2Copilot
CLI.CommandFretReqsDB2Copilot
CLI.CommandROSApp
CLI.CommandStandalone
CLI.CommandTop
CLI.Result

Expand Down
149 changes: 0 additions & 149 deletions ogma-cli/src/CLI/CommandFretComponentSpec2Copilot.hs

This file was deleted.

121 changes: 0 additions & 121 deletions ogma-cli/src/CLI/CommandFretReqsDB2Copilot.hs

This file was deleted.

Loading

0 comments on commit 2aaac90

Please sign in to comment.