Hard-real-time resource management for autonomous spacecraft

This paper describes tickets, a computational mechanism for hard-real-time autonomous resource management. Autonomous spacecraft control can be considered abstractly as a computational process whose outputs are spacecraft commands. In order to make the engineering of such systems tractable, these computations an usually organized as multiple parallel threads of control. It is sometimes necessary, particularly in emergency situations, for one thread of control not only to issue certain commands, but to actively prevent the issuing of other commands by other threads of control. Tickets are software objects that act as intermediaries between control processes and low-level commands. In order to gain access to a low-level command a control process must be in possession of a valid ticket for that command. Tickets can be invalidated in constant time. This allows hard-real-time guarantees of performance for denying access to a particular low-level command or set of commands.