7#include <boost/serialization/export.hpp>
8#include <boost/archive/binary_oarchive.hpp>
9#include <boost/archive/binary_iarchive.hpp>
11#include "ProcedureExpectedAlarmStateUnit.h"
15#include "../ControlPanel/ControlPanel.h"
16#include "../Crew/OperatorDM.h"
17#include "../Crew/OperatorAT.h"
20#include "../Global/SimulationContext.h"
41 double multiplier = 1.0;
42 double time_load_PIF, time_factor;
43 double action_relevance, relevance_factor;
44 double dynamic_multiplier = 1.0;
58 if (action_relevance > 0.0) {
59 relevance_factor = 10.0 * pow(10.0, -2.0 * action_relevance);
60 relevance_factor = fmin(relevance_factor, 10.0);
61 relevance_factor = fmax(relevance_factor, 0.1);
63 relevance_factor = 10.0;
67 if (time_load_PIF > 1.0) {
68 time_factor = time_load_PIF;
69 time_factor = fmin(time_factor, 10.0);
70 time_factor = fmax(time_factor, 1.0);
72 time_factor = pow(10.0, time_load_PIF - 1.0);
73 time_factor = fmin(time_factor, 1.0);
74 time_factor = fmax(time_factor, 0.1);
77 dynamic_multiplier = relevance_factor * time_factor;
78 dynamic_multiplier = fmin(dynamic_multiplier, 100.0);
79 dynamic_multiplier = fmax(dynamic_multiplier, 0.01);
85 return dynamic_multiplier;
89 double adjusted_skip_prob;
90 _psf = fmax(_psf, 0.01);
91 _psf = fmin(_psf, 500.0);
93 adjusted_skip_prob = _skip * _psf / (_skip * (_psf - 1.0) + 1.0);
95 adjusted_skip_prob = _skip * _psf;
97 return adjusted_skip_prob;
105 map<string, SystemAlarm *>::iterator alarm_map_itr;
106 map<string, SystemDisplay *>::iterator display_map_itr;
107 map<string, SystemControl *>::iterator control_map_itr;
117 sd_pt = display_map_itr->second;
129 ofstream fout(
"err messages.txt", ios::app);
130 cout <<
"ProcedureStepUnit::checkForTypeOfExpectation obj: " << _object_name <<
" Type of display:" <<
static_cast<int>(n_temp)
131 <<
" cannot be recognized" << endl;
132 fout <<
r5pars_.timesno <<
" ProcedureStepUnit::checkForTypeOfExpectation obj: " << _object_name
133 <<
" Type of display:" <<
static_cast<int>(n_temp) <<
" cannot be recognized\n";
141 if (_object_name ==
"Mental_Belief") {
143 }
else if (_object_name ==
"Parameter_Difference") {
146 ofstream fout(
"err messages.txt", ios::app);
147 cout <<
"ProcedureStepUnit::checkForTypeOfExpectation: Obj_name: " << _object_name <<
" cannot be recognized"
149 fout <<
r5pars_.timesno <<
" ProcedureStepUnit::checkForTypeOfExpectation: Obj_name: " << _object_name
150 <<
" cannot be recognized\n";
171 map<string, SystemControl *>::iterator control_map_itr;
193 int n_expectation, obj_type;
194 double minimum_time, alpha_weibull, beta_weibull, act_value;
195 double a_beta, b_beta;
196 bool is_a_maneuver_action =
false;
197 string sub_action_name, control_parameter_name;
201 if (str_obj ==
"0") {
202 action = make_unique<ProcedureActionUnit>();
203 action->setInfoName(
"PROCEDURE_TRANSFER");
205 return n_expectation;
206 }
else if (str_obj ==
"Do_And_Return") {
210 }
else if (str_obj ==
"SCAN") {
214 return n_expectation;
216 action = make_unique<ProcedureActionUnit>();
219 fin >> minimum_time >> alpha_weibull >> beta_weibull
220 >> control_parameter_name
221 >> a_beta >> b_beta >> n_expectation;
222 action->setParameterName(control_parameter_name);
226 fin >> minimum_time >> alpha_weibull >> beta_weibull
228 >> a_beta >> b_beta >> n_expectation;
229 if (str_obj.size() > 9) {
230 sub_action_name = str_obj.substr(0, 9);
231 if (sub_action_name ==
"MANEUVER_") {
232 is_a_maneuver_action =
true;
236 action->setControlValue(act_value);
242 }
else if (is_a_maneuver_action) {
243 action->setControlValue(act_value);
258 action->setInfoName(str_obj);
261 action->setT_Minimum(minimum_time);
262 action->setAlpha_Weibull(alpha_weibull);
263 action->setBeta_Weibull(beta_weibull);
266 action->setAlpha_Parameter(a_beta);
267 action->setBeta_Parameter(b_beta);
270 return n_expectation;
274 int obj_type, i_temp;
286 for (i_temp = 0; i_temp < n_expectation; i_temp++) {
287 auto exp_or_uptr = make_unique<ExpectationORUnit>();
288 exp_or_pt = exp_or_uptr.get();
300 exp_or_pt->
add(exp_pt);
308 exp_or_pt->
add(exp_pt);
316 exp_or_pt->
add(exp_pt);
324 exp_or_pt->
add(exp_pt);
331 exp_or_pt->
add(exp_pt);
338 exp_or_pt->
add(exp_pt);
340 ofstream fout(
"err messages.txt", ios::app);
341 cout <<
"ProcedureStepUnit::readInfofromFile: expectation body obj_type:" << obj_type <<
" cannot be recognized"
343 fout <<
r5pars_.timesno <<
" ProcedureStepUnit::readInfofromFile: expectation body obj_type:" << obj_type
344 <<
" cannot be recognized\n";
354 string str_obj, str1, str2, control_parameter_name;
355 double minimum_time, alpha_weibull, beta_weibull, act_value;
356 double a_beta, b_beta;
365 fin >> str1 >> str2 >> a_beta >> b_beta;
376 fin >> str_obj >> n >> minimum_time >> alpha_weibull >> beta_weibull
377 >> act_value >> a_beta >> b_beta;
395 >> minimum_time >> alpha_weibull >> beta_weibull
396 >> control_parameter_name
412 int parameter_type, priority;
417 >> minimum_time >> alpha_weibull >> beta_weibull
435 ofstream fout(
"err messages.txt", ios::app);
436 cout <<
"ProcedureStepUnit::readinfoFromFileNonResponseExit obj_type:" << obj_type <<
" cannot be recognized"
438 fout <<
r5pars_.timesno <<
" ProcedureStepUnit::readinfoFromFileNonResponseExit exit obj_type:" << obj_type
439 <<
" cannot be recognized\n";
459 action = make_unique<ProcedureActionUnit>();
490 auto ptr = make_unique<ExpectationORUnit>();
491 ptr->copyExpectationORUnit(*src);
504 string _procedure_name,
506 double _skip_threshold,
507 double _static_HEP_factor) {
508 bool branch_generated =
false;
509 bool is_a_mental_procedure =
false;
510 bool next_is_a_mental_procedure =
false;
511 bool next_is_a_functional_recovery_guideline =
false;
512 bool generate_control_branches =
false;
513 int i, j, num_of_time_branches, num_of_control_branches;
515 string str, sub_str, str_prob;
516 double control_value, skip_probability, control_probability;
517 double delta_cdf, cdf_lower, cdf_upper;
519 double HEP_multiplier = 1.0;
532 str = _procedure_name;
533 if (str.size() > 5) {
534 sub_str = str.substr(0, 5);
535 if (sub_str ==
"MPBG_") {
536 is_a_mental_procedure =
true;
542 skip_probability =
action->calculateProbability();
545 HEP_multiplier *= _static_HEP_factor;
569 num_of_time_branches = 1;
578 generate_control_branches =
true;
580 num_of_control_branches = 1;
583 for (j = 0; j < num_of_control_branches; j++) {
584 if (generate_control_branches) {
587 control_probability = 1.0;
597 if (generate_control_branches) {
608 ofstream fout(
"err messages.txt", ios::app);
609 cout <<
"ProcedureStepUnit::executeAction - Parameter: " <<
action->getParameterName()
610 <<
" can not be recognized" << endl;
611 fout <<
r5pars_.timesno <<
" ProcedureStepUnit::executeAction - Parameter: " <<
action->getParameterName()
612 <<
" can not be recognized\n";
616 ofstream fout(
"err messages.txt", ios::app);
617 cout <<
"ProcedureStepUnit::executeAction - Control: " <<
action->getInfoName() <<
" can not be recognized"
619 fout <<
r5pars_.timesno <<
" ProcedureStepUnit::executeAction - Control: " <<
action->getInfoName()
620 <<
" can not be recognized\n";
627 if (generate_control_branches) {
630 control_value =
action->getControlValue();
646 delta_cdf = 1.0 / (double) num_of_time_branches;
647 for (i = 0; i < num_of_time_branches; i++) {
658 cdf_lower = delta_cdf * ((double) i);
659 cdf_upper = delta_cdf * ((double) (i + 1));
660 time =
action->calculateMeanRequiredTime(cdf_lower, cdf_upper);
668 control_probability * (1.0 - skip_probability)
669 /
static_cast<double> (num_of_time_branches));
675 branch_generated =
true;
680 if (skip_probability > _skip_threshold) {
686 str =
"WAITING:_Skipped_Step_" +
action->getInfoName();
688 std::ostringstream streamObj;
689 streamObj << skip_probability;
690 message +=
"_(skip probability_=" + streamObj.str() +
"):_";
695 branch_generated =
true;
705 if (sub_str ==
"MPBG_") {
706 next_is_a_mental_procedure =
true;
713 if (sub_str ==
"FRG_") {
714 next_is_a_functional_recovery_guideline =
true;
738 branch_generated =
true;
746 branch_generated =
true;
750 ofstream fout(
"err messages.txt", ios::app);
752 <<
" ProcedureStepUnit::executeAction: Illegal procedure transfer operation in " << _procedure_name <<
' '
753 << _step_name << endl;
754 fout <<
r5pars_.timesno <<
" ProcedureStepUnit::executeAction: Illegal procedure transfer operation in "
755 << _procedure_name <<
' ' << _step_name <<
"\n";
759 return branch_generated;
765 HEP_multiplier *= _static_HEP_factor;
789 num_of_time_branches = 1;
792 delta_cdf = 1.0 / (double) num_of_time_branches;
793 for (i = 0; i < num_of_time_branches; i++) {
804 cdf_lower = delta_cdf * ((double) i);
805 cdf_upper = delta_cdf * ((double) (i + 1));
808 b_scan_pt->
setTimerAndProbability(time, (1.0 - skip_probability) /
static_cast<double> (num_of_time_branches));
812 branch_generated =
true;
816 if (skip_probability > _skip_threshold) {
831 branch_generated =
true;
836 str =
"WAITING:_Verify_" +
action->getInfoName();
838 skip_probability =
action->calculateProbability();
841 HEP_multiplier *= _static_HEP_factor;
865 num_of_time_branches = 1;
868 delta_cdf = 1.0 / (double) num_of_time_branches;
869 for (i = 0; i < num_of_time_branches; i++) {
879 cdf_lower = delta_cdf * ((double) i);
880 cdf_upper = delta_cdf * ((double) (i + 1));
883 b_action_pt->
setTimerAndProbability(time, (1.0 - skip_probability) /
static_cast<double> (num_of_time_branches));
890 branch_generated =
true;
894 if (skip_probability > _skip_threshold) {
900 str =
"WAITING:_Skipped_Verification_Step_" +
action->getInfoName();
902 std::ostringstream streamObj;
903 streamObj << skip_probability;
904 message +=
"_(skipped_step_probability_=_" + streamObj.str() +
")";
910 branch_generated =
true;
913 ofstream fout(
"err messages.txt", ios::app);
914 cout <<
"ProcedureStepUnit::executAction: neither ACTIVE nor sim::None procedure step unit is found." << endl;
916 <<
" ProcedureStepUnit::executAction: neither ACTIVE nor sim::None procedure step unit is found.\n";
922 return branch_generated;
925 bool found_expectation =
false;
926 bool branch_generated =
false;
931 while (expectationOR_itr !=
expectation.end() && !found_expectation) {
934 found_expectation =
true;
936 branch_generated = (*expectationOR_itr)->assessExpectation(_operator, _stm, _entry);
938 found_expectation =
true;
939 branch_generated = (*expectationOR_itr)->assessExpectation(_operator, _stm, _entry);
941 found_expectation =
true;
948 if (!found_expectation) {
951 return branch_generated;
957 string _current_procedure,
958 string _current_step,
959 double _skip_threshold,
960 double _static_HEP_factor) {
961 bool branch_generated =
false;
962 bool next_is_a_mental_procedure =
false;
963 bool next_is_a_functional_recovery_guideline =
false;
964 bool illegal_procedure_transfer =
false;
965 bool generate_control_branches =
false;
966 double skip_probability, control_probability, control_value;
967 double time, delta_cdf, cdf_lower, cdf_upper;
968 double HEP_multiplier = 1.0;
971 int i, j, num_of_time_branches, num_of_control_branches;
980 string str, sub_str, str_prob;
997 HEP_multiplier *= _static_HEP_factor;
1020 num_of_time_branches = 1;
1028 generate_control_branches =
true;
1030 num_of_control_branches = 1;
1033 for (j = 0; j < num_of_control_branches; j++) {
1034 if (generate_control_branches) {
1037 control_probability = 1.0;
1046 if (generate_control_branches) {
1058 if (generate_control_branches) {
1075 delta_cdf = 1.0 / (double) num_of_time_branches;
1076 for (i = 0; i < num_of_time_branches; i++) {
1084 cdf_lower = delta_cdf * ((double) i);
1085 cdf_upper = delta_cdf * ((double) (i + 1));
1086 time =
action->calculateMeanRequiredTime(cdf_lower, cdf_upper);
1094 control_probability * (1.0 - skip_probability)
1095 /
static_cast<double> (num_of_time_branches));
1099 branch_generated =
true;
1104 if (skip_probability > _skip_threshold) {
1109 str =
"WAITING:_Skip_Non_Response_Action_" + act_pt->
getInfoName();
1110 str +=
"_(skip_probability_=_";
1111 std::ostringstream streamObj;
1112 streamObj << skip_probability;
1113 str += streamObj.str() +
")";
1118 branch_generated =
true;
1129 HEP_multiplier *= _static_HEP_factor;
1151 if (sub_str ==
"MPBG_") {
1152 next_is_a_mental_procedure =
true;
1159 if (sub_str ==
"FRG_") {
1160 next_is_a_functional_recovery_guideline =
true;
1184 branch_generated =
true;
1196 branch_generated =
true;
1200 illegal_procedure_transfer =
true;
1201 ofstream fout(
"err messages.txt", ios::app);
1202 cout <<
" " <<
r5pars_.timesno
1203 <<
" ProcedureStep::executeNonResponseAction: Illegal procedure transfer operation in "
1204 << _current_procedure <<
' ' << _current_step << endl;
1205 fout <<
r5pars_.timesno <<
" ProcedureStep::executeNonResponseAction: Illegal procedure transfer operation in "
1206 << _current_procedure <<
' ' << _current_step <<
"\n";
1208 skip_probability = 1.0;
1214 if (skip_probability > _skip_threshold || illegal_procedure_transfer) {
1229 branch_generated =
true;
1237 HEP_multiplier *= _static_HEP_factor;
1261 num_of_time_branches = 1;
1264 delta_cdf = 1.0 / (double) num_of_time_branches;
1265 for (i = 0; i < num_of_time_branches; i++) {
1276 cdf_lower = delta_cdf * ((double) i);
1277 cdf_upper = delta_cdf * ((double) (i + 1));
1280 b_scan_pt->
setTimerAndProbability(time, (1.0 - skip_probability) /
static_cast<double> (num_of_time_branches));
1284 branch_generated =
true;
1303 branch_generated =
true;
1310 return branch_generated;
1367 fout <<
"1 " <<
'\n';
1368 action->saveProcedureActionUnitToFile(fout);
1370 fout <<
"0 " <<
'\n';
1377 action = make_unique<ProcedureActionUnit>();
1378 action->retrieveProcedureActionUnitFromFile(fin);
1379 }
else if (i_exist == 0) {
1382 ofstream fout(
"err messages.txt", ios::app);
1383 cout <<
"ProcedureStepUnit::retrieveProcedureStepUnitActionFromFile: data mismatch in retrieving info from file."
1386 <<
" ProcedureStepUnit::retrieveProcedureStepUnitActionFromFile: data mismatch in retrieving info from file\n";
1399 fout <<
"0" <<
'\n';
1409 }
else if (i_exist == 0) {
1412 ofstream fout(
"err messages.txt", ios::app);
1414 <<
"ProcedureStepUnit::retrieveProcedureStepUnitMentalProcedureFromFile: data mismatch in retrieving info from file."
1417 <<
" ProcedureStepUnit::retrieveProcedureStepUnitMentalProcedureFromFile: data mismatch in retrieving info from file\n";
1430 fout <<
"0" <<
'\n';
1440 }
else if (i_exist == 0) {
1443 ofstream fout(
"err messages.txt", ios::app);
1445 <<
"ProcedureStepUnit::retrieveProcedureStepUnitScannedParameterUnitFromFile: data mismatch in retrieving info from file."
1448 <<
" ProcedureStepUnit::retrieveProcedureStepUnitScannedParameterUnitFromFile: data mismatch in retrieving info from file\n";
1476 ofstream fout(
"err messages.txt", ios::app);
1477 cout <<
"ProcedureStepUnit::saveProcedureStepUnitNonResponseActionToFile: type_of_non_response_action "
1480 <<
" ProcedureStepUnit::saveProcedureStepUnitNonResponseActionToFile: type_of_non_response_action "
1488 fout <<
"0" <<
'\n';
1517 ofstream fout(
"err messages.txt", ios::app);
1518 cout <<
"ProcedureStepUnit::retrieveProcedureStepUnitNonResponseActionFromFile( obj_type:"
1520 fout <<
r5pars_.timesno <<
" ProcedureStepUnit::retrieveProcedureStepUnitNonResponseActionFromFile( obj_type:"
1527 }
else if (i_exist == 0) {
1537 e->saveExpectationORUnitToFile(fout);
1544 for (i = 0; i < num; i++) {
1545 auto expOr_pt = make_unique<ExpectationORUnit>();
1546 expOr_pt->retrieveExpectationORUnitFromFile(fin);
Emergency Operating Procedure (EOP) management — step execution and procedure flow.
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
void addProcedureData(AnalysisProcedureDataContainerUnit)
void setActionRelevance(double relevance)
void setTimePIF(double t_PIF)
void setActionName(std::string name)
void setDynamicMultiplier(double multiplier)
void setProcedureStep(std::string step)
void setSkipProbability(double probability)
void setProcedureName(std::string name)
void setOperatorID(int id)
void setStaticMultiplier(double multiplier)
void setActionTime(double)
The end state (ES node) that terminates one sequence of the DET.
BranchProcedureActionTimeUnit * checkToGenerateActionTimeBranches(std::string, std::string, std::string)
std::vector< double > probabilities
std::vector< double > control_values
int getNumberOfBranches()
BranchProcedureControlValueUnit * checkToGenerateControlValueBranches(std::string, std::string, std::string)
Looks up the control value branch definition of a procedure action.
void setTempTypeOfConsequence(Consequence)
Stores the consequence of the end state the running sequence will get.
void addAction(int, BranchAction *)
void addProcedureStep(int, BranchProcedureStep *)
void addInstinctiveResponseProcedure(int, BranchProcedureStep *)
BranchProcedureAtionTime source_of_procedure_time_branches
void addScannedParameter(int, BranchScannedParameter *)
Crew fork registration for a scanned parameter; same contract as addGoal().
BranchProcedureControlValue control_value_branches
void setTempESMessage(std::string)
Stores the description of the end state the running sequence will get if it is terminated (set by mod...
void setSenderAndReceiver(int, int)
int getIntendedReceiver()
void setTypeOfPauseActivity(int)
void setControlValue(double)
double getValueForOnOrFullyOpen()
double getValueForOffOrFullyClose()
std::map< std::string, SystemAlarm * > alarm_map
std::map< std::string, SystemControl * > control_map
SystemControl * getControlFromMap(std::string)
std::map< std::string, SystemDisplay * > display_map
ControlPanelDisplay indicators
ControlPanelControl controls
void setActionName(std::string)
void setStepName(std::string)
void setLastProcedureName(std::string)
void setLastStepName(std::string)
void setProcedureName(std::string)
void setTypeOfScannedParameter(int)
void setScanPriority(int)
void setTypeOfExpectation(int)
void add(ExpectationElement *)
void readInfoFromFile(std::ifstream &)
double getProcedureStepFailureProbability()
double getProcedureTransferFailureProbability()
MentalParameterValue * checkExistanceOfPerceivedParameterValue(std::string)
void setInfoName(std::string)
std::string getInfoName()
double getObservedParameterValue()
void setPauseActivity(bool)
TimeConstrainedModule time_constrained_load
double getNominalCommunicationTime()
HumanFailureEventsBBN hfe_bbn
double checkItemRelevanceToCurrentDiagnosis(std::string)
void setBeta_Parameter(double)
double calculateProbability()
void setAlpha_Parameter(double)
void setParameterName(std::string)
std::string getParameterName()
void copyProcedureActionUnit(ProcedureActionUnit &)
void setControlValue(double)
void retrieveProcedureActionUnitFromFile(std::ifstream &)
void saveProcedureActionUnitToFile(std::ofstream &)
void readInfoFromFileWithoutInfoName(std::ifstream &)
void readInfoFromFileWithoutInfoName(std::ifstream &)
void readInfoFromFile(std::ifstream &)
void readInfoFromFileWithoutInfoName(std::ifstream &)
void readInfoFromFileWithoutInfoName(std::ifstream &)
void setTypeOfScannedParameter(int)
void copyProcedureScannedParameterUnit(ProcedureScannedParameterUnit &)
void setScanPriority(int)
void retrieveProcedureScannedParameterUnitFromFile(std::ifstream &)
void saveProcedureScannedParameterUnitToFile(std::ofstream &)
void setStepName(std::string step_name)
std::string getProcedureName()
void copyProcedureStepInfo(ProcedureStepInfo &)
void saveProcedureStepInfoToFile(std::ofstream &)
void retrieveProcedureStepInfoFromFile(std::ifstream &)
std::string getStepName()
void setProcedureName(std::string procedure_name)
void saveProcedureStepUnitNonResponseActionToFile(std::ofstream &)
bool executeExpectation(Operator &, ShortTermMemory &, int)
void setTypeOfNonResponseAction(int)
std::vector< std::unique_ptr< ExpectationORUnit > > expectation
int getNumberOfANDExpectation()
std::unique_ptr< ProcedureScannedParameterUnit > non_response_scan
std::unique_ptr< ProcedureStepInfo > mental_procedure
int getTypeOfNonResponseAction()
void retrieveProcedureStepUnitMentalProcedureFromFile(std::ifstream &)
void retrieveProcedureStepUnitFromFile(std::ifstream &)
void setStateOfNonResponseAction(int)
int getStateOfNonResponseAction()
void readInfofromFileExpectation(std::ifstream &, int)
void retrieveProcedureStepUnitExpectationFromFile(std::ifstream &)
bool hasNonResponseAction() const
double calculateDynamicHEPMultiplier(int, std::string, AnalysisProcedureDataContainerUnit &)
int type_of_non_response_action
std::unique_ptr< ProcedureScannedParameterUnit > scanned_parameter
int checkForTypeOfExpectation(std::string)
bool executeAction(Operator &, ShortTermMemory &, int, std::string, std::string, std::string, double, double)
ProcedureStepInfo * getMentalProcedurePtr()
double calculateAdjustedSkipProbability(double, double)
void retrieveProcedureStepUnitNonResponseActionFromFile(std::ifstream &)
ProcedureScannedParameterUnit * getScannedParameterUnitPtr()
bool checkIfIsChangeSystemAction(std::string)
void setStateOfAction(int)
ProcedureActionUnit * getActionPtr()
void saveProcedureStepUnitToFile(std::ofstream &)
int state_of_non_response_action
void setStateOfExpectation(int)
bool executeNonResponseAction(Operator &, ShortTermMemory &, int, std::string, std::string, double, double)
void setTypeOfAction(int)
void setActionPtr(ProcedureActionUnit *)
void saveProcedureStepUnitScannedParameterToFile(std::ofstream &)
std::unique_ptr< ProcedureStepInfo > non_response_procedure
bool readInfofromFile(std::ifstream &)
std::unique_ptr< ProcedureActionUnit > action
void saveProcedureStepUnitExpectationToFile(std::ofstream &)
void retrieveProcedureStepUnitActionFromFile(std::ifstream &)
virtual ~ProcedureStepUnit()
bool readInfoFromFileNonResponseExit(std::ifstream &)
void saveProcedureStepUnitMentalProcedureToFile(std::ofstream &)
void saveProcedureStepUnitActionToFile(std::ofstream &)
int getStateOfExpectation()
void copyProcedureStepUnit(ProcedureStepUnit &)
std::unique_ptr< ProcedureActionUnit > non_response_action_unit
int readInfofromFileAction(std::ifstream &)
void retrieveProcedureStepUnitScannedParameterFromFile(std::ifstream &)
int serialized_expectation_count
double getProcedureTransferTime()
double getStepTransferTime()
InfoChunkMental * getWorkingMemory()
void setStateOfActivation(int)
void copyStateOfActivation(StateOfActivation &)
void setMessage(std::string)
DisplayType getTypeOfControl()
DisplayType getTypeOfDisplay()
double getTimeConstrainedPIFValue()
void setTimerAndProbability(double, double)
void setT_Minimum(double)
double calculateMeanRequiredTime()
void setBeta_Weibull(double)
void setAlpha_Weibull(double)
constexpr int ProcedureTransfer
constexpr int MentalBelief
constexpr int ParameterDifference
constexpr int ParameterTrend
constexpr int SupportSystemState
constexpr int ComponentState
constexpr int ParameterValue
constexpr int ParameterScan
constexpr int ParameterControl
constexpr int InstinctiveResponse
constexpr int FollowProcedure
constexpr int FollowInstruction
Procedures All_procedure
Emergency operating procedures.
OperatorAT Action_Taker
Crew action execution model.
ControlPanel Indicator
Control room panel state.
OperatorDM Decision_Maker
Crew decision-making model.
AnalysisInfoContainer Aux_info
Analysis records.
BranchRecord Branch_center
Dynamic event tree state.