Monitors goals (other than requirements). Use for SIM_ROOT. Is aware of any predicted evidence for the goal target: if at construction time such an evidence is known, the goal is not injected. Reporting a success or failure to the controller invalidates the goal; reporting a predicted success also does. Reporting a predicted failure injects the goal if it has not been already, invalidates it otherwise (a new goal will be injected). The monitor still runs after reporting a predicted success. The monitor does not run anymore if the goal is invalidated (case of a predicted success, followed by a predicted failure). Wait for the time horizon; in the meantime: actual inputs: If an input is an evidence for the target, report a success. If an input is a counter-evidence of the target, report a failure. If an input is a predicted evidence for the target, report a predicted success. If an input is a predicted counter-evidence for the target, report a predicted failure. If there is a predicted evidence for the target that becomes invalidated, report a predicted failure. Simulated predictions: catch only those that are a simulation for the monitored goal. If an input is an evidence of the goal target, simulate a prediction of the goal success. If an input is an evidence of the goal target, simulate a prediction of the goal failure. Store any simulated prediction of success/failure for any goal. At the time horizon: Simulation mode: Commit to the appropriate solutions for the goal. Mode become actual. Time horizon becomes the goal deadline. Actual mode: If the goal is not invalidated, report a failure.
Definition at line 185 of file g_monitor.h.