6#include "../Scheduler/Scheduler.h"
7#include "../Scheduler/CommunicationPlace.h"
8#include "../Branch/BranchRecord.h"
9#include <boost/serialization/export.hpp>
10#include <boost/archive/binary_oarchive.hpp>
11#include <boost/archive/binary_iarchive.hpp>
12#include "../Global/SimulationContext.h"
79 string file_name, procedure_name, step_name, combined_name, str;
81 bool found_file, found_file1;
85 file_name +=
"Procedures.txt";
86 fin.open(file_name.c_str(), ios::in);
88 cout <<
"File: " << file_name <<
" cound not be found" << endl;
89 ofstream fout(
"err messages.txt", ios::app);
90 fout <<
r5pars_.timesno <<
" File: " << file_name <<
" cound not be found\n";
112 fin >> str >> n_step;
113 for (i = 0; i < n_step; i++){
114 fin >> procedure_name >> step_name;
115 auto pps_pt = make_unique<ProcedureStepInfo>();
116 pps_pt->setProcedureName(procedure_name);
117 pps_pt->setStepName(step_name);
122 auto pstep_pt = make_unique<ProcedureStep>();
123 found_file1 = pstep_pt->readInfoFromFile(pps->getProcedureName(), pps->getStepName());
125 combined_name = pstep_pt->getCurrentProcedureName();
126 combined_name += pstep_pt->getCurrentStepName();
127 procedure_map.insert(ProcedureMAP::value_type(combined_name, pstep_pt.get()));
130 found_file = found_file1;
139 string combined_name, step_name;
154 auto ptr = make_unique<ProcedureStepInfo>();
155 ptr->copyProcedureStepInfo(*src);
159 auto ptr = make_unique<ProcedureStep>();
160 ptr->copyProcedureStep(*src);
161 combined_name = ptr->getCurrentProcedureName();
162 step_name = ptr->getCurrentStepName();
163 combined_name += step_name;
164 procedure_map.insert(ProcedureMAP::value_type(combined_name, ptr.get()));
169 string r_return =
"NO_PROCEDURE";
176 string r_return =
"NO_STEP";
207 auto ptr = make_unique<ProcedureStep>();
208 ptr->copyProcedureStep(*src);
213 string combined_name, step_name;
228 auto ptr = make_unique<ProcedureStep>();
229 ptr->copyProcedureStep(*src);
230 combined_name = ptr->getCurrentProcedureName();
231 step_name = ptr->getCurrentStepName();
232 combined_name += step_name;
233 procedure_map.insert(ProcedureMAP::value_type(combined_name, ptr.get()));
262 fout <<
"Procedures\n" << num <<
'\n';
263 for(i = 0; i < num; i++){
267 fout <<
'\n' << num <<
'\n';
268 for(i = 0; i < num; i++){
274 string combined_name, str;
289 if (str !=
"Procedures"){
290 ofstream fout(
"err messages.txt", ios::app);
291 cout <<
"Procedures::retrieveProceduresFromFile retrieval errir in previous function" << endl;
292 fout <<
r5pars_.timesno <<
" Procedures::retrieveProceduresFromFile retrieval errir in previous function\n";
300 for(i = 0; i < num; i++){
301 auto procedure_step_pt = make_unique<ProcedureStep>();
302 procedure_step_pt->retrieveProcedureStepFromFile(fin);
303 combined_name = procedure_step_pt->getCurrentProcedureName();
304 combined_name += procedure_step_pt->getCurrentStepName();
305 procedure_map.insert(ProcedureMAP::value_type(combined_name, procedure_step_pt.get()));
309 for(i = 0; i < num; i++){
310 auto list_of_procedural_step_pt = make_unique<ProcedureStepInfo>();
311 list_of_procedural_step_pt->retrieveProcedureStepInfoFromFile(fin);
map< string, ProcedureStep * > ProcedureMAP
Emergency Operating Procedure (EOP) management — step execution and procedure flow.
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
void setTempTypeOfConsequence(Consequence)
Stores the consequence of the end state the running sequence will get.
void setTempESMessage(std::string)
Stores the description of the end state the running sequence will get if it is terminated (set by mod...
void setPrerequisiteStepMultiplier(double)
double getVerificationStepMultiplier()
void copyProceduresFromRestartInfoForRestart(Procedures &)
double getDiagnosisStepMultiplier()
void copyProceduresToRestartInfoForRestart(Procedures &)
void copyProcedures(Procedures &)
std::string getEntryProcedureName()
std::vector< std::unique_ptr< ProcedureStep > > procedure_step
void setAbnormalProcedureMultiplier(double)
void setAlarmResponseProcedureMultiplier(double)
double getObjectiveStepMultiplier()
double getAlarmResponseProcedureMultiplier()
double getPrerequisiteStepMultiplier()
void retrieveProceduresFromFile(std::ifstream &)
double getMentalProcedureMultiplier()
double getNormalProcedureMultiplier()
std::map< std::string, ProcedureStep * > procedure_map
double diagnosis_step_multiplier
double getProcedureTransferTime()
double abnormal_procedure_multiplier
void setObjectiveStepMultiplier(double)
void setProcedureTransferTime(double)
double optimal_recovery_procedure_multiplier
void setNormalProcedureMultiplier(double)
double getAbnormalProcedureMultiplier()
double objective_step_multiplier
double functional_recovery_procedure_multiplier
double getOptimalRecoveryProcedureMultiplier()
void initiationForSimulation()
double alarm_response_procedure_multiplier
double getFunctionalRecoveryProcedureMultipler()
double getMonitoringStepMultiplier()
void seedFromMaster(const Procedures &master)
double getStepTransferTime()
double verification_step_multiplier
double prerequisite_step_multiplier
double step_transfer_time
void setStepTransferTime(double)
void clearProceduresForRestart()
void setDiagnosisStepMultiplier(double)
void setVerificationStepMultiplier(double)
void setOptimalRecoveryProcedureMultiplier(double)
std::string getEntryStepName()
double normal_procedure_multiplier
void setMentalProcedureMultiplier(double)
double mental_procedure_multiplier
std::vector< std::unique_ptr< ProcedureStepInfo > > list_of_procedural_step
void setFunctionalRecoveryProcedureMultipler(double)
void setMonitoringStepMultiplier(double)
double procedure_transfer_time
double monitoring_step_multiplier
void saveProceduresToFile(std::ofstream &)
std::string getEOPDirectory()
Scheduler SScheduler
Simulation scheduling, parses CLI options.
BranchRecord Branch_center
Dynamic event tree state.