Mode Tree #15

Open
opened 2022-09-05 11:59:02 +02:00 by muellerr · 1 comment
Owner

The FSFW provides the capability to build a mode tree consisting of subsystem, assemblies, device handler and controller nodes.

The mode tree is an abstraction which allows treating and working with the whole system like a high-level object. This is a core component for any framework modelling complex systems like satellites/rovers.

My suggestion would be to implement this in Rust as a composite tree

Just like the FSFW, dedicated mode messages could be used to perform the mode commanding. Every object (or even function) would then get a RX channel object to receive these mode messages and then send a reply accordingly after mode handling is done.

The FSFW provides the capability to build a mode tree consisting of subsystem, assemblies, device handler and controller nodes. The mode tree is an abstraction which allows treating and working with the whole system like a high-level object. This is a core component for any framework modelling complex systems like satellites/rovers. My suggestion would be to implement this in Rust as a [composite tree](https://refactoring.guru/design-patterns/composite) Just like the FSFW, dedicated mode messages could be used to perform the mode commanding. Every object (or even function) would then get a RX channel object to receive these mode messages and then send a reply accordingly after mode handling is done.
muellerr added the
concepts
label 2022-09-05 12:01:44 +02:00
muellerr added this to the satrs v0.1.0 milestone 2023-09-01 23:39:05 +02:00
Author
Owner

Actually forget the composite tree.. This might just be a network of Sender/Receiver components, or some related abstraction.. I'd like to keep the information of mode processing capability local to the object in some shape or form..

UPDATE: It appears the biggest challenge is to write beautiful abstractions for the full duplex nature of mode messaging (e.g. Rust mpsc channels only go into one direction) so that the API becomes a bit more intuitive.

Actually forget the composite tree.. This might just be a network of Sender/Receiver components, or some related abstraction.. I'd like to keep the information of mode processing capability local to the object in some shape or form.. UPDATE: It appears the biggest challenge is to write beautiful abstractions for the full duplex nature of mode messaging (e.g. Rust mpsc channels only go into one direction) so that the API becomes a bit more intuitive.
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#15
No description provided.