Each subarray has an associated block which describes the sequence of setups and sources as a function of time.
For use by a "control panel" type front end, the real-time system should
be arranged to accept all blocks at the front of the file, and then prepare
itself to receive the $OBSERVE
block a record at a time, and to skip
to the new record when it arrives.
I group things by the devices to which they apply for reading convenience - the groupings have no functional significance.