8#include "../Procedure/Procedures.h"
9#include "../ControlPanel/ControlPanel.h"
10#include <boost/serialization/export.hpp>
11#include "../Global/SimulationContext.h"
12#include <boost/archive/binary_oarchive.hpp>
13#include <boost/archive/binary_iarchive.hpp>
30 bool branch_generated;
31 bool block_ordered_action =
false;
32 bool block_decision_process =
false;
33 bool mental_procedure_in_progress =
false;
35 string OAT_IR_procedure_name, OAT_IR_step_name;
46 if (OAT_IR_step_name !=
"NO_STEP") {
47 mental_procedure_in_progress =
true;
49 if (branch_generated) {
57 block_decision_process =
true;
60 if (!block_decision_process) {
63 if (branch_generated) {
69 if (branch_generated) {
77 block_ordered_action =
true;
83 if (!block_ordered_action) {
85 switch (current_strategy) {
94 if (branch_generated) {
107 bool branch_generated =
false;
108 bool normal_operation =
false;
111 double dead_time = 60.0;
116 if (
r5pars_.timesno > dead_time) {
120 if (kb_hwd_ptr != 0) {
122 normal_operation =
true;
127 if (this->
m_RM && this->
m_RM->m_event_schema_base->WhetherItIsNormalOperating() ==
false) {
128 normal_operation =
false;
137 branch_generated =
true;
148 branch_generated =
true;
151 return branch_generated;
160 branch_generated =
true;
162 if (!normal_operation) {
173 branch_generated =
true;
184 branch_generated =
true;
203 branch_generated =
true;
213 branch_generated =
true;
224 branch_generated =
true;
234 branch_generated =
true;
245 branch_generated =
true;
264 branch_generated =
true;
271 return branch_generated;
278 bool branch_generated =
false;
319 if (strategy_pt != NULL) {
321 branch_generated =
true;
324 return branch_generated;
328 string _procedure_name, _step_name;
333 map<string, ProcedureStep *>::iterator procedure_map_itr;
336 bool branch_generated =
false;
339 if (procedure_pt == 0) {
341 if (_procedure_name !=
"NO_PROCEDURE") {
352 branch_generated =
true;
358 ofstream fout(
"err messages.txt", ios::app);
359 cout <<
r5pars_.timesno <<
"OperatorDM::performFollowProcedure: No entry procedure is found." << endl;
360 fout <<
r5pars_.timesno <<
" OperatorDM::performFollowProcedure: No entry procedure is found.\n";
373 branch_generated =
true;
377 _procedure_name += _step_name;
380 _procedure_step_pt = procedure_map_itr->second;
392 if (procedure_pt != 0) {
395 _procedure_name += _step_name;
398 _procedure_step_pt = procedure_map_itr->second;
410 str =
"Undefined procedure step at ";
425 return branch_generated;
429 int intended_receiver;
433 intended_receiver = goal_elem->getIntendedReceiver();
438 switch (goal_elem->getDecision()) {
453 intended_receiver = strategy_elem->getIntendedReceiver();
465 intended_receiver = subgoal_elem->getIntendedReceiver();
478 intended_receiver = diagnosis_elem->getIntendedReceiver();
491 intended_receiver = action_objective_elem->getIntendedReceiver();
504 intended_receiver = action_pack_elem->getIntendedReceiver();
517 intended_receiver = action_elem->getIntendedReceiver();
518 sender = action_elem->getSender();
537 intended_receiver = procedure_step_elem->getIntendedReceiver();
538 sender = procedure_step_elem->getSender();
561 intended_receiver = procedure_step_elem->getIntendedReceiver();
562 sender = procedure_step_elem->getSender();
585 intended_receiver = info_gather_mode_elem->getIntendedReceiver();
586 sender = info_gather_mode_elem->getSender();
598 int state_of_activation;
599 intended_receiver = mental_belief_elem->getIntendedReceiver();
601 state_of_activation = mental_belief_elem->getStateOfActivation();
621 int state_of_activation;
622 intended_receiver = scanned_parameter_elem->getIntendedReceiver();
624 state_of_activation = scanned_parameter_elem->getStateOfActivation();
645 intended_receiver = alarm_state_elem->getIntendedReceiver();
663 intended_receiver = component_state_elem->getIntendedReceiver();
681 intended_receiver = support_system_state_elem->getIntendedReceiver();
699 intended_receiver = parameter_trend_elem->getIntendedReceiver();
717 intended_receiver = parameter_value_elem->getIntendedReceiver();
735 intended_receiver = parameter_difference_elem->getIntendedReceiver();
753 intended_receiver = new_alarm_elem->getIntendedReceiver();
769 elem->setTimeAtWhichThisInfoIsPerceived(
r5pars_.timesno);
770 elem->setTimeOfCommunication(
r5pars_.timesno);
776 elem->setTimeAtWhichThisInfoIsPerceived(
r5pars_.timesno);
777 elem->setTimeOfCommunication(
r5pars_.timesno);
783 elem->setTimeAtWhichThisInfoIsPerceived(
r5pars_.timesno);
784 elem->setTimeOfCommunication(
r5pars_.timesno);
790 elem->setTimeAtWhichThisInfoIsPerceived(
r5pars_.timesno);
791 elem->setTimeOfCommunication(
r5pars_.timesno);
801 bool branch_generated;
802 bool reactor_tripped =
false;
803 int num_branch, goal;
805 string limiting_tcl_parameter;
855 reactor_tripped =
true;
866 if (reactor_tripped) {
879 default: ofstream fout(
"err messages.txt", ios::app);
880 cout <<
r5pars_.timesno <<
" OperatorDM::oneThroughProcessForBlockI: "
882 fout <<
r5pars_.timesno <<
" OperatorDM::oneThroughProcessForBlockI: "
926 int total_chunked_items = 0;
927 string _procedure_name, _step_name, mental_belief_name;
928 map<string, ProcedureStep *>::iterator procedure_map_itr;
933 auto goal_sp = std::make_shared<DecisionGoal>();
934 goal_sp->copyDecisionGoal(*goal_elem);
938 total_chunked_items += 1;
941 auto strategy_sp = std::make_shared<DecisionStrategy>();
942 strategy_sp->copyDecisionStrategy(*strategy_elem);
946 total_chunked_items += 1;
949 auto subgoal_sp = std::make_shared<DecisionSubGoal>();
950 subgoal_sp->copyDecisionSubGoal(*subgoal_elem);
954 total_chunked_items += 1;
957 auto diagnosis_sp = std::make_shared<DecisionDiagnosis>();
958 diagnosis_sp->copyDecisionDiagnosis(*diagnosis_elem);
960 sender = diagnosis_elem->getSender();
965 diagnosis_sp->setStateOfActivation(
sim::None);
969 total_chunked_items += 1;
972 auto action_objective_sp = std::make_shared<DecisionActionObjective>();
973 action_objective_sp->copyDecisionActionObjective(*action_objective_elem);
977 total_chunked_items += 1;
980 auto action_pack_sp = std::make_shared<DecisionActionPack>();
981 action_pack_sp->copyDecisionActionPack(*action_pack_elem);
985 total_chunked_items += 1;
989 if (action_pt == 0) {
990 auto action_sp = std::make_shared<DecisionAction>();
991 action_sp->copyDecisionAction(*action_elem);
1010 total_chunked_items += 1;
1017 name = scanned_parameter_elem->getInfoName();
1018 scan_priority = scanned_parameter_elem->getScanPriority();
1019 switch (scanned_parameter_elem->getTypeOfScannedParameter()) {
1038 total_chunked_items += 1;
1044 _procedure_name = procedure_step_elem->getProcedureName();
1045 _step_name = procedure_step_elem->getStepName();
1047 if (procedure_step_pt == 0) {
1048 auto procedure_step_sp = std::make_shared<DecisionProcedureStep>();
1049 procedure_step_sp->copyDecisionProcedureStep(*procedure_step_elem);
1052 procedure_step_pt = procedure_step_sp.get();
1066 _procedure_name += _step_name;
1069 pps_pt = procedure_map_itr->second;
1073 str =
"Undefined procedure step at ";
1085 total_chunked_items += 1;
1088 _procedure_name = procedure_step_elem->getProcedureName();
1089 _step_name = procedure_step_elem->getStepName();
1093 if (procedure_step_pt == 0) {
1094 auto procedure_step_sp = std::make_shared<DecisionProcedureStep>();
1095 procedure_step_sp->copyDecisionProcedureStep(*procedure_step_elem);
1098 procedure_step_pt = procedure_step_sp.get();
1111 _procedure_name += _step_name;
1114 pps_pt = procedure_map_itr->second;
1120 cout <<
"Warning OperatorDM::infoChunking: mental procedure_step " << _procedure_name
1121 <<
" is not within the Procedures.txt" << endl;
1122 ofstream fout(
"err messages.txt", ios::app);
1123 fout <<
r5pars_.timesno <<
" Warning OperatorDM::infoChunking: mental procedure_step " << _procedure_name
1124 <<
" is not witin the Procedures.txt\n";
1127 total_chunked_items += 1;
1130 mental_belief_name = mental_belief_elem->getInfoName();
1132 if (mental_belief_pt1 == 0) {
1134 auto mental_belief_sp = std::make_shared<ExpectedMentalBelief>();
1135 mental_belief_sp->copyExpectedMentalBelief(*mental_belief_elem);
1142 if (_procedure_name !=
"NONE" && _procedure_name !=
"None") {
1145 mental_belief_elem->getMentalPriority(),
1147 mental_belief_elem->getActivationTime());
1150 mental_belief_elem->getStateOfActivation());
1151 total_chunked_items += 1;
1154 perceived_alarms_pt =
1156 if (perceived_alarms_pt == 0) {
1157 auto alarm_sp = std::make_shared<MentalAlarm>();
1158 alarm_sp->copyMentalAlarm(*alarm_state_elem);
1160 perceived_alarms_pt = alarm_sp.get();
1169 if (
r5pars_.timesno > 119) { total_chunked_items += 0; }
1172 total_chunked_items += 1;
1176 if (perceived_alarms_pt == 0) {
1177 auto alarm_sp = std::make_shared<MentalAlarm>();
1178 alarm_sp->copyAlarmElement(*new_alarm_elem);
1179 alarm_sp->setObservedAlarmState(new_alarm_elem->getDisplayedAlarmState());
1181 perceived_alarms_pt = alarm_sp.get();
1191 if (
r5pars_.timesno > 119) { total_chunked_items += 0; }
1194 total_chunked_items += 1;
1197 perceived_component_state_pt =
1199 if (perceived_component_state_pt == 0) {
1200 auto component_state_sp = std::make_shared<MentalComponentState>();
1201 component_state_sp->copyMentalComponentState(*component_state_elem);
1203 perceived_component_state_pt = component_state_sp.get();
1213 total_chunked_items += 1;
1216 perceived_support_system_state_pt =
1218 if (perceived_support_system_state_pt == 0) {
1219 auto support_system_state_sp = std::make_shared<MentalSupportSystemState>();
1220 support_system_state_sp->copyMentalSupportSystemState(*support_system_state_elem);
1222 perceived_support_system_state_pt = support_system_state_sp.get();
1232 total_chunked_items += 1;
1235 perceived_parameter_value_pt =
1237 if (perceived_parameter_value_pt == 0) {
1238 auto parameter_value_sp = std::make_shared<MentalParameterValue>();
1239 parameter_value_sp->copyMentalParameterValue(*parameter_value_elem);
1241 perceived_parameter_value_pt = parameter_value_sp.get();
1257 total_chunked_items += 1;
1261 perceived_parameter_value_pt =
1263 if (perceived_parameter_value_pt == 0) {
1264 auto param_value_sp = std::make_shared<MentalParameterValue>();
1265 param_value_sp->copyMentalParameterValue(parameter_difference_elem->first_mental_parameter);
1267 perceived_parameter_value_pt = param_value_sp.get();
1271 perceived_parameter_value_pt->
setObservedParameterValue(parameter_difference_elem->first_mental_parameter.getObservedParameterValue());
1278 perceived_parameter_value_pt =
1280 if (perceived_parameter_value_pt == 0) {
1281 auto param_value_sp2 = std::make_shared<MentalParameterValue>();
1282 param_value_sp2->copyMentalParameterValue(parameter_difference_elem->second_mental_parameter);
1284 perceived_parameter_value_pt = param_value_sp2.get();
1288 perceived_parameter_value_pt->
setObservedParameterValue(parameter_difference_elem->second_mental_parameter.getObservedParameterValue());
1294 total_chunked_items += 1;
1296 return total_chunked_items;
1323 string _procedure_name, _step_name, diagnosis;
1328 map<string, ProcedureStep *>::iterator procedure_map_itr;
1332 bool branch_generated =
false;
1334 if (procedure_pt == 0) {
1336 if (diagnosis !=
"NONE") {
1346 branch_generated =
true;
1348 ofstream fout(
"err messages.txt", ios::app);
1349 cout <<
"OperatorDM::performFollowProcedure: No entry procedure is found." << endl;
1350 fout <<
r5pars_.timesno <<
" OperatorDM::performFollowProcedure: No entry procedure is found.\n";
1358 _procedure_name += _step_name;
1361 _procedure_step_pt = procedure_map_itr->second;
1374 return branch_generated;
1378 fout <<
"OperatorDM\n";
1384 if (str !=
"OperatorDM") {
1385 ofstream fout(
"err messages.txt", ios::app);
1386 cout <<
"OperatorDM::retrieveOperatorDMFromFile File retrieval error in previous function" << endl;
1387 fout <<
r5pars_.timesno <<
" OperatorDM::retrieveOperatorDMFromFile File retrieval error in previous function\n";
Operator Decision Maker — IDAC Block D (decision) and Block I (information gathering).
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
void setTimeAtWhichThisAlarmIsActivated(double)
std::string getAlarmName()
void addRecord(std::string, int)
void addScanQueueData(double, int, KBScannedParameters &)
The end state (ES node) that terminates one sequence of the DET.
void setTypeOfConsequence(Consequence)
void setConsequenceDescription(std::string)
void setTempTypeOfConsequence(Consequence)
Stores the consequence of the end state the running sequence will get.
void addAnEndState(BranchEndState *)
Closes the running sequence with an end state and takes ownership of it.
void addProcedureStep(int, BranchProcedureStep *)
void addInstinctiveResponseProcedure(int, BranchProcedureStep *)
void addScannedParameter(int, BranchScannedParameter *)
Crew fork registration for a scanned parameter; same contract as addGoal().
int getIDOfRecentGeneratedBranch()
void addStrategy(int, BranchStrategy *)
void setTempESMessage(std::string)
Stores the description of the end state the running sequence will get if it is terminated (set by mod...
void addGoal(int, BranchGoal *)
std::vector< std::shared_ptr< BranchSubGoal > > subgoal
std::vector< std::shared_ptr< BranchExpectedParameterTrend > > parameter_trend
std::vector< std::shared_ptr< BranchInfoGatherMode > > info_gather_mode
std::vector< std::shared_ptr< BranchProcedureStep > > instinctive_response_procedure
std::vector< std::shared_ptr< BranchGoal > > goal
std::vector< std::shared_ptr< BranchActionPack > > action_pack
std::vector< std::shared_ptr< BranchExpectedSupportSystemState > > support_system_state
std::vector< std::shared_ptr< BranchExpectedParameterDifference > > parameter_difference
std::vector< std::shared_ptr< BranchDiagnosis > > diagnosis
std::vector< std::shared_ptr< BranchExpectedMentalBelief > > mental_belief
std::vector< std::shared_ptr< BranchExpectedParameterValue > > parameter_value
std::vector< std::shared_ptr< BranchScannedParameter > > scanned_parameter
std::vector< std::shared_ptr< BranchExpectedComponentState > > component_state
std::vector< std::shared_ptr< BranchStrategy > > strategy
std::vector< std::shared_ptr< BranchProcedureStep > > procedure_step
std::vector< std::shared_ptr< BranchExpectedAlarmState > > alarm_state
std::vector< std::shared_ptr< BranchAction > > action
std::vector< std::shared_ptr< BranchActionObjective > > action_objective
void displayInformation(std::string strInformation)
std::vector< std::shared_ptr< BranchSystemAlarmState > > new_alarm
void setSenderAndReceiver(int, int)
void setTypeOfPauseActivity(int)
std::string getString(int) const
std::string getActionName()
void copyDecisionAction(DecisionAction &)
std::string getProcedureName()
std::string getLastProcedureName()
void setStepName(std::string)
void setProcedureName(std::string)
std::string getStepName()
void setTypeOfScannedParameter(int)
void setScanPriority(int)
std::string getDisplayName()
void updateBothRationalConfidence(KB &)
double getAbnormalConfidence()
void copyExpectedMentalBelief(ExpectedMentalBelief &)
double getProcedureStepFailureProbability()
double getStrategySelectionFailureProbability()
double getGatherNewInfoFailureProbability()
double getGoalSelectionFailureProbability()
void pointToTheNewActionPack(DecisionActionPack *)
std::vector< std::shared_ptr< MentalSupportSystemState > > perceived_support_system_state
DecisionAction * checkExistanceOfAction(std::string)
std::string getCurrentDiagnosis()
std::vector< std::shared_ptr< MentalParameterValue > > perceived_parameter_value
std::vector< std::shared_ptr< DecisionSubGoal > > subgoal
void pointToTheNewGoal(DecisionGoal *)
std::string getCurrentProceduralStepName()
DecisionProcedureStep * getCurrentProcedureStepPtr(int)
MentalParameterValue * checkExistanceOfPerceivedParameterValue(std::string)
std::string getCurrentInstinctiveResponseProceduralStepName()
MentalAlarm * checkExistanceOfPerceivedAlarms(std::string)
std::vector< std::shared_ptr< DecisionStrategy > > strategy
std::string getCurrentProcedureName()
bool isThereMentalProcedureWaitingForExecution(std::string, std::string)
DecisionProcedureStep * checkExistanceOfAProcedure(std::string, std::string)
MentalComponentState * checkExistanceOfPerceivedComponentState(std::string)
std::vector< std::shared_ptr< DecisionAction > > action
void pointToTheNewActionObjective(DecisionActionObjective *)
void pointToTheNewProcedureStep(DecisionProcedureStep *)
std::vector< std::shared_ptr< DecisionActionPack > > action_pack
void pointToTheNewAction(DecisionAction *)
DecisionProcedureStep * getCurrentInstinctiveResponseProcedurePtr()
std::vector< std::shared_ptr< ExpectedMentalBelief > > mental_belief
void pointToTheNewSubGoal(DecisionSubGoal *)
MentalSupportSystemState * checkExistanceOfPerceivedSupportSystemState(std::string)
DecisionProcedureStep * checkExistanceOfAnInstinctiveResponseProcedure(std::string, std::string)
void pointToTheNewStrategy(DecisionStrategy *)
void pointToTheNewInstinctiveResponseProcedureStep(DecisionProcedureStep *)
int getStateOfAProcedureStep(std::string, std::string)
std::vector< std::shared_ptr< DecisionGoal > > goal
std::vector< std::shared_ptr< DecisionDiagnosis > > diagnosis
std::vector< std::shared_ptr< DecisionProcedureStep > > instinctive_response_procedure
std::vector< std::shared_ptr< MentalAlarm > > perceived_alarms
std::vector< std::shared_ptr< MentalComponentState > > perceived_component_state
std::vector< std::shared_ptr< DecisionProcedureStep > > procedure_step
void addNewInstinctiveResponseProcedure(std::string, std::string, int, int, double)
ExpectedMentalBelief * checkExistanceOfMentalBelief(std::string)
std::vector< std::shared_ptr< DecisionActionObjective > > action_objective
std::string getCurrentInstinctiveResponseProcedureName()
void setInfoName(std::string)
Probability activation_probability
double getConfidenceLevel()
void addScannedAlarm(std::string, int)
std::vector< std::shared_ptr< BranchExpectedParameterValue > > parameter_scan_list
double getLastPanelScanTime()
std::vector< std::shared_ptr< BranchExpectedSupportSystemState > > support_system_scan_list
bool checkIfParameterInQueue(std::string)
void addScannedParameter(std::string, int)
void addScannedSupportSystem(std::string, int)
std::vector< std::shared_ptr< BranchExpectedAlarmState > > alarm_scan_list
void addScannedComponent(std::string, int)
std::vector< std::shared_ptr< BranchExpectedComponentState > > component_scan_list
double getScanPeriodicity()
void setLastPanelScanTime(double)
void KBcheckHardWiredMatchForControl(std::string, double)
void KBcheckHardWiredMatchForProcedureActivity(std::string, int)
KBHardWiredUnit * getPtrToHardWiredDiagnosis(std::string)
void KBcheckHardWiredMatchForAlarmState(std::string, int)
void KBcheckHardWiredMatchForParameterValue(std::string, double, int)
std::string getStepNameOfHWDiagnosis(std::string)
void KBcalculateHardWiredConfidence()
void KBcheckHardWiredMatchForComponentState(std::string, int)
std::string getProcedureNameOfHWDiagnosis(std::string)
void KBcheckHardWiredMatchForSupportSystemState(std::string, int)
void KBcheckHardWiredMatchForMentalBelief(std::string, int)
void setObservedAlarmState(int)
int getObservedAlarmState()
int getObservedComponentState()
void setObservedComponentState(int)
void setTimeAtWhichThisInfoIsPerceived(double)
double getObservedParameterValue()
void setObservedParameterValue(double)
void setObservedSupportSystemState(int)
int getObservedSupportSystemState()
void copyOperatorDMFromRestartInfoMultiProcessor(OperatorDM &)
void retrieveOperatorDMFromFile(std::ifstream &)
bool performFollowProcedureStrategy()
void identifyRelevantInformation()
void saveOperatorDMToFile(std::ofstream &)
void clearOperatorDMFromRestartNodeInfoMultiProcessors()
void copyOperatorDMToRestartInfo(OperatorDM &)
void copyOperatorDMFromRestartInfo(OperatorDM &)
void oneThroughProcessForBlockD()
void clearOperatorDMFinal()
void receiveNewInformation()
void clearOperatorDMForRestart()
bool performRecoveryAction()
void clearOperatorDMFromRestartInfo()
void oneThroughProcessForBlockI()
bool getSkipInstinctiveResponseStep()
void setSkipProcedureStep(bool)
int generateInfoGatherModeBranch()
void retrieveOperatorFromFile(std::ifstream &)
std::unique_ptr< ReasonMachine > m_RM
void interruptLowPriorityMentalProcedures()
bool getBlockTroubleshooting()
bool getSkipProcedureStep()
void setPauseActivity(bool)
void checkAndExecuteManeuverAction()
void setTypeOfOperator(int)
void copyOperatorFromRestartInfo(Operator &)
void quantificationFilter()
double getSkipActionThreshold()
void clearOperatorFromRestartNodeInfoMultiProcessors()
void clearOperatorFinal()
void clearOperatorForRestart()
bool checkAndActivateHWKB()
TimeConstrainedModule time_constrained_load
void copyOperatorFromRestartInfoMultiProcessor(Operator &)
double getTroubleshootingProbability()
double getProcedureUseProbability()
double getSkipNonResponseThreshold()
void setBlockProcedureUse(bool)
bool performAMentalProcedure(int, std::string, std::string)
bool getBlockProcedureUse()
void copyOperatorToRestartInfo(Operator &)
void checkAndResetProcedureStep(BranchProcedureStep *)
bool performReasoningStrategy()
void setAbnormalSignalPerceived(bool)
void setPauseMentalProcedure(bool)
InformationLoadModule information_load
void clearOperatorFromRestartInfo()
HumanFailureEventsBBN hfe_bbn
bool getAbnormalSignalPerceived()
void setNewBranchGenerated(bool)
EventSymptomMatrix diagnosis_matrix
KBScannedParameters scanned_indicators
bool getPauseMentalProcedure()
void setBlockTroubleshooting(bool)
void setSkipInstinctiveResponseStep(bool)
void saveOperatorToFile(std::ofstream &)
bool oneThroughProcessForProcedureStep(Operator &, double, double, bool, ShortTermMemory &)
bool oneThroughProcessForInstinctiveResponseProcedure(Operator &, double, double, bool, ShortTermMemory &)
std::string getEntryProcedureName()
std::map< std::string, ProcedureStep * > procedure_map
std::string getEntryStepName()
void updateAllSPDSValueAndRate(InfoChunk *)
void addNewInfoChunkMentalForTheDiagnosis(DecisionDiagnosis *)
void calculatePriorityAndSetStateOfActivation()
void activatePausedInfoChunck()
void checkAndGenerateInfoChunkMentalForRelatedAlarm(MentalAlarm *, KB &)
void checkAndGenerateInfoChunkMentalForRelatedComponentState(MentalComponentState *, KB &)
CommunicationPlace new_info
void checkAndGenerateInfoChunkMentalForRelatedParameterValue(MentalParameterValue *, KB &)
InfoChunkMental * getWorkingMemory()
void checkAndGenerateInfoChunkMentalForRelatedSupportSystemState(MentalSupportSystemState *, KB &)
void setInfoGatherMode(int)
void failCurrentDiagnosisAndActivateAPausedDiagnosis()
void setStateOfActivation(int)
int getStateOfActivation()
double getTimeConstrainedPIFValue()
void operatorUpdateTimeConstrainedValuesWithGoal(InfoChunk *)
std::string determineLimitingTimeConstrainedParameter()
void setTimerAndProbability(double, double)
constexpr int InfoGatherMode
constexpr int ProcedureXfr
constexpr int SupportSystemState
constexpr int ComponentState
constexpr int ParameterValue
constexpr int ParameterScan
constexpr int MonitorAbnormal
constexpr int MaintainGlobalSafetyMargin
constexpr int TroubleShoot
constexpr int WaitMonitor
constexpr int InstinctiveResponse
constexpr int FollowProcedure
constexpr int FollowInstruction
constexpr int InductiveDeductive
bool rm_cycle_enabled
–enable-rm-cycle: ReasonMachine snapshot/restore/serialize/tbi machinery (see docs/developer/internal...
Procedures All_procedure
Emergency operating procedures.
OperatorAT Action_Taker
Crew action execution model.
CommandControlCenter Command_handler
Command/control dispatch.
CommunicationPlace Communication_place
Inter-module communication.
AnalysisInfoContainer Aux_info
Analysis records.
BranchRecord Branch_center
Dynamic event tree state.
ConvertToString Translator
Parameter name/value conversion.