← Documentation
ADS-IDAC Engine 5.0.0
OperatorCT.cpp
Go to the documentation of this file.
1// OperatorCT.cpp: implementation of the OperatorCT class.
2//
4
5#include "OperatorCT.h"
6#include "../Branch/BranchRecord.h"
7#include <boost/serialization/export.hpp>
8#include "../Global/SimulationContext.h"
9#include <boost/archive/binary_oarchive.hpp>
10#include <boost/archive/binary_iarchive.hpp>
11BOOST_CLASS_EXPORT_IMPLEMENT(OperatorCT)
12using namespace std;
13
14
16// Construction/Destruction
18
20{
22 this->m_RM->m_operator = sim::Operator::OCT;
23}
24
26{
27
28}
30 bool branch_generated;
31 if(this->getPauseActivity()) return;
32 branch_generated = selectGoal();
33 if(branch_generated) {
34 this->setPauseActivity(true);
35 return;
36 }
37 branch_generated = selectStrategy();
38 if(branch_generated) {
39 this->setPauseActivity(true);
40 return;
41 }
42}
43
46 BranchGoal *goal_pt;
47 wm = this->memory.getWorkingMemory();
48 bool branch_generated = false;
49 int _operator = this->getTypeOfOperator();
50 //RULE 1: Perceive Criticality of System Condition1 > TV AND Instinctive Response stimuli are present
51 //RULE 2 Perceive Criticality of System Condition > TV OR Emergency operating procedure entry point is reached
53 goal_pt = new BranchGoal();
54 goal_pt->setSenderAndReceiver(_operator, _operator);//(sender, receiver)
55 goal_pt->setTimerAndProbability(10.0, 1.0 - this->hfe_bbn.getGoalCommunicationFailureProbability());//(remaining time, probability)
58 g_sim.Branch_center.addGoal(_operator, goal_pt);
59 branch_generated = true;
60 }
61 return branch_generated;
62}
63
65 bool branch_generated = false;
66 return branch_generated;
67}
69 this->saveOperatorToFile(fout);
70}
72 this->retrieveOperatorFromFile(fin);
73}
Operator Communication Technician — manages inter-crew communication and coordination.
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
void addGoal(int, BranchGoal *)
void setSenderAndReceiver(int, int)
void setTypeOfPauseActivity(int)
void setDecision(int)
Definition: Decision.cpp:26
int getCurrentGoal()
Definition: InfoChunk.cpp:82
bool selectStrategy()
Definition: OperatorCT.cpp:64
void saveOperatorCTToFile(std::ofstream &)
Definition: OperatorCT.cpp:68
void retrieveOperatorCTFromFile(std::ifstream &)
Definition: OperatorCT.cpp:71
void oneThroughProcessForBlockD()
Definition: OperatorCT.cpp:29
virtual ~OperatorCT()
Definition: OperatorCT.cpp:25
bool selectGoal()
Definition: OperatorCT.cpp:44
void retrieveOperatorFromFile(std::ifstream &)
Definition: Operator.cpp:1020
std::unique_ptr< ReasonMachine > m_RM
Definition: Operator.h:55
void setPauseActivity(bool)
Definition: Operator.cpp:577
void setTypeOfOperator(int)
Definition: Operator.cpp:58
int getTypeOfOperator()
Definition: Operator.cpp:59
ShortTermMemory memory
Definition: Operator.h:126
HumanFailureEventsBBN hfe_bbn
Definition: Operator.h:136
bool getPauseActivity()
Definition: Operator.cpp:580
void saveOperatorToFile(std::ofstream &)
Definition: Operator.cpp:964
InfoChunkMental * getWorkingMemory()
void setTimerAndProbability(double, double)
constexpr int Goal
Definition: SimConstants.h:190
constexpr int MaintainGlobalSafetyMargin
Definition: SimConstants.h:160
constexpr int OCT
Definition: SimConstants.h:146
BranchRecord Branch_center
Dynamic event tree state.