The Algorithm Assembly Set of Plato

Driven by the requirements of earth observing satellite missions, the mission planning team of the German Space Operations Center (GSOC) has improved its scheduling engine to allow automated timeline generation for multiple interacting satellites. Whereas the past work included extensions of the modeling language and improvements on the performance, current work focusses on the algorithm framework. In order to allow future missions’ scheduling software to reuse generic algorithms, special attention is given to the way one can add new sub-algorithms and combine them with existing ones. This ePoster demonstrates the algorithm framework of GSOC’s mission planning software Plato, using its interactive GUI Pinta. Based upon a typical multiple satellite planning problem, a priority based generic algorithm is presented, which solves this problem. We show how this algorithm can be split up into small subalgorithms, each of which can be used separately and all of which can be combined in arbitrary ways. We demonstrate how this flexibility can be used to create modifications on the overall algorithm or include mission specific sub-algorithms. Although all presented algorithms are based on simple heuristics, this mechanism supplies a straight forward way to incorporate more sophisticated optimization algorithms. The techniques demonstrated in this paper will be shown by means of the OnCall planning project. This project is used by GSOC in order to schedule the on-call shift times of its staff in order to implement 24/7 support for all important satellite sub-systems.