next up previous contents
Next: Can all Processors be Up: Asynchronous Operation Previous: Processor Outputs Exist   Contents

Maintaining Data Structure Integrity

We have considered in some detail what happens to a processor's outputs when recalled, but there are two other questions to be considered when dealing with reprocessing:-

An example of the former might be a fitter that marks those hits that it did not use. To deal with this we could place two rules on processors:-

If further processors have been called that have used the outputs of a processor then clearly all their outputs are invalid after reprocessing. The only safe way recover is to insist that they erase all their outputs as well. Then the question is how to know what processing has been performed. A solution to this is to provide a Data Structure Manager (DSM) that monitors all processing and maintains data structure consistency. It works as follows:-

  1. Each time a processor completes (excluding the insert mode when the outputs exist) it calls the manager which places a DSML bank in the data structure recording the processor id and perhaps a few other details (e.g. SNOMAN version). This is useful as a way of keeping a summary of what processing had been performed.

  2. Before starting to reprocess the processor again calls the manager but this time asks to roll-back processing. The manager searches the DSML chain (which is time ordered) and then, in reverse order, calls the delete function of all downstream processors and removes their DSMLs. The calling processor can specify reprocess or append mode which will determine if the manager is to delete the caller's outputs as well. This places the restriction that the erase request must be a separate routine so that it can be called indirectly from the processor.

    A Standard Processor that complies with all these rules is called an Asynchronous Processor.


next up previous contents
Next: Can all Processors be Up: Asynchronous Operation Previous: Processor Outputs Exist   Contents
sno Guest Acct 2009-09-09