You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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:
others can be added during the life cycle of the product.
Second 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).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
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-util
command.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