From ced63648a92090c5ec0feb9f62d39a1af3d6071f Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 23 Mar 2023 18:55:54 -0700 Subject: [PATCH 01/45] ogma-cli: Replace ROS2 with ROS 2 in the CLI help. Refs #83. The Open Source Robotics Foundation, Inc. (OSRF) has published specific guidance on how the ROS 2 should be referred to, and they have indicated that they would want it to be called ROS 2 instead of ROS2. This commit replaces ROS2 with ROS 2 in the command-line help. --- ogma-cli/src/CLI/CommandROSApp.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ogma-cli/src/CLI/CommandROSApp.hs b/ogma-cli/src/CLI/CommandROSApp.hs index d68dca2..9fac9ba 100644 --- a/ogma-cli/src/CLI/CommandROSApp.hs +++ b/ogma-cli/src/CLI/CommandROSApp.hs @@ -81,7 +81,7 @@ command c = -- | ROS command description commandDesc :: String -commandDesc = "Generate a ROS2 monitoring package" +commandDesc = "Generate a ROS 2 monitoring package" -- | Subparser for the @ros@ command, used to generate a Robot Operating System -- application connected to Copilot monitors. From 55990f8958af03ffc819dcb7d8191b83e939ee57 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 23 Mar 2023 18:57:21 -0700 Subject: [PATCH 02/45] ogma-cli: Replace ROS2 with ROS 2 in the package description. Refs #83. The Open Source Robotics Foundation, Inc. (OSRF) has published specific guidance on how the ROS 2 should be referred to, and they have indicated that they would want it to be called ROS 2 instead of ROS2. This commit replaces ROS2 with ROS 2 in the package description in the cabal file. --- ogma-cli/ogma-cli.cabal | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ogma-cli/ogma-cli.cabal b/ogma-cli/ogma-cli.cabal index 26c74f3..9867cee 100644 --- a/ogma-cli/ogma-cli.cabal +++ b/ogma-cli/ogma-cli.cabal @@ -67,7 +67,7 @@ description: Ogma is a tool to facilitate the integration of safe runtim to a Copilot monitor. . - Generating - + applications that use Copilot for monitoring data received from different topics. . @@ -91,7 +91,7 @@ description: Ogma is a tool to facilitate the integration of safe runtim > Specification > fret-reqs-db Generate a Copilot file from a FRET Requirements > Database - > ros Generate a ROS2 monitoring application + > ros Generate a ROS 2 monitoring application . For further information, see: . @@ -103,7 +103,7 @@ description: Ogma is a tool to facilitate the integration of safe runtim . - . . - - . + - . . - , Perez, Dedden and Goodloe. 2020. . From ef86a76c6a23c7b9918e3d1f718c950dc89b6c58 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 23 Mar 2023 18:58:48 -0700 Subject: [PATCH 03/45] ogma-cli: Replace ROS2 with ROS 2 in the README. Refs #83. The Open Source Robotics Foundation, Inc. (OSRF) has published specific guidance on how the ROS 2 should be referred to, and they have indicated that they would want it to be called ROS 2 instead of ROS2. This commit replaces ROS2 with ROS 2 in Ogma's README. --- ogma-cli/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ogma-cli/README.md b/ogma-cli/README.md index e91d00a..b7847b8 100644 --- a/ogma-cli/README.md +++ b/ogma-cli/README.md @@ -117,7 +117,7 @@ Available commands: Specification fret-reqs-db Generate a Copilot file from a FRET Requirements Database - ros Generate a ROS2 monitoring package + ros Generate a ROS 2 monitoring package ``` ## Language transformations: FRET From 7ab58a8e7a3cf118c87d6eb29df9ab5b40fa7083 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Thu, 23 Mar 2023 19:04:50 -0700 Subject: [PATCH 04/45] ogma-cli: Document changes in CHANGELOG. Refs #83. --- ogma-cli/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-cli/CHANGELOG.md b/ogma-cli/CHANGELOG.md index e9e3cde..e8636ad 100644 --- a/ogma-cli/CHANGELOG.md +++ b/ogma-cli/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-cli +## [1.X.Y] - 2023-03-23 + +* Rename ROS2 to ROS 2 (#83). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From b53a7d5f05ed1c05bf2809938cc963f50a7ce628 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Tue, 21 Mar 2023 02:25:26 -0700 Subject: [PATCH 05/45] ogma-core: Modify component spec backend to allow customizing target filename. Refs #80. Ogma does not allow users to specify the name of the target file that should be used in applications produced from FRET files. Without that extra facility, it becomes necessary to rename and modify the Copilot/Haskell (or C) files produced, which detracts from a smooth UX process. This commit modifies the FRET component specification backend to customize the name of the target C filenames based on an argument to the backend. --- ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs b/ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs index c082cc5..51ae667 100644 --- a/ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs +++ b/ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs @@ -57,6 +57,7 @@ data FRETComponentSpec2CopilotOptions = FRETComponentSpec2CopilotOptions { fretCS2CopilotUseCoCoSpec :: Bool , fretCS2CopilotIntType :: String , fretCS2CopilotRealType :: String + , fretCS2CopilotFilename :: String } -- | Transform a FRET TL specification into a Copilot specification. @@ -249,7 +250,8 @@ fretComponentSpec2Copilot' prefs fretComponentSpec = main' :: [String] main' = [ "" , "main :: IO ()" - , "main = reify spec >>= compile \"fret\"" + , "main = reify spec >>= compile \"" + ++ fretCS2CopilotFilename prefs ++ "\"" ] -- | Return the corresponding type in Copilot matching a given FRET type. From 3ca6fbab920c24f283019c2634d45f436455e7fd Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Tue, 21 Mar 2023 02:25:37 -0700 Subject: [PATCH 06/45] ogma-core: Modify component spec command to allow customizing target filename. Refs #80. Ogma does not allow users to specify the name of the target file that should be used in applications produced from FRET files. Without that extra facility, it becomes necessary to rename and modify the Copilot/Haskell (or C) files produced, which detracts from a smooth UX process. This commit modifies the top-level command that exposes the component specification backend to customize the name of the target C filenames based on an argument to the backend, and use it when calling the internal FRET-to-Copilot translation module. --- ogma-core/src/Command/FRETComponentSpec2Copilot.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ogma-core/src/Command/FRETComponentSpec2Copilot.hs b/ogma-core/src/Command/FRETComponentSpec2Copilot.hs index 74985cb..b0ee34a 100644 --- a/ogma-core/src/Command/FRETComponentSpec2Copilot.hs +++ b/ogma-core/src/Command/FRETComponentSpec2Copilot.hs @@ -94,6 +94,7 @@ data FRETComponentSpec2CopilotOptions = FRETComponentSpec2CopilotOptions { fretCS2CopilotUseCoCoSpec :: Bool , fretCS2CopilotIntType :: String , fretCS2CopilotRealType :: String + , fretCS2CopilotFilename :: String } -- | Parse a JSON file containing a FRET component specification. @@ -130,6 +131,7 @@ fretComponentSpec2CopilotOptions options = (fretCS2CopilotUseCoCoSpec options) (fretCS2CopilotIntType options) (fretCS2CopilotRealType options) + (fretCS2CopilotFilename options) -- * Result From 8f372b1e88e22893eec35d0283e89c00b72f5339 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 21:08:59 -0700 Subject: [PATCH 07/45] ogma-core: Adjust component spec command test. Refs #80. A new field has been added to the FRET component spec backend to take the prefix for the target C files generated by Copilot. That new field is not optional. The tests are currently failing because the value for the field is not being passed in a call to the backend. This commit modifies the tests for the component-spec backend to include the target file prefix "fret", which was originally the default, in the call to the backend. --- ogma-core/tests/Main.hs | 1 + 1 file changed, 1 insertion(+) diff --git a/ogma-core/tests/Main.hs b/ogma-core/tests/Main.hs index 55a00d6..0c1b66c 100644 --- a/ogma-core/tests/Main.hs +++ b/ogma-core/tests/Main.hs @@ -110,6 +110,7 @@ testFretComponentSpec2Copilot file success = do { fretCS2CopilotUseCoCoSpec = False , fretCS2CopilotIntType = "Int64" , fretCS2CopilotRealType = "Float" + , fretCS2CopilotFilename = "fret" } result <- fretComponentSpec2Copilot file opts From 71c6dcf7f345bce2b9c14b14a093a7297777a029 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Tue, 21 Mar 2023 02:25:47 -0700 Subject: [PATCH 08/45] ogma-cli: Modify component spec command to allow customizing target filename. Refs #80. Ogma does not allow users to specify the name of the target file that should be used in applications produced from FRET files. Without that extra facility, it becomes necessary to rename and modify the Copilot/Haskell (or C) files produced, which detracts from a smooth UX process. This commit modifies the top-level command-line interface to include a new flag for the fret-component-spec command, allowing users to customize the name of the target C filenames generated by Copilot. --- .../src/CLI/CommandFretComponentSpec2Copilot.hs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ogma-cli/src/CLI/CommandFretComponentSpec2Copilot.hs b/ogma-cli/src/CLI/CommandFretComponentSpec2Copilot.hs index 06b914e..d571def 100644 --- a/ogma-cli/src/CLI/CommandFretComponentSpec2Copilot.hs +++ b/ogma-cli/src/CLI/CommandFretComponentSpec2Copilot.hs @@ -62,6 +62,7 @@ data CommandOpts = CommandOpts , fretComponentSpecCoCoSpec :: Bool , fretComponentSpecIntType :: String , fretComponentSpecRealType :: String + , fretComponentSpecTarget :: String } -- | Transform a FRET component specification into a Copilot specification. @@ -80,6 +81,7 @@ command c = { fretCS2CopilotUseCoCoSpec = fretComponentSpecCoCoSpec c , fretCS2CopilotIntType = fretComponentSpecIntType c , fretCS2CopilotRealType = fretComponentSpecRealType c + , fretCS2CopilotFilename = fretComponentSpecTarget c } -- * CLI @@ -118,6 +120,13 @@ commandOptsParser = CommandOpts <> showDefault <> value "Float" ) + <*> strOption + ( long "target-file-name" + <> metavar "FILENAME" + <> help strFretTargetDesc + <> showDefault + <> value "fret" + ) -- | Argument FRET command description strFretArgDesc :: String @@ -134,3 +143,7 @@ strFretIntTypeDesc = "Map integer variables to the given type" -- | Real type mapping flag description. strFretRealTypeDesc :: String strFretRealTypeDesc = "Map real variables to the given type" + +-- | Target file name flag description. +strFretTargetDesc :: String +strFretTargetDesc = "Filename prefix for monitoring files in target language" From 8ef2d1e0b8ed71308646b57446bedbdef60a55bd Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 18:57:14 -0700 Subject: [PATCH 09/45] ogma-core: Modify reqs DB backend to allow customizing target filename. Refs #80. Ogma does not allow users to specify the name of the target file that should be used in applications produced from FRET files. Without that extra facility, it becomes necessary to rename and modify the Copilot/Haskell (or C) files produced, which detracts from a smooth UX process. This commit modifies the FRET requirements DB backend to customize the name of the target C filenames based on an argument to the backend. --- ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs b/ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs index 1febbf9..ef8a61e 100644 --- a/ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs +++ b/ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs @@ -62,6 +62,7 @@ import qualified Language.FRETReqsDB.AST as FRET ( FRETReqsDB, semantics, -- to Copilot code. data FRETReqsDB2CopilotOptions = FRETReqsDB2CopilotOptions { fretReqsDB2CopilotUseCoCoSpec :: Bool + , fretReqsDB2CopilotFilename :: String } -- | Return a string with the contents of the Copilot module that implements a @@ -155,5 +156,6 @@ fret2CopilotModule' prefs smvSpec cocoSpec = unlines $ concat sections main' = [ "" , "main :: IO ()" - , "main = reify spec >>= compile \"fret\"" + , "main = reify spec >>= compile \"" + ++ fretReqsDB2CopilotFilename prefs ++ "\"" ] From b3395b6d722a1cb4ae54f9c1d8328afc6e8699cf Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 18:58:44 -0700 Subject: [PATCH 10/45] ogma-core: Modify reqs DB command to allow customizing target filename. Refs #80. Ogma does not allow users to specify the name of the target file that should be used in applications produced from FRET files. Without that extra facility, it becomes necessary to rename and modify the Copilot/Haskell (or C) files produced, which detracts from a smooth UX process. This commit modifies the top-level command that exposes the requirements DB backend to customize the name of the target C filenames based on an argument to the backend, and use it when calling the internal FRET-to-Copilot translation module. --- ogma-core/src/Command/FRETReqsDB2Copilot.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ogma-core/src/Command/FRETReqsDB2Copilot.hs b/ogma-core/src/Command/FRETReqsDB2Copilot.hs index c0b6470..daa8c97 100644 --- a/ogma-core/src/Command/FRETReqsDB2Copilot.hs +++ b/ogma-core/src/Command/FRETReqsDB2Copilot.hs @@ -93,6 +93,7 @@ fretReqsDB2Copilot fp useCoCoSpec = do -- to Copilot code. data FRETReqsDB2CopilotOptions = FRETReqsDB2CopilotOptions { fretReqsDB2CopilotUseCoCoSpec :: Bool + , fretReqsDB2CopilotFilename :: String } -- | Parse a JSON file containing a FRET requirement database. @@ -127,6 +128,7 @@ fretReqsDB2CopilotOptions :: FRETReqsDB2CopilotOptions fretReqsDB2CopilotOptions options = T.FRETReqsDB2CopilotOptions (fretReqsDB2CopilotUseCoCoSpec options) + (fretReqsDB2CopilotFilename options) -- * Result From 6c323f7e8188255cbde4bae353909e71dafd28d0 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 21:11:23 -0700 Subject: [PATCH 11/45] ogma-core: Adjust reqs DB command test. Refs #80. A new field has been added to the FRET requirements DB backend to take the prefix for the target C files generated by Copilot. That new field is not optional. The tests are currently failing because the value for the field is not being passed in a call to the backend. This commit modifies the tests for the reqs DB backend to include the target file prefix "fret", which was originally the default, in the call to the backend. --- ogma-core/tests/Main.hs | 1 + 1 file changed, 1 insertion(+) diff --git a/ogma-core/tests/Main.hs b/ogma-core/tests/Main.hs index 0c1b66c..da71f6e 100644 --- a/ogma-core/tests/Main.hs +++ b/ogma-core/tests/Main.hs @@ -140,6 +140,7 @@ testFretReqsDBCoCoSpec2Copilot :: FilePath -- ^ Path to a FRET/JSON testFretReqsDBCoCoSpec2Copilot file success = do let opts = FRETReqsDB2CopilotOptions { fretReqsDB2CopilotUseCoCoSpec = True + , fretReqsDB2CopilotFilename = "fret" } result <- fretReqsDB2Copilot file opts From 4434b088c9c48688621134d61df3fdefc2bc2ff9 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 19:01:21 -0700 Subject: [PATCH 12/45] ogma-cli: Modify reqs DB command to allow customizing target filename. Refs #80. Ogma does not allow users to specify the name of the target file that should be used in applications produced from FRET files. Without that extra facility, it becomes necessary to rename and modify the Copilot/Haskell (or C) files produced, which detracts from a smooth UX process. This commit modifies the top-level command-line interface to include a new flag for the fret-reqs-db command, allowing users to customize the name of the target C filenames generated by Copilot. --- ogma-cli/src/CLI/CommandFretReqsDB2Copilot.hs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/ogma-cli/src/CLI/CommandFretReqsDB2Copilot.hs b/ogma-cli/src/CLI/CommandFretReqsDB2Copilot.hs index 6bc5611..26f1b2e 100644 --- a/ogma-cli/src/CLI/CommandFretReqsDB2Copilot.hs +++ b/ogma-cli/src/CLI/CommandFretReqsDB2Copilot.hs @@ -43,7 +43,8 @@ module CLI.CommandFretReqsDB2Copilot where -- External imports -import Options.Applicative ( Parser, help, long, metavar, strOption, switch ) +import Options.Applicative ( Parser, help, long, metavar, showDefault, + strOption, switch, value ) -- External imports: command results import Command.Result ( Result ) @@ -58,6 +59,7 @@ import Command.FRETReqsDB2Copilot ( ErrorCode, FRETReqsDB2CopilotOptions (..), data CommandOpts = CommandOpts { fretReqsDBFileName :: FilePath , fretReqsDBCoCoSpec :: Bool + , fretReqsDBTarget :: String } -- | Transform a FRET requirements database containing a temporal logic @@ -75,6 +77,7 @@ command c = internalCommandOpts :: FRETReqsDB2CopilotOptions internalCommandOpts = FRETReqsDB2CopilotOptions { fretReqsDB2CopilotUseCoCoSpec = fretReqsDBCoCoSpec c + , fretReqsDB2CopilotFilename = fretReqsDBTarget c } -- * CLI @@ -97,6 +100,13 @@ commandOptsParser = CommandOpts ( long "cocospec" <> help strFretCoCoDesc ) + <*> strOption + ( long "target-file-name" + <> metavar "FILENAME" + <> help strFretTargetDesc + <> showDefault + <> value "fret" + ) -- | Argument FRET command description strFretArgDesc :: String @@ -105,3 +115,7 @@ strFretArgDesc = "FRET file with requirements." -- | CoCoSpec flag description strFretCoCoDesc :: String strFretCoCoDesc = "Use CoCoSpec variant of TL properties" + +-- | Target file name flag description. +strFretTargetDesc :: String +strFretTargetDesc = "Filename prefix for monitoring files in target language" From 414eb580d9358fa1ac46e4c3e1dc93b43be49a67 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 19:20:49 -0700 Subject: [PATCH 13/45] ogma-cli: Document existence of target customization flag. Refs #80. Prior commits have added new flags to the FRET-related commands so that users can customize the prefix used in C filenames generated by Copilot. This commit documents the existence of such a flag in the README. --- ogma-cli/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ogma-cli/README.md b/ogma-cli/README.md index b7847b8..b0d87eb 100644 --- a/ogma-cli/README.md +++ b/ogma-cli/README.md @@ -292,6 +292,21 @@ Note that Copilot supports only a limited subset of numeric types, which must be instances of the type class [`Typed`](https://hackage.haskell.org/package/copilot-core/docs/Copilot-Core-Type.html#t:Typed). +**Name customization** + +All FRET-related commands allow for customization of the target C filenames via +an argument `--target-file-name`. For example, the following execution causes +the C files produced by Copilot to be called `monitor.c`, `monitor.h` and +`monitor_types.h`, as opposed to the default names `fret.c`, `fret.h` and +`fret_types.h`, respectively: + +```sh +$ ogma fret-component-spec --cocospec --fret-file-name examples/fret-reqs-small.json --target-file-name monitor > FretCopilot.hs +$ runhaskell FretCopilot.hs +$ ls monitor* +monitor.c monitor.h monitor_types.h +``` + ## cFS Application Generation [NASA Core Flight System](https://cfs.gsfc.nasa.gov/) (cFS) is a flight From 8f6e1741cfe21f2366789d6ab81057fb6c4b33ef Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 19:47:04 -0700 Subject: [PATCH 14/45] ogma-cli: Simplify example using new flag. Refs #80. One of the examples included in the README was using sed to modify the prefix used by Copilot to generate C files. This extra step is no longer necessary, since the customization can now be performed directly via a new flag to FRET-related Ogma commands. This commit modifies the FPrime example to use the new flag --target-file-name to select the name of the C files generated by Copilot, instead of manually performing such a change by calling sed on the Copilot/Haskell file. --- ogma-cli/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ogma-cli/README.md b/ogma-cli/README.md index b0d87eb..00fb2d5 100644 --- a/ogma-cli/README.md +++ b/ogma-cli/README.md @@ -512,8 +512,7 @@ FPrime's Reference Application: ```sh $ ogma fprime --fret-file-name Export.json --variable-db fprime-variable-db --app-target-dir fprime_demo -$ ogma fret-component-spec --fret-file-name Export.json > Spec.hs -$ sed -i -e 's/compile "fret"/compile "copilot"/g' Spec.hs +$ ogma fret-component-spec --fret-file-name Export.json --target-file-name copilot > Spec.hs $ cd fprime_demo/ $ runhaskell ../Spec.hs $ docker build -t fprime . From aacb5d913c57febf60856df9581a2ee899e791fd Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 19:23:57 -0700 Subject: [PATCH 15/45] ogma-core: Document changes in CHANGELOG. Refs #80. --- ogma-core/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-core/CHANGELOG.md b/ogma-core/CHANGELOG.md index 578ecb6..2f2f161 100644 --- a/ogma-core/CHANGELOG.md +++ b/ogma-core/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-core +## [1.X.Y] - 2023-05-20 + +* Allow customizing the names of the C files generated by Copilot (#80). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From 62a7b97b865cbb8a63c34ea86d485558377324b2 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 20 May 2023 19:24:30 -0700 Subject: [PATCH 16/45] ogma-cli: Document changes in CHANGELOG. Refs #80. --- ogma-cli/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ogma-cli/CHANGELOG.md b/ogma-cli/CHANGELOG.md index e8636ad..1fb0d8f 100644 --- a/ogma-cli/CHANGELOG.md +++ b/ogma-cli/CHANGELOG.md @@ -1,8 +1,9 @@ # Revision history for ogma-cli -## [1.X.Y] - 2023-03-23 +## [1.X.Y] - 2023-05-20 * Rename ROS2 to ROS 2 (#83). +* Allow customizing the names of the C files generated by Copilot (#80). ## [1.0.8] - 2023-03-21 From 58f3623ee9ea2efd93acc626601dbdd5cb96d3ad Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 5 Apr 2023 09:35:36 -0700 Subject: [PATCH 17/45] ogma-language-cocospec: Add unary operators ZtoPre, YtoPre. Refs #86. Ogma cannot handle CoCoSpec boolean specifications containing the unary operators ZtoPre or YtoPre. This makes some of the specifications produced by FRET not parseable. This commit modifies the CoCoSpec grammar to include two new unary operators: ZtoPre and YtoPre. --- ogma-language-cocospec/grammar/CoCoSpec.cf | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ogma-language-cocospec/grammar/CoCoSpec.cf b/ogma-language-cocospec/grammar/CoCoSpec.cf index be38390..944ce52 100644 --- a/ogma-language-cocospec/grammar/CoCoSpec.cf +++ b/ogma-language-cocospec/grammar/CoCoSpec.cf @@ -49,12 +49,14 @@ BoolSpecOp2ST. BoolSpec ::= "ST" "(" NumExpr "," NumExpr "," BoolSpec "," BoolS -- Boolean Operators -Op1Once. Op1Pre ::= "O" ; -Op1Pre. Op1Pre ::= "pre" ; -Op1Hist. Op1Pre ::= "H" ; -Op1Y. Op1Pre ::= "Y" ; -Op1Not. Op1Pre ::= "not" ; -Op1Bang. Op1Pre ::= "!" ; +Op1Once. Op1Pre ::= "O" ; +Op1Pre. Op1Pre ::= "pre" ; +Op1YtoPre. Op1Pre ::= "YtoPre" ; +Op1ZtoPre. Op1Pre ::= "ZtoPre" ; +Op1Hist. Op1Pre ::= "H" ; +Op1Y. Op1Pre ::= "Y" ; +Op1Not. Op1Pre ::= "not" ; +Op1Bang. Op1Pre ::= "!" ; Op2And. Op2In ::= "and" ; Op2Amp. Op2In ::= "&" ; From fadad15667c00e037092de8d86258eb251bf0c5c Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Wed, 5 Apr 2023 09:36:28 -0700 Subject: [PATCH 18/45] ogma-core: Translate ZtoPre and YtoPre to Copilot. Refs #86. Ogma cannot handle CoCoSpec boolean specifications containing the unary operators ZtoPre or YtoPre. This makes some of the specifications produced by FRET not parseable. The CoCoSpec grammar has been extended with two new unary operators ZtoPre and YtoPre. This commit updates the translator from CoCoSpec to Copilot so that it assigns a Copilot construct to those new unary operators. The component spec and requirements db translators are updated to include the necessary Copilot definitions so that the code produced compiles without errors. --- ogma-core/src/Language/Trans/CoCoSpec2Copilot.hs | 2 ++ .../src/Language/Trans/FRETComponentSpec2Copilot.hs | 7 +++++++ ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs | 11 +++++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ogma-core/src/Language/Trans/CoCoSpec2Copilot.hs b/ogma-core/src/Language/Trans/CoCoSpec2Copilot.hs index f0894b9..6a73cfa 100644 --- a/ogma-core/src/Language/Trans/CoCoSpec2Copilot.hs +++ b/ogma-core/src/Language/Trans/CoCoSpec2Copilot.hs @@ -130,6 +130,8 @@ const2Copilot BoolConstFTP = "ftp" -- operator. opOnePre2Copilot :: Op1Pre -> String opOnePre2Copilot Op1Pre = "pre" +opOnePre2Copilot Op1YtoPre = "pre" +opOnePre2Copilot Op1ZtoPre = "tpre" opOnePre2Copilot Op1Once = "PTLTL.eventuallyPrev" opOnePre2Copilot Op1Hist = "PTLTL.alwaysBeen" opOnePre2Copilot Op1Y = "PTLTL.previous" diff --git a/ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs b/ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs index 51ae667..d262997 100644 --- a/ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs +++ b/ogma-core/src/Language/Trans/FRETComponentSpec2Copilot.hs @@ -87,6 +87,7 @@ fretComponentSpec2Copilot' prefs fretComponentSpec = , pure clock , pure ftp , pure pre + , pure tpre , pure spec , pure main' ] @@ -223,6 +224,12 @@ fretComponentSpec2Copilot' prefs fretComponentSpec = , "pre = ([False] ++)" ] + -- Auxiliary streams: tpre + tpre = [ "" + , "tpre :: Stream Bool -> Stream Bool" + , "tpre = ([True] ++)" + ] + -- Main specification spec :: [String] spec = [ "" diff --git a/ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs b/ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs index ef8a61e..72e447c 100644 --- a/ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs +++ b/ogma-core/src/Language/Trans/FRETReqsDB2Copilot.hs @@ -94,10 +94,12 @@ fret2CopilotModule' prefs smvSpec cocoSpec = unlines $ concat sections else SMV.boolSpecNames smvSpec sections | fretReqsDB2CopilotUseCoCoSpec prefs - = [ imports, propDef, externs, clock, ftp, undef, spec, main' ] + = [ imports, propDef, externs, clock, ftp, undef, tpre, spec + , main' + ] | otherwise - = [ imports, propDef, externs, clock, ftp, spec, main' ] + = [ imports, propDef, externs, clock, ftp, tpre, spec, main' ] imports :: [String] imports = @@ -145,6 +147,11 @@ fret2CopilotModule' prefs smvSpec cocoSpec = unlines $ concat sections , "pre = undefined" ] + tpre = [ "" + , "tpre :: Stream Bool -> Stream Bool" + , "tpre = ([True] ++)" + ] + spec = [ "" , "-- | Complete specification. Calls the C function void handler(); when" , "-- the property is violated." From fced5afadecd959a16f4ec32d74e4b8b871e16fb Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 05:21:49 -0700 Subject: [PATCH 19/45] ogma-language-cocospec: Document changes in CHANGELOG. Refs #86. --- ogma-language-cocospec/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-language-cocospec/CHANGELOG.md b/ogma-language-cocospec/CHANGELOG.md index 07db695..8e67239 100644 --- a/ogma-language-cocospec/CHANGELOG.md +++ b/ogma-language-cocospec/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-language-cocospec +## [1.X.Y] - 2023-05-21 + +* Add unary operators ZtoPre, YtoPre (#86). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From 6a1054f489edf4373831f8997c06d118db375d35 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 05:22:25 -0700 Subject: [PATCH 20/45] ogma-core: Document changes in CHANGELOG. Refs #86. --- ogma-core/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ogma-core/CHANGELOG.md b/ogma-core/CHANGELOG.md index 2f2f161..c2bafd4 100644 --- a/ogma-core/CHANGELOG.md +++ b/ogma-core/CHANGELOG.md @@ -1,8 +1,9 @@ # Revision history for ogma-core -## [1.X.Y] - 2023-05-20 +## [1.X.Y] - 2023-05-21 * Allow customizing the names of the C files generated by Copilot (#80). +* Translate ZtoPre and YtoPre to Copilot (#86). ## [1.0.8] - 2023-03-21 From 486c3e7666b68e8acde64e8dbc1dee95daf2160d Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 06:27:37 -0700 Subject: [PATCH 21/45] ogma-cli: Re-order README's TOC to match order of contents. Refs #88. The table of contents in the README lists C structs ahead of the ROS and FPrime backends, but the order of sections in the file puts those backends first. This commit updates the TOC to reflect the current order. --- ogma-cli/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ogma-cli/README.md b/ogma-cli/README.md index 00fb2d5..e006647 100644 --- a/ogma-cli/README.md +++ b/ogma-cli/README.md @@ -46,9 +46,9 @@ verification framework that generates hard real-time C99 code. - [Usage](#usage) - [Language Transformations: FRET](#language-transformations-fret) - [cFS Application Generation](#cfs-application-generation) - - [Struct Interface Generation](#struct-interface-generation) - [ROS Application Generation](#ros-application-generation) - [F' Component Generation](#f-component-generation) + - [Struct Interface Generation](#struct-interface-generation) - [Contributions](#contributions) - [Acknowledgements](#acknowledgements) - [License](#license) From 48d4fe566854d7a8ca4847a6fa49564a739591ca Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 06:29:06 -0700 Subject: [PATCH 22/45] ogma-cli: Document changes in CHANGELOG. Refs #88. --- ogma-cli/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ogma-cli/CHANGELOG.md b/ogma-cli/CHANGELOG.md index 1fb0d8f..5b54049 100644 --- a/ogma-cli/CHANGELOG.md +++ b/ogma-cli/CHANGELOG.md @@ -1,9 +1,10 @@ # Revision history for ogma-cli -## [1.X.Y] - 2023-05-20 +## [1.X.Y] - 2023-05-21 * Rename ROS2 to ROS 2 (#83). * Allow customizing the names of the C files generated by Copilot (#80). +* Re-order README's TOC to match order of contents (#88). ## [1.0.8] - 2023-03-21 From c46000874c9e428dade5e6b78bc039700cddfee9 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 08:50:37 -0700 Subject: [PATCH 23/45] ogma-cli: Fix rendering of quotes in URLs in package description. Refs #72. The description in the cabal file contains two entries with double quotes in the tiles of links. Those double quotes are not displayed correctly on hackage: instead of appearing as ", they are shown as ". This commit moves the quotes outside the link text so that hackage will render them without escaping them. --- ogma-cli/ogma-cli.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ogma-cli/ogma-cli.cabal b/ogma-cli/ogma-cli.cabal index 9867cee..e2655b4 100644 --- a/ogma-cli/ogma-cli.cabal +++ b/ogma-cli/ogma-cli.cabal @@ -105,9 +105,9 @@ description: Ogma is a tool to facilitate the integration of safe runtim . - . . - - , Perez, Dedden and Goodloe. 2020. + - "", Perez, Dedden and Goodloe. 2020. . - - , Dutle et al. 2020. + - "", Dutle et al. 2020. -- Ogma packages should be uncurated so that only the official maintainers make -- changes. From 194710ef46b5fbe176e23ea9397409f007e0b987 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 08:52:51 -0700 Subject: [PATCH 24/45] ogma-cli: Document changes in CHANGELOG. Refs #72. --- ogma-cli/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ogma-cli/CHANGELOG.md b/ogma-cli/CHANGELOG.md index 5b54049..3fda8e0 100644 --- a/ogma-cli/CHANGELOG.md +++ b/ogma-cli/CHANGELOG.md @@ -5,6 +5,7 @@ * Rename ROS2 to ROS 2 (#83). * Allow customizing the names of the C files generated by Copilot (#80). * Re-order README's TOC to match order of contents (#88). +* Fix rendering of quotes in URLs in package description (#72). ## [1.0.8] - 2023-03-21 From 2e38bbffc7f2363c3285d88847396a13d628072b Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 09:33:16 -0700 Subject: [PATCH 25/45] ogma-cli: List FPrime monitoring component generation in package description. Refs #91. The cabal package description does not list the FPrime backend among the use cases supported. This commit lists generating F' monitoring components as one of the supported use cases. --- ogma-cli/ogma-cli.cabal | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-cli/ogma-cli.cabal b/ogma-cli/ogma-cli.cabal index e2655b4..97b077d 100644 --- a/ogma-cli/ogma-cli.cabal +++ b/ogma-cli/ogma-cli.cabal @@ -71,6 +71,10 @@ description: Ogma is a tool to facilitate the integration of safe runtim applications that use Copilot for monitoring data received from different topics. . + - Generating + + components that use Copilot for monitoring. + . The main invocation with @--help@ lists sub-commands available. . >$ ogma --help From 23982c50cdc8a49aaa9f35a06a070a75c2507c45 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 09:34:50 -0700 Subject: [PATCH 26/45] ogma-cli: Add link to FPrime in package description. Refs #91. The cabal package description does not provide a link to the FPrime repo under "further information", but it does provide one for other backends. This commit lists the F' repository as a reference link in the package description in the cabal file. --- ogma-cli/ogma-cli.cabal | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ogma-cli/ogma-cli.cabal b/ogma-cli/ogma-cli.cabal index 97b077d..a974356 100644 --- a/ogma-cli/ogma-cli.cabal +++ b/ogma-cli/ogma-cli.cabal @@ -109,6 +109,8 @@ description: Ogma is a tool to facilitate the integration of safe runtim . - . . + - . + . - "", Perez, Dedden and Goodloe. 2020. . - "", Dutle et al. 2020. From c74eda58e40b4a0b4c53f1504d60cadd3cf64110 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 09:37:36 -0700 Subject: [PATCH 27/45] ogma-cli: Document changes in CHANGELOG. Refs #91. --- ogma-cli/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ogma-cli/CHANGELOG.md b/ogma-cli/CHANGELOG.md index 3fda8e0..1eb9432 100644 --- a/ogma-cli/CHANGELOG.md +++ b/ogma-cli/CHANGELOG.md @@ -6,6 +6,7 @@ * Allow customizing the names of the C files generated by Copilot (#80). * Re-order README's TOC to match order of contents (#88). * Fix rendering of quotes in URLs in package description (#72). +* List FPrime backend as supported use case in package description (#91). ## [1.0.8] - 2023-03-21 From daacd538fc527359e15cea2e35361eb6fb0f15e1 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 28/45] ogma-extra: Version bump (1.0.9). Refs #93. --- ogma-extra/ogma-extra.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ogma-extra/ogma-extra.cabal b/ogma-extra/ogma-extra.cabal index 30ad92b..f870e34 100644 --- a/ogma-extra/ogma-extra.cabal +++ b/ogma-extra/ogma-extra.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Simple name: ogma-extra -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf From 41fc8d015c4103dc63522d16c2e01f33a688c24c Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 29/45] ogma-language-c: Version bump (1.0.9). Refs #93. --- ogma-language-c/ogma-language-c.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ogma-language-c/ogma-language-c.cabal b/ogma-language-c/ogma-language-c.cabal index 8b3f109..70dd403 100644 --- a/ogma-language-c/ogma-language-c.cabal +++ b/ogma-language-c/ogma-language-c.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Custom name: ogma-language-c -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf From 63dae0dacc49eecddab2db8b96e6edf47c331056 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 30/45] ogma-language-cocospec: Version bump (1.0.9). Refs #93. --- ogma-language-cocospec/ogma-language-cocospec.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ogma-language-cocospec/ogma-language-cocospec.cabal b/ogma-language-cocospec/ogma-language-cocospec.cabal index c0a6014..b349e86 100644 --- a/ogma-language-cocospec/ogma-language-cocospec.cabal +++ b/ogma-language-cocospec/ogma-language-cocospec.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Custom name: ogma-language-cocospec -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf From 96a4ad3b1b9c2b26773a28abc987bb4c81e84e7d Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 31/45] ogma-language-copilot: Version bump (1.0.9). Refs #93. --- ogma-language-copilot/ogma-language-copilot.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ogma-language-copilot/ogma-language-copilot.cabal b/ogma-language-copilot/ogma-language-copilot.cabal index 5aec508..b4395c2 100644 --- a/ogma-language-copilot/ogma-language-copilot.cabal +++ b/ogma-language-copilot/ogma-language-copilot.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Simple name: ogma-language-copilot -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf From e0559c6af31566371a1d76ff003ec0ac713c842a Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 32/45] ogma-language-smv: Version bump (1.0.9). Refs #93. --- ogma-language-smv/ogma-language-smv.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ogma-language-smv/ogma-language-smv.cabal b/ogma-language-smv/ogma-language-smv.cabal index e5bd6d7..99dce3d 100644 --- a/ogma-language-smv/ogma-language-smv.cabal +++ b/ogma-language-smv/ogma-language-smv.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Custom name: ogma-language-smv -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf From ebb5d5152cd3023463e6a4f6fc0d6c527451ddf4 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 33/45] ogma-language-fret-cs: Version bump (1.0.9). Refs #93. --- ogma-language-fret-cs/ogma-language-fret-cs.cabal | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ogma-language-fret-cs/ogma-language-fret-cs.cabal b/ogma-language-fret-cs/ogma-language-fret-cs.cabal index d16d653..3a19652 100644 --- a/ogma-language-fret-cs/ogma-language-fret-cs.cabal +++ b/ogma-language-fret-cs/ogma-language-fret-cs.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Simple name: ogma-language-fret-cs -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf @@ -68,8 +68,8 @@ library base >= 4.11.0.0 && < 5 , aeson >= 2.0.0.0 && < 2.2 - , ogma-language-cocospec >= 1.0.8 && < 1.1 - , ogma-language-smv >= 1.0.8 && < 1.1 + , ogma-language-cocospec >= 1.0.9 && < 1.1 + , ogma-language-smv >= 1.0.9 && < 1.1 hs-source-dirs: src @@ -95,7 +95,7 @@ test-suite unit-tests , test-framework , test-framework-quickcheck2 - , ogma-extra >= 1.0.8 && < 1.1 + , ogma-extra >= 1.0.9 && < 1.1 , ogma-language-fret-cs hs-source-dirs: From b910a24cc07a8c9fd5f6ff0036e6ce01e9d8fe5c Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 34/45] ogma-language-fret-reqs: Version bump (1.0.9). Refs #93. --- ogma-language-fret-reqs/ogma-language-fret-reqs.cabal | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ogma-language-fret-reqs/ogma-language-fret-reqs.cabal b/ogma-language-fret-reqs/ogma-language-fret-reqs.cabal index 7ebd9f2..89f4423 100644 --- a/ogma-language-fret-reqs/ogma-language-fret-reqs.cabal +++ b/ogma-language-fret-reqs/ogma-language-fret-reqs.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Simple name: ogma-language-fret-reqs -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf @@ -69,8 +69,8 @@ library , aeson >= 2.0.0.0 && < 2.2 , text - , ogma-language-cocospec >= 1.0.8 && < 1.1 - , ogma-language-smv >= 1.0.8 && < 1.1 + , ogma-language-cocospec >= 1.0.9 && < 1.1 + , ogma-language-smv >= 1.0.9 && < 1.1 hs-source-dirs: src @@ -96,7 +96,7 @@ test-suite unit-tests , test-framework , test-framework-quickcheck2 - , ogma-extra >= 1.0.8 && < 1.1 + , ogma-extra >= 1.0.9 && < 1.1 , ogma-language-fret-reqs hs-source-dirs: From 644133f7a7d808eeb33746120e1f448ba82e296a Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 35/45] ogma-core: Version bump (1.0.9). Refs #93. --- ogma-core/ogma-core.cabal | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ogma-core/ogma-core.cabal b/ogma-core/ogma-core.cabal index 0762f6d..79168f5 100644 --- a/ogma-core/ogma-core.cabal +++ b/ogma-core/ogma-core.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Simple name: ogma-core -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf @@ -109,13 +109,13 @@ library , IfElse , mtl - , ogma-extra >= 1.0.8 && < 1.1 - , ogma-language-c >= 1.0.8 && < 1.1 - , ogma-language-cocospec >= 1.0.8 && < 1.1 - , ogma-language-copilot >= 1.0.8 && < 1.1 - , ogma-language-fret-cs >= 1.0.8 && < 1.1 - , ogma-language-fret-reqs >= 1.0.8 && < 1.1 - , ogma-language-smv >= 1.0.8 && < 1.1 + , ogma-extra >= 1.0.9 && < 1.1 + , ogma-language-c >= 1.0.9 && < 1.1 + , ogma-language-cocospec >= 1.0.9 && < 1.1 + , ogma-language-copilot >= 1.0.9 && < 1.1 + , ogma-language-fret-cs >= 1.0.9 && < 1.1 + , ogma-language-fret-reqs >= 1.0.9 && < 1.1 + , ogma-language-smv >= 1.0.9 && < 1.1 hs-source-dirs: src From 209812f837b054bc4c6d278fbd151b0a36479f20 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:22:53 -0700 Subject: [PATCH 36/45] ogma-cli: Version bump (1.0.9). Refs #93. --- ogma-cli/ogma-cli.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ogma-cli/ogma-cli.cabal b/ogma-cli/ogma-cli.cabal index a974356..b4c8fde 100644 --- a/ogma-cli/ogma-cli.cabal +++ b/ogma-cli/ogma-cli.cabal @@ -32,7 +32,7 @@ cabal-version: 2.0 build-type: Simple name: ogma-cli -version: 1.0.8 +version: 1.0.9 homepage: http://nasa.gov license: OtherLicense license-file: LICENSE.pdf @@ -141,7 +141,7 @@ executable ogma build-depends: base >= 4.11.0.0 && < 5 , optparse-applicative - , ogma-core >= 1.0.8 && < 1.1 + , ogma-core >= 1.0.9 && < 1.1 hs-source-dirs: src From d320812d3b15923aab373d65625069fa41765c9b Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 37/45] ogma-extra: Document changes in CHANGELOG. Refs #93. --- ogma-extra/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-extra/CHANGELOG.md b/ogma-extra/CHANGELOG.md index 136412d..ce42b28 100644 --- a/ogma-extra/CHANGELOG.md +++ b/ogma-extra/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-extra +## [1.0.9] - 2023-05-21 + +* Version bump 1.0.9 (#93). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From c99374d30c9ca9c05499b96ec8dddcd04f547ae2 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 38/45] ogma-language-c: Document changes in CHANGELOG. Refs #93. --- ogma-language-c/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-language-c/CHANGELOG.md b/ogma-language-c/CHANGELOG.md index f48f404..b4f8cc9 100644 --- a/ogma-language-c/CHANGELOG.md +++ b/ogma-language-c/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-language-c +## [1.0.9] - 2023-05-21 + +* Version bump 1.0.9 (#93). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From 3be881d64f95d3cce719d05393961ae3ecad6f4b Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 39/45] ogma-language-cocospec: Document changes in CHANGELOG. Refs #93. --- ogma-language-cocospec/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ogma-language-cocospec/CHANGELOG.md b/ogma-language-cocospec/CHANGELOG.md index 8e67239..ec239a2 100644 --- a/ogma-language-cocospec/CHANGELOG.md +++ b/ogma-language-cocospec/CHANGELOG.md @@ -1,7 +1,8 @@ # Revision history for ogma-language-cocospec -## [1.X.Y] - 2023-05-21 +## [1.0.9] - 2023-05-21 +* Version bump 1.0.9 (#93). * Add unary operators ZtoPre, YtoPre (#86). ## [1.0.8] - 2023-03-21 From a0a3026a43b5854c14a5c186bc4a39fb15bc5f6c Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 40/45] ogma-language-copilot: Document changes in CHANGELOG. Refs #93. --- ogma-language-copilot/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-language-copilot/CHANGELOG.md b/ogma-language-copilot/CHANGELOG.md index 64e8f7a..1e80d8a 100644 --- a/ogma-language-copilot/CHANGELOG.md +++ b/ogma-language-copilot/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-language-copilot +## [1.0.9] - 2023-05-21 + +* Version bump 1.0.9 (#93). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From 529744b3c0882385735bfbe58d6888ffeae59861 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 41/45] ogma-language-smv: Document changes in CHANGELOG. Refs #93. --- ogma-language-smv/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-language-smv/CHANGELOG.md b/ogma-language-smv/CHANGELOG.md index bdf9502..153a55b 100644 --- a/ogma-language-smv/CHANGELOG.md +++ b/ogma-language-smv/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-language-smv +## [1.0.9] - 2023-05-21 + +* Version bump 1.0.9 (#93). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From 8591791ac47be4919dc4124df369accfdab66c18 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 42/45] ogma-language-fret-cs: Document changes in CHANGELOG. Refs #93. --- ogma-language-fret-cs/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-language-fret-cs/CHANGELOG.md b/ogma-language-fret-cs/CHANGELOG.md index 727bff8..aecc451 100644 --- a/ogma-language-fret-cs/CHANGELOG.md +++ b/ogma-language-fret-cs/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-language-fret-cs +## [1.0.9] - 2023-05-21 + +* Version bump 1.0.9 (#93). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From 18c86884caa57b4d95c7f6dd3c1940012959efde Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 43/45] ogma-language-fret-reqs: Document changes in CHANGELOG. Refs #93. --- ogma-language-fret-reqs/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ogma-language-fret-reqs/CHANGELOG.md b/ogma-language-fret-reqs/CHANGELOG.md index 747036e..5f2b1a6 100644 --- a/ogma-language-fret-reqs/CHANGELOG.md +++ b/ogma-language-fret-reqs/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for ogma-language-fret-reqs +## [1.0.9] - 2023-05-21 + +* Version bump 1.0.9 (#93). + ## [1.0.8] - 2023-03-21 * Version bump 1.0.8 (#81). From 20d8cb78e7ccac384a9cf7097d996620ed1a5dd2 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 44/45] ogma-core: Document changes in CHANGELOG. Refs #93. --- ogma-core/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ogma-core/CHANGELOG.md b/ogma-core/CHANGELOG.md index c2bafd4..69bd41f 100644 --- a/ogma-core/CHANGELOG.md +++ b/ogma-core/CHANGELOG.md @@ -1,7 +1,8 @@ # Revision history for ogma-core -## [1.X.Y] - 2023-05-21 +## [1.0.9] - 2023-05-21 +* Version bump 1.0.9 (#93). * Allow customizing the names of the C files generated by Copilot (#80). * Translate ZtoPre and YtoPre to Copilot (#86). From ffb30d340cae0db2406d150da252bb1a7ebbb968 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sun, 21 May 2023 13:25:49 -0700 Subject: [PATCH 45/45] ogma-cli: Document changes in CHANGELOG. Refs #93. --- ogma-cli/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ogma-cli/CHANGELOG.md b/ogma-cli/CHANGELOG.md index 1eb9432..0201548 100644 --- a/ogma-cli/CHANGELOG.md +++ b/ogma-cli/CHANGELOG.md @@ -1,7 +1,8 @@ # Revision history for ogma-cli -## [1.X.Y] - 2023-05-21 +## [1.0.9] - 2023-05-21 +* Version bump 1.0.9 (#93). * Rename ROS2 to ROS 2 (#83). * Allow customizing the names of the C files generated by Copilot (#80). * Re-order README's TOC to match order of contents (#88).