AERA
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
r_exec::GMonitor Class Reference

#include <g_monitor.h>

Inheritance diagram for r_exec::GMonitor:
r_exec::_GMonitor r_exec::Monitor core::_Object r_exec::RMonitor

Public Member Functions

 GMonitor (PMDLController *controller, BindingMap *bindings, Timestamp deadline, Timestamp sim_thz_timestamp, Fact *goal, Fact *f_imdl, _Fact *predicted_evidence)
 
bool reduce (_Fact *input) override
 
virtual void update (Timestamp &next_target)
 
- Public Member Functions inherited from r_exec::_GMonitor
virtual bool signal (Pred *)
 
- Public Member Functions inherited from r_exec::Monitor
bool is_alive () const
 
- Public Member Functions inherited from core::_Object
void incRef ()
 
virtual void decRef ()
 

Protected Member Functions

void commit ()
 
- Protected Member Functions inherited from r_exec::_GMonitor
void store_simulated_outcome (_Fact *f_pred_f_success, Sim *sim)
 
void invalidate_sim_outcomes ()
 
 _GMonitor (PMDLController *controller, BindingMap *bindings, Timestamp deadline, Timestamp sim_thz_timestamp, Fact *goal, Fact *f_imdl)
 
- Protected Member Functions inherited from r_exec::Monitor
 Monitor (MDLController *controller, BindingMap *bindings, Fact *target, r_code::Code *mk_rdx)
 

Protected Attributes

_Fact *volatile predicted_evidence_
 
bool injected_goal_
 
- Protected Attributes inherited from r_exec::_GMonitor
Timestamp deadline_
 
Timestamp sim_thz_timestamp_
 
_Factgoal_target_
 
P< Factf_imdl_
 
SimMode sim_mode_
 
uint32 volatile simulating_
 
SimOutcomes sim_successes_
 
SimOutcomes sim_failures_
 
- Protected Attributes inherited from r_exec::Monitor
P< BindingMapbindings_
 
P< Facttarget_
 
P< r_code::Codemk_rdx_
 
MDLControllercontroller_
 
- Protected Attributes inherited from core::_Object
std::atomic_int32_t refCount_
 

Additional Inherited Members

- Protected Types inherited from r_exec::_GMonitor
typedef std::list< std::pair< P< _Fact >, P< Sim > > > SolutionList
 
- Static Protected Member Functions inherited from r_exec::_GMonitor
static Goalget_solution_goal (_Fact *f_pred_f_success)
 

Detailed Description

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.


The documentation for this class was generated from the following files: