- Joined
- Feb 6, 2008
- Messages
- 37,655
- Reaction score
- 2,376
- Points
- 203
- Location
- Wolfsburg
- Preferred Pronouns
- Sire
After getting a bit up-to-date with the current state of the DPS implementation, I have an idea how to move the SimpleGPC concept we currently have closer to the user interface and use cases of the Space Shuttle:
Ideally, you should not need to know the whole SSU software to implement a new DPS process, but only need to know:
Soo... that what had been on my mind over the weekend from playing with SSU, quickly written down during the lunch break - what do you think? Good? Bad? Too complex?
- GPCs are degraded to be pure execution and I/O resources
- The central class of the DPS is the partition
- The partition is a memory configuration shared by a redundant set of one or more GPCs.
- All software in the partition is executed once per timestep, no synchronization, like we do now in SimpleGPC.
- I/O is delegated to the MDM/Shuttle bus system
- A partition can be reconfigured, GPCs can enter or leave a partition.
- For example a Freeze-Dried GNC GPC with the right memory configuration.
- We assume that all GPCs in a partition have the same memory contents.
- A partition without running GPCs is not executed.
- Every memory configuration has a major function handler that initializes process tables, etc.
- Every OPS has its own process handling MM transitions and ITEMs
- The OPS handler activates or deactivates processes.
- Every SPEC has its own process handling ITEMs
- All processes/software of a partition is derived from special superclasses defining their general behavior
- OPS/SPEC processes are plain event handlers reacting to keyboard inputs and initialization signals
- SOPs and RMs are executed again 12.5 or 6.25 times per second and have automatically handled I/O - this class could also be used for autopilot background processes.
- Sequencers are special event handlers reacting to software events (equivalent to the HAL/S) event (Like the "ON.... GOTO..." in BASIC)
Ideally, you should not need to know the whole SSU software to implement a new DPS process, but only need to know:
- Which Major Function?
- Which Major Modes?
- Which class of process?
- Which I/O operations are needed?
- Where can the I/O be accessed in GPC memory?
- What should the process do?
Soo... that what had been on my mind over the weekend from playing with SSU, quickly written down during the lunch break - what do you think? Good? Bad? Too complex?
Last edited: