Implementing a framework in Rust #3

Open
opened 2022-06-09 13:14:16 +02:00 by muellerr · 0 comments
Owner

The FSFW was implemented as a white box framework, using subclassing.
In Rust, there is no inheritance. This means that a framework need to be written differently than how the FSFW was written, making use of traits and composition.

It might sense to look into existing (embedded) frameworks and check how those were implemented.

I'd also suggest to keep the scope of this framework as dedicated to flight software development as possible. There are already embedded frameworks like Hubris or Tock out there, but those seem to be dedicated to IOT devices. I'd also like to defer all features which make the life of the framework developers a lot harder, even if they make using the framework a little bit easier. The first focus should be to have a simple framework which is able to to the same tasks the basic FSFW examples can do, assuming intermediate programming skills from the OBSW developers.

The second step would be to reduce the complexity and boilerplate for users by using features like the advances macro system.

rust/fsrc-launchpad#2 lists core components for a first version of the framework.

The FSFW was implemented as a white box framework, using subclassing. In Rust, there is no inheritance. This means that a framework need to be written differently than how the FSFW was written, making use of traits and composition. It might sense to look into existing (embedded) frameworks and check how those were implemented. I'd also suggest to keep the scope of this framework as dedicated to flight software development as possible. There are already embedded frameworks like Hubris or Tock out there, but those seem to be dedicated to IOT devices. I'd also like to defer all features which make the life of the framework developers a lot harder, even if they make using the framework a little bit easier. The first focus should be to have a simple framework which is able to to the same tasks the basic FSFW examples can do, assuming intermediate programming skills from the OBSW developers. The second step would be to reduce the complexity and boilerplate for users by using features like the advances macro system. https://egit.irs.uni-stuttgart.de/rust/fsrc-launchpad/issues/2 lists core components for a first version of the framework.
muellerr added the
concepts
label 2022-08-29 10:29:29 +02:00
muellerr added this to the satrs v0.1.0 milestone 2022-08-29 10:30:43 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: rust/sat-rs#3
No description provided.