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
-
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