Provide robust, reproducible method to configure (broadly interpreted) the LAT for any supported mode of operation and a means to retrieve the description of any uploaded configuration, current or historical.
MOOT will have a database/record-keeping function and an active piece, to be invoked by Latte5 (used throughout to mean "successor to Latte4", even though it may end up with a new name), which will aid in the generation of configurations in a form suitable for input to FSW services such as LATC, LCI and so forth. [See the Flight Software Traveler Documents page for documentation of these services.]
Expect it will be a rdbms, most likely MySQL, with at least two main tables and perhaps other supporting tables as well. Roughly speaking, one table keeps track of requests to create a configuration (call it Configs for the time being), the other keeps track of requests to load (call it History).
A row in Configs has a field for Operating Mode (in the sense of LIM) and contains or references the list of delegates belonging to that mode and their parameters. May want to support the concepts of default and unchanged for delegates or for individual parameters. The row might also contain information about how far along this configuration is in the process of creation, e.g.
A row in the History table contains at a minimum a reference to a row in the Configs table, and timestamp fields for start and end times for when the configuration was active. There will probably be more fields to keep track of the status of the request to load.
Rows will never be deleted from either table. Some fields within a row will be write-once; others may be updated.
Latte5 or similar system will invoke a MOOT service, passing as arguments the user-specified delegates and their parameters (or shorthand, such as "use default" or "delta from configuration X"). MOOT also needs to know whether it is just to make database entries or whether it is also to generate XML files or even the binaries corresponding to the request.
It's not yet clear whether MOOT will take an active part in this or will merely provide the services needed to update MOOD.
It may be that the user request to enter a particular state requires implicitly that other intermediate states, such as Quiescent, be entered as well. If so, the intermediate states should also be recorded in MOOD.
During a request to load, other writers should be locked out of the History table.
..according to ground rules laid out above.
The heading pretty much says it all.
Define MOOT's role vis-à-vis Latte5. What services does it need to provide? How are they parametrized? If Latte5 continues to be run on Windows while FSW services are available only on Linux, are there pieces of MOOT on both?
It's unlikely that anything in the to-do list can be crossed off as "done" any time soon. Instead, everything, or nearly everything, will have to evolve together; that includes details of design as well as implementation. Problem is further complicated by the moving target aspect of facilities MOOT will interact with. However, it should be possible to design in detail and implement an essential fraction first, while keeping in mind a broader picture which will allow addition of the remainder without major cataclysms.
On a slightly longer timescale, attempt to define the "essential fraction".
next week (28 July 2005)
|
Initial draft: 21 July 2005 Last revised: |
J. Bogart |