Creation of a cFS development support system #306
ThibFrgsGmz
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi folks,
Do you think it would be interesting to develop a system to help developers develop on cFS, fully integrated with the cFS project?
First step - python application in command line
In a first step we could imagine developing a python application that would be accessible from the command line and would serve as a modeling tool to specify the cFS applications, their interfaces and automatically generate the tempate code.
The idea would be to take the same type of utility developed on F Prime (https://github.com/nasa/fprime/blob/devel/docs/UsersGuide/user/fprime-util.md) and adapt it to the specific needs of cFS.
One could imagine having to create/initialize a virtual python environment:
In this virtual environment we would have several commands/subcommands supporting cFS.
For now we could have only the
cfs-utilcommand.This command would be a program designed to help developers run the standard cFS development process by automating many of the steps needed in the build chain.
It would have several subcommands:
impl: automatically generate a skeleton for cFS applications as well as a unit test skeleton. A cFS application might be described abstractly in the same way as an F Prime component (https://github.com/nasa/fprime/blob/devel/docs/UsersGuide/dev/xml-specification.mdbuild: build the current directorySecond step - web-based modeling environment to get closer to a Model-based System Engineering (MBSE) approach
If we want to go further in a second step, we could also imagine to have a system allowing to define more easily the topology of the system which is subject to many human errors.
We could imagine having a web browser based interface to configure the system topology.
This GUI could load a default topology description file that we could modify graphically.
Visually, we would have the famous lollipop diagram to customize where we could create applications and configure their memory footprint/config and interfaces; something closer than what is done in Icarous for cFS applications (https://github.com/nasa/icarous/blob/master/apps/apInterface/app.cfg).
Beta Was this translation helpful? Give feedback.
All reactions