7#include "../Procedure/Procedures.h"
8#include <boost/serialization/export.hpp>
9#include "../Global/SimulationContext.h"
24 bool branch_generated;
25 bool block_VSIR =
false;
26 bool block_decision_process =
false;
27 bool mental_procedure_in_progress =
false;
28 string ODM_IR_procedure_name, ODM_IR_step_name;
42 mental_procedure_in_progress =
true;
44 if (branch_generated) {
52 block_decision_process =
true;
58 if (branch_generated) {
63 if (branch_generated) {
72 if (branch_generated) {
86 bool branch_generated =
false;
98 branch_generated =
true;
100 return branch_generated;
107 bool branch_generated =
false;
117 branch_generated =
true;
125 branch_generated =
true;
127 return branch_generated;
130 int intended_receiver;
134 intended_receiver = goal_elem->getIntendedReceiver();
135 sender = goal_elem->getSender();
149 intended_receiver = strategy_elem->getIntendedReceiver();
150 sender = strategy_elem->getSender();
163 intended_receiver = subgoal_elem->getIntendedReceiver();
164 sender = subgoal_elem->getSender();
180 intended_receiver = diagnosis_elem->getIntendedReceiver();
181 sender = diagnosis_elem->getSender();
197 intended_receiver = action_objective_elem->getIntendedReceiver();
198 sender = action_objective_elem->getSender();
214 intended_receiver = action_pack_elem->getIntendedReceiver();
215 sender = action_pack_elem->getSender();
231 intended_receiver = action_elem->getIntendedReceiver();
232 sender = action_elem->getSender();
259 intended_receiver = procedure_step_elem->getIntendedReceiver();
260 sender = procedure_step_elem->getSender();
288 intended_receiver = procedure_step_elem->getIntendedReceiver();
289 sender = procedure_step_elem->getSender();
315 intended_receiver = info_gather_mode_elem->getIntendedReceiver();
316 sender = info_gather_mode_elem->getSender();
331 int state_of_activation;
332 intended_receiver = mental_belief_elem->getIntendedReceiver();
333 sender = mental_belief_elem->getSender();
335 state_of_activation = mental_belief_elem->getStateOfActivation();
352 int state_of_activation;
353 intended_receiver = scanned_parameter_elem->getIntendedReceiver();
354 sender = scanned_parameter_elem->getSender();
356 state_of_activation = scanned_parameter_elem->getStateOfActivation();
380 intended_receiver = alarm_state_elem->getIntendedReceiver();
381 sender = alarm_state_elem->getSender();
406 intended_receiver = component_state_elem->getIntendedReceiver();
407 sender = component_state_elem->getSender();
432 intended_receiver = support_system_state_elem->getIntendedReceiver();
433 sender = support_system_state_elem->getSender();
458 intended_receiver = parameter_trend_elem->getIntendedReceiver();
459 sender = parameter_trend_elem->getSender();
484 intended_receiver = parameter_value_elem->getIntendedReceiver();
485 sender = parameter_value_elem->getSender();
511 intended_receiver = parameter_difference_elem->getIntendedReceiver();
512 sender = parameter_difference_elem->getSender();
538 intended_receiver = new_alarm_elem->getIntendedReceiver();
539 sender = new_alarm_elem->getSender();
556 elem->setTimeAtWhichThisInfoIsPerceived(
r5pars_.timesno);
557 elem->setTimeOfCommunication(
r5pars_.timesno);
563 elem->setTimeAtWhichThisInfoIsPerceived(
r5pars_.timesno);
564 elem->setTimeOfCommunication(
r5pars_.timesno);
570 elem->setTimeAtWhichThisInfoIsPerceived(
r5pars_.timesno);
571 elem->setTimeOfCommunication(
r5pars_.timesno);
577 elem->setTimeAtWhichThisInfoIsPerceived(
r5pars_.timesno);
578 elem->setTimeOfCommunication(
r5pars_.timesno);
588 int num_branch, goal;
590 bool branch_generated;
591 bool reactor_tripped =
false;
593 string limiting_tcl_parameter;
645 reactor_tripped =
true;
708 map<string, ProcedureStep *>::iterator procedure_map_itr;
712 int sender, intended_received;
713 int total_chunked_items = 0;
714 string _procedure_name, _step_name, mental_belief_name;
718 auto goal_sp = make_shared<DecisionGoal>();
719 goal_sp->copyDecisionGoal(*goal_elem);
723 total_chunked_items += 1;
726 auto strategy_sp = make_shared<DecisionStrategy>();
727 strategy_sp->copyDecisionStrategy(*strategy_elem);
731 total_chunked_items += 1;
734 auto subgoal_sp = make_shared<DecisionSubGoal>();
735 subgoal_sp->copyDecisionSubGoal(*subgoal_elem);
739 total_chunked_items += 1;
742 auto diagnosis_sp = make_shared<DecisionDiagnosis>();
743 diagnosis_sp->copyDecisionDiagnosis(*diagnosis_elem);
748 total_chunked_items += 1;
751 auto action_objective_sp = make_shared<DecisionActionObjective>();
756 total_chunked_items += 1;
759 auto action_pack_sp = make_shared<DecisionActionPack>();
760 action_pack_sp->copyDecisionActionPack(*action_pack_elem);
764 total_chunked_items += 1;
768 sender = action_elem->getSender();
769 total_chunked_items += 1;
773 auto p = make_unique<BranchAction>();
774 p->copyBranchAction(*action_elem);
782 if (action_pt1 == 0) {
783 auto action_sp = make_shared<DecisionAction>();
784 action_sp->copyDecisionAction(*action_elem);
814 name = scanned_parameter_elem->getInfoName();
815 scan_priority = scanned_parameter_elem->getScanPriority();
816 switch (scanned_parameter_elem->getTypeOfScannedParameter()) {
836 total_chunked_items += 1;
841 auto procedure_step_sp = make_shared<DecisionProcedureStep>();
842 procedure_step_sp->copyDecisionProcedureStep(*procedure_step_elem);
845 if (procedure_step_sp->getProcedureName() != procedure_step_sp->getLastProcedureName()) {
847 procedure_step_sp->getStateOfActivation());
851 total_chunked_items += 1;
854 _procedure_name = procedure_step_elem->getProcedureName();
855 _step_name = procedure_step_elem->getStepName();
858 if (procedure_step_pt == 0) {
859 auto irp_sp = make_shared<DecisionProcedureStep>();
860 irp_sp->copyDecisionProcedureStep(*procedure_step_elem);
863 procedure_step_pt = irp_sp.get();
874 _procedure_name += _step_name;
877 pps_pt = procedure_map_itr->second;
883 cout <<
"Warning OperatorAT::infoChunking: mental procedure_step " << _procedure_name
884 <<
" is not within the Procedures.txt" << endl;
885 ofstream fout(
"err messages.txt", ios::app);
886 fout <<
r5pars_.timesno <<
" Warning OperatorAT::infoChunking: mental procedure_step " << _procedure_name
887 <<
" is not witin the Procedures.txt\n";
890 total_chunked_items += 1;
893 sender = alarm_state_elem->getSender();
894 total_chunked_items += 1;
898 auto p = make_unique<BranchExpectedAlarmState>();
899 p->copyBranchExpectedAlarmState(*alarm_state_elem);
900 p->setBothTotalTimeRequiredAndRemainingTime(1.0);
907 perceived_alarms_pt1 =
909 if (perceived_alarms_pt1 == 0) {
911 auto alarm_sp = make_shared<MentalAlarm>();
912 alarm_sp->copyMentalAlarm(*alarm_state_elem);
916 alarm_sp->getObservedAlarmState());
939 mental_belief_name = mental_belief_elem->getInfoName();
941 if (mental_belief_pt1 == 0) {
943 auto belief_sp = make_shared<ExpectedMentalBelief>();
944 belief_sp->copyExpectedMentalBelief(*mental_belief_elem);
951 if (_procedure_name !=
"NONE" && _procedure_name !=
"None") {
954 mental_belief_elem->getMentalPriority(),
956 mental_belief_elem->getActivationTime());
959 mental_belief_elem->getStateOfActivation());
960 total_chunked_items += 1;
963 perceived_alarms_pt1 =
965 if (perceived_alarms_pt1 == 0) {
966 auto new_alarm_sp = make_shared<MentalAlarm>();
967 new_alarm_sp->copyAlarmElement(*new_alarm_elem);
968 new_alarm_sp->setObservedAlarmState(new_alarm_elem->getDisplayedAlarmState());
972 new_alarm_sp->getObservedAlarmState());
980 total_chunked_items += 1;
983 sender = component_state_elem->getSender();
984 total_chunked_items += 1;
988 auto p = make_unique<BranchExpectedComponentState>();
989 p->copyBranchExpectedComponentState(*component_state_elem);
990 p->setBothTotalTimeRequiredAndRemainingTime(1.0);
997 perceived_component_state_pt1 =
999 if (perceived_component_state_pt1 == 0) {
1001 auto comp_sp = make_shared<MentalComponentState>();
1002 comp_sp->copyMentalComponentState(*component_state_elem);
1005 this->knowledge_base);
1007 comp_sp->getObservedComponentState());
1028 sender = support_system_state_elem->getSender();
1029 total_chunked_items += 1;
1033 auto p = make_unique<BranchExpectedSupportSystemState>();
1034 p->copyBranchExpectedSupportSystemState(*support_system_state_elem);
1035 p->setBothTotalTimeRequiredAndRemainingTime(1.0);
1042 perceived_support_system_state_pt1 =
1044 if (perceived_support_system_state_pt1 == 0) {
1046 auto ss_sp = make_shared<MentalSupportSystemState>();
1047 ss_sp->copyMentalSupportSystemState(*support_system_state_elem);
1050 this->knowledge_base);
1052 ss_sp->getObservedSupportSystemState());
1073 sender = parameter_value_elem->getSender();
1074 intended_received = parameter_value_elem->getIntendedReceiver();
1075 total_chunked_items += 1;
1079 auto p = make_unique<BranchExpectedParameterValue>();
1080 p->copyBranchExpectedParameterValue(*parameter_value_elem);
1081 p->setBothTotalTimeRequiredAndRemainingTime(1.0);
1088 perceived_parameter_value_pt1 =
1090 if (perceived_parameter_value_pt1 == 0) {
1092 auto pv_sp = make_shared<MentalParameterValue>();
1093 pv_sp->copyMentalParameterValue(*parameter_value_elem);
1096 this->knowledge_base);
1098 pv_sp->getObservedParameterValue(),
1121 sender = parameter_difference_elem->getSender();
1122 intended_received = parameter_difference_elem->getIntendedReceiver();
1123 total_chunked_items += 1;
1127 auto p = make_unique<BranchExpectedParameterDifference>();
1128 p->copyBranchExpectedParameterDifference(*parameter_difference_elem);
1129 p->setBothTotalTimeRequiredAndRemainingTime(1.0);
1137 parameter_difference_elem->second_mental_parameter.getDisplayName());
1139 perceived_parameter_value_pt1 =
1141 if (perceived_parameter_value_pt1 == 0) {
1143 auto pv1_sp = make_shared<MentalParameterValue>();
1144 pv1_sp->copyMentalParameterValue(parameter_difference_elem->first_mental_parameter);
1147 this->knowledge_base);
1149 pv1_sp->getObservedParameterValue(),
1158 perceived_parameter_value_pt1 =
1160 if (perceived_parameter_value_pt1 == 0) {
1162 auto pv2_sp = make_shared<MentalParameterValue>();
1163 pv2_sp->copyMentalParameterValue(parameter_difference_elem->second_mental_parameter);
1166 this->knowledge_base);
1168 pv2_sp->getObservedParameterValue(),
1189 parameter_difference_elem->second_mental_parameter.getDisplayName());
1194 return total_chunked_items;
1197 bool branch_generated =
false;
1219 branch_generated =
true;
1220 return branch_generated;
1228 branch_generated =
true;
1229 return branch_generated;
1237 branch_generated =
true;
1238 return branch_generated;
1246 branch_generated =
true;
1247 return branch_generated;
1255 branch_generated =
true;
1256 return branch_generated;
1264 branch_generated =
true;
1265 return branch_generated;
1274 branch_generated =
true;
1275 return branch_generated;
1277 return branch_generated;
1311 auto dst = make_unique<BranchAction>();
1312 dst->copyBranchAction(*src);
1316 auto dst = make_unique<BranchExpectedAlarmState>();
1317 dst->copyBranchExpectedAlarmState(*src);
1321 auto dst = make_unique<BranchExpectedComponentState>();
1322 dst->copyBranchExpectedComponentState(*src);
1326 auto dst = make_unique<BranchExpectedSupportSystemState>();
1327 dst->copyBranchExpectedSupportSystemState(*src);
1331 auto dst = make_unique<BranchExpectedParameterTrend>();
1332 dst->copyBranchExpectedParameterTrend(*src);
1336 auto dst = make_unique<BranchExpectedParameterValue>();
1337 dst->copyBranchExpectedParameterValue(*src);
1341 auto dst = make_unique<BranchExpectedParameterDifference>();
1342 dst->copyBranchExpectedParameterDifference(*src);
1358 p->saveBranchActionToFile(fout);
1362 p->saveBranchExpectedAlarmStateToFile(fout);
1366 p->saveBranchExpectedComponentStateToFile(fout);
1370 p->saveBranchExpectedSupportSystemStateToFile(fout);
1374 p->saveBranchExpectedParameterTrendToFile(fout);
1378 p->saveBranchExpectedParameterValueToFile(fout);
1382 p->saveBranchExpectedParameterDifferenceToFile(fout);
1392 if (str !=
"OperatorAT_ordered_alarm") {
1393 ofstream fout(
"err messages.txt", ios::app);
1394 cout <<
"OperatorAT::retrieveOperatorDMFromFile peratorAT_ordered_alarm File retrieval error in previous function"
1397 <<
" OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_alarm File retrieval error in previous function\n";
1404 for (i = 0; i < num; i++) {
1405 auto p = make_unique<BranchExpectedAlarmState>();
1406 p->retrieveBranchExpectedAlarmStateFromFile(fin);
1411 if (str !=
"OperatorAT_ordered_component") {
1412 ofstream fout(
"err messages.txt", ios::app);
1414 <<
"OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_component File retrieval error in previous function"
1417 <<
" OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_component File retrieval error in previous function\n";
1424 for (i = 0; i < num; i++) {
1425 auto p = make_unique<BranchExpectedComponentState>();
1426 p->retrieveBranchExpectedComponentStateFromFile(fin);
1431 if (str !=
"OperatorAT_ordered_support_system") {
1432 ofstream fout(
"err messages.txt", ios::app);
1434 <<
"OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_support_system File retrieval error in previous function"
1437 <<
" OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_support_system File retrieval error in previous function\n";
1444 for (i = 0; i < num; i++) {
1445 auto p = make_unique<BranchExpectedSupportSystemState>();
1446 p->retrieveBranchExpectedSupportSystemStateFromFile(fin);
1451 if (str !=
"OperatorAT_ordered_parameter_trend") {
1452 ofstream fout(
"err messages.txt", ios::app);
1454 <<
"OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_parameter_trend File retrieval error in previous function"
1457 <<
" OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_parameter_trend File retrieval error in previous function\n";
1464 for (i = 0; i < num; i++) {
1465 auto p = make_unique<BranchExpectedParameterTrend>();
1466 p->retrieveBranchExpectedParameterTrendFromFile(fin);
1471 if (str !=
"OperatorAT_ordered_parameter_value") {
1472 ofstream fout(
"err messages.txt", ios::app);
1474 <<
"OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_parameter_value File retrieval error in previous function"
1477 <<
" OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_parameter_value File retrieval error in previous function\n";
1484 for (i = 0; i < num; i++) {
1485 auto p = make_unique<BranchExpectedParameterValue>();
1486 p->retrieveBranchExpectedParameterValueFromFile(fin);
1491 if (str !=
"OperatorAT_ordered_parameter_difference") {
1492 ofstream fout(
"err messages.txt", ios::app);
1494 <<
"OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_parameter_difference File retrieval error in previous function"
1497 <<
" OperatorAT::retrieveOperatorDMFromFile OperatorAT_ordered_parameter_difference File retrieval error in previous function\n";
1504 for (i = 0; i < num; i++) {
1505 auto p = make_unique<BranchExpectedParameterDifference>();
1506 p->retrieveBranchExpectedParameterDifferenceFromFile(fin);
1512 bool order_exist =
false;
1526 decltype(
ordered_action)::iterator ordered_action_itr, ordered_action_itr_end;
1529 while (ordered_action_itr != ordered_action_itr_end && !found) {
1530 if ((*ordered_action_itr)->getActionName() == _name) {
1533 ordered_action_itr++;
1540 decltype(
ordered_action)::iterator ordered_action_itr, ordered_action_itr_end;
1543 while (ordered_action_itr != ordered_action_itr_end && !found) {
1544 if ((*ordered_action_itr)->getActionName() == _name) {
1548 ordered_action_itr++;
1555 decltype(
ordered_alarm_state)::iterator ordered_alarm_state_itr, ordered_alarm_state_itr_end;
1558 while (ordered_alarm_state_itr != ordered_alarm_state_itr_end && !found) {
1559 if ((*ordered_alarm_state_itr)->getAlarmName() == _name) {
1562 ordered_alarm_state_itr++;
1569 decltype(
ordered_alarm_state)::iterator ordered_alarm_state_itr, ordered_alarm_state_itr_end;
1572 while (ordered_alarm_state_itr != ordered_alarm_state_itr_end && !found) {
1573 if ((*ordered_alarm_state_itr)->getAlarmName() == _name) {
1577 ordered_alarm_state_itr++;
1587 while (ordered_component_state_itr != ordered_component_state_itr_end && !found) {
1588 if ((*ordered_component_state_itr)->getDisplayName() == _name) {
1591 ordered_component_state_itr++;
1599 ordered_support_system_state_itr_end;
1602 while (ordered_support_system_state_itr != ordered_support_system_state_itr_end && !found) {
1603 if ((*ordered_support_system_state_itr)->getDisplayName() == _name) {
1606 ordered_support_system_state_itr++;
1616 while (ordered_component_state_itr != ordered_component_state_itr_end && !found) {
1617 if ((*ordered_component_state_itr)->getDisplayName() == _name) {
1621 ordered_component_state_itr++;
1628 ordered_support_system_state_itr_end;
1631 while (ordered_support_system_state_itr != ordered_support_system_state_itr_end && !found) {
1632 if ((*ordered_support_system_state_itr)->getDisplayName() == _name) {
1636 ordered_support_system_state_itr++;
1646 while (ordered_parameter_trend_itr != ordered_parameter_trend_itr_end && !found) {
1647 if ((*ordered_parameter_trend_itr)->getDisplayName() == _name) {
1650 ordered_parameter_trend_itr++;
1660 while (ordered_parameter_trend_itr != ordered_parameter_trend_itr_end && !found) {
1661 if ((*ordered_parameter_trend_itr)->getDisplayName() == _name) {
1665 ordered_parameter_trend_itr++;
1675 while (ordered_parameter_value_itr != ordered_parameter_value_itr_end && !found) {
1676 if ((*ordered_parameter_value_itr)->getDisplayName() == _name) {
1679 ordered_parameter_value_itr++;
1690 while (ordered_parameter_value_itr != ordered_parameter_value_itr_end && !found) {
1691 if ((*ordered_parameter_value_itr)->getDisplayName() == _name) {
1695 ordered_parameter_value_itr++;
1703 ordered_parameter_difference_itr_end;
1706 while (ordered_parameter_difference_itr != ordered_parameter_difference_itr_end && !found) {
1707 if ((*ordered_parameter_difference_itr)->first_mental_parameter.getDisplayName() == _name1 &&
1708 (*ordered_parameter_difference_itr)->second_mental_parameter.getDisplayName() == _name2) {
1711 ordered_parameter_difference_itr++;
1720 ordered_parameter_difference_itr_end;
1723 while (ordered_parameter_difference_itr != ordered_parameter_difference_itr_end && !found) {
1724 if ((*ordered_parameter_difference_itr)->first_mental_parameter.getDisplayName() == _name1 &&
1725 (*ordered_parameter_difference_itr)->second_mental_parameter.getDisplayName() == _name2) {
1729 ordered_parameter_difference_itr++;
1734#include <boost/archive/binary_oarchive.hpp>
1735#include <boost/archive/binary_iarchive.hpp>
Operator Action Taker — executes crew actions on plant systems and components.
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 addScanQueueData(double, int, KBScannedParameters &)
void copyBranchAction(BranchAction &)
void copyBranchExpectedAlarmState(BranchExpectedAlarmState &)
void copyBranchExpectedComponentState(BranchExpectedComponentState &)
void copyBranchExpectedParameterDifference(BranchExpectedParameterDifference &)
void copyBranchExpectedParameterTrend(BranchExpectedParameterTrend &)
void copyBranchExpectedParameterValue(BranchExpectedParameterValue &)
void copyBranchExpectedSupportSystemState(BranchExpectedSupportSystemState &)
void setTempTypeOfConsequence(Consequence)
Stores the consequence of the end state the running sequence will get.
void addAction(int, BranchAction *)
void addComponentState(int, BranchExpectedComponentState *)
void addParameterTrend(int, BranchExpectedParameterTrend *)
void addParameterValue(int, BranchExpectedParameterValue *)
void addScannedParameter(int, BranchScannedParameter *)
Crew fork registration for a scanned parameter; same contract as addGoal().
void addParameterDifference(int, BranchExpectedParameterDifference *)
void addSupportSystemState(int, BranchExpectedSupportSystemState *)
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 addAlarmState(int, BranchExpectedAlarmState *)
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
std::vector< std::shared_ptr< BranchSystemAlarmState > > new_alarm
void setSenderAndReceiver(int, int)
void setIntendedReceiver(int)
void setTypeOfPauseActivity(int)
std::string getActionName()
void copyDecisionAction(DecisionAction &)
std::string getProcedureName()
std::string getLastProcedureName()
void setTypeOfScannedParameter(int)
void setScanPriority(int)
std::string getDisplayName()
void updateBothRationalConfidence(KB &)
double getAbnormalConfidence()
void copyExpectedMentalBelief(ExpectedMentalBelief &)
double getGoalCommunicationFailureProbability()
double getStrategyCommunicationFailureProbability()
double getGatherNewInfoFailureProbability()
double getPerceiveStateInfoFailureProbability()
double getManeuverActionFailureProbability()
void pointToTheNewActionPack(DecisionActionPack *)
std::vector< std::shared_ptr< MentalSupportSystemState > > perceived_support_system_state
DecisionAction * checkExistanceOfAction(std::string)
std::vector< std::shared_ptr< MentalParameterValue > > perceived_parameter_value
std::vector< std::shared_ptr< DecisionSubGoal > > subgoal
void pointToTheNewGoal(DecisionGoal *)
MentalParameterValue * checkExistanceOfPerceivedParameterValue(std::string)
std::string getCurrentInstinctiveResponseProceduralStepName()
MentalAlarm * checkExistanceOfPerceivedAlarms(std::string)
std::vector< std::shared_ptr< DecisionStrategy > > strategy
bool isThereMentalProcedureWaitingForExecution(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 *)
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 *)
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)
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)
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 copyMentalAlarm(MentalAlarm &)
void setObservedAlarmState(int)
int getObservedAlarmState()
int getObservedComponentState()
void copyMentalComponentState(MentalComponentState &)
void setTimeAtWhichThisInfoIsPerceived(double)
void copyMentalParameterValue(MentalParameterValue &)
double getObservedParameterValue()
void copyMentalSupportSystemState(MentalSupportSystemState &)
int getObservedSupportSystemState()
std::list< std::unique_ptr< BranchExpectedComponentState > > ordered_component_state
void removeOrderedComponentStateMemoryAndPointer(std::string)
void removeOrderedParameterTrendMemoryAndPointer(std::string)
void retrieveOperatorATFromFile(std::ifstream &)
void oneThroughProcessForBlockI()
void clearOperatorATForRestart()
void copyOperatorATToRestartInfo(OperatorAT &)
bool checkExistenceOfOrderedComponentState(std::string)
bool checkExistanceOfOrderedParameterValue(std::string)
std::list< std::unique_ptr< BranchExpectedParameterValue > > ordered_parameter_value
bool checkExistanceOfOrderedAlarmState(std::string)
void receiveNewInformation()
std::list< std::unique_ptr< BranchExpectedParameterDifference > > ordered_parameter_difference
std::list< std::unique_ptr< BranchAction > > ordered_action
void oneThroughProcessForBlockD()
void clearOperatorATFinal()
void clearOperatorATFromRestartInfo()
std::list< std::unique_ptr< BranchExpectedSupportSystemState > > ordered_support_system_state
void copyOrderedInfo(OperatorAT &)
int getNumberOfOrderedAction()
bool checkExistanceOfOrderedAction(std::string)
bool checkExistenceOfOrderedSupportSystemState(std::string)
void saveOperatorATToFile(std::ofstream &)
bool existOrderedActivity()
void removeOrderedActionMemoryAndPointer(std::string)
void removeOrderedParameterDifferenceMemoryAndPointer(std::string, std::string)
void identifyRelevantInformation()
std::list< std::unique_ptr< BranchExpectedAlarmState > > ordered_alarm_state
bool checkExistanceOfOrderedParameterDifference(std::string, std::string)
void copyOperatorATFromRestartInfo(OperatorAT &)
void removeOrderedParameterValueMemoryAndPointer(std::string)
void copyOperatorATFromRestartInfoMultiProcessor(OperatorAT &)
void removeOrderedSupportSystemStateMemoryAndPointer(std::string)
std::list< std::unique_ptr< BranchExpectedParameterTrend > > ordered_parameter_trend
bool checkExistanceOfOrderedParameterTrend(std::string)
void clearOperatorATFromRestartNodeInfoMultiProcessors()
void removeOrderedAlarmStateMemoryAndPointer(std::string)
bool performFollowInstructionStrategy()
void setSkipProcedureStep(bool)
int generateInfoGatherModeBranch()
void retrieveOperatorFromFile(std::ifstream &)
void interruptLowPriorityMentalProcedures()
void setPauseActivity(bool)
void checkAndExecuteManeuverAction()
void setTypeOfOperator(int)
void copyOperatorFromRestartInfo(Operator &)
void quantificationFilter()
void clearOperatorFromRestartNodeInfoMultiProcessors()
void clearOperatorFinal()
void clearOperatorForRestart()
bool checkAndActivateHWKB()
TimeConstrainedModule time_constrained_load
void copyOperatorFromRestartInfoMultiProcessor(Operator &)
bool performAMentalProcedure(int, std::string, std::string)
void copyOperatorToRestartInfo(Operator &)
void checkAndResetProcedureStep(BranchProcedureStep *)
bool getNewBranchGenerated()
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 &)
std::map< std::string, ProcedureStep * > procedure_map
void updateAllSPDSValueAndRate(InfoChunk *)
void addNewInfoChunkMentalForTheDiagnosis(DecisionDiagnosis *)
void calculatePriorityAndSetStateOfActivation()
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 SupportSystemState
constexpr int ComponentState
constexpr int ParameterValue
constexpr int ParameterScan
constexpr int MaintainGlobalSafetyMargin
constexpr int TroubleShoot
constexpr int InstinctiveResponse
constexpr int FollowProcedure
constexpr int FollowInstruction
constexpr int InductiveDeductive
Procedures All_procedure
Emergency operating procedures.
OperatorDM Decision_Maker
Crew decision-making model.
CommunicationPlace Communication_place
Inter-module communication.
AnalysisInfoContainer Aux_info
Analysis records.
BranchRecord Branch_center
Dynamic event tree state.