Requirements
In order to provide whole-sky coverage of a given set of stellar coordinates, the user needs to, somewhat obviously, input the area of the sky he or she wishes to observe. The utility will be provided for the user to input a file of stellar coordinates, and this will be the starting point of a given user session of our product.
From there, our product will go to work, interpreting the grid coordinates -- and the celestial objects therein -- to formulate a grid of the desired portion of the night sky. Ideally, this grid will be manipulateable and configurable by the client, becoming a (if not the) user interface itself, but the client has expressed that this type of functionality is purely optional.
The user will then indicate to our product when he or she is ready for the next observation. The scheduler will query the Telescope Control System for its current location (i.e. where it is pointing), and our solution algorithm will execute.
The scheduler will then present the user with what it decides is the next, best target (or, possibly, a number of targets from which the user can select to view). The user will proceed to observe the target and indicate whether a successful observation was made. This will trigger the next execution of the scheduling algorithm, where another object (or set of objects) is presented to the user.
Optionally, our scheduling/selecting algorithm may run in the background during the user’s observation period; ideally a new target may be presented at a moment’s notice. Our system will also be keeping track of observations made, both because it is necessary for the reporting functionality to end a user’s session as well as the accurate execution of the algorithm itself.
Clearly this is the greatest idea since sliced bread.
For a full exploration of the Scheduler Requirements, see our Requirements Document (.docx).