←
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>
11
BOOST_CLASS_EXPORT_IMPLEMENT(
OperatorCT
)
12
using namespace
std;
13
14
16
// Construction/Destruction
18
19
OperatorCT::OperatorCT
()
20
{
21
this->
setTypeOfOperator
(
sim::Operator::OCT
);
22
this->
m_RM
->m_operator =
sim::Operator::OCT
;
23
}
24
25
OperatorCT::~OperatorCT
()
26
{
27
28
}
29
void
OperatorCT::oneThroughProcessForBlockD
(){
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
44
bool
OperatorCT::selectGoal
(){
45
InfoChunkMental
*wm;
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
52
if
(wm->
getCurrentGoal
() !=
sim::Goal::MaintainGlobalSafetyMargin
){
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)
56
goal_pt->
setDecision
(
sim::Goal::MaintainGlobalSafetyMargin
);
57
goal_pt->
setTypeOfPauseActivity
(
sim::Decision::Goal
);
58
g_sim
.
Branch_center
.
addGoal
(_operator, goal_pt);
59
branch_generated =
true
;
60
}
61
return
branch_generated;
62
}
63
64
bool
OperatorCT::selectStrategy
(){
65
bool
branch_generated =
false
;
66
return
branch_generated;
67
}
68
void
OperatorCT::saveOperatorCTToFile
(ofstream &fout){
69
this->
saveOperatorToFile
(fout);
70
}
71
void
OperatorCT::retrieveOperatorCTFromFile
(ifstream &fin){
72
this->
retrieveOperatorFromFile
(fin);
73
}
OperatorCT.h
Operator Communication Technician — manages inter-crew communication and coordination.
g_sim
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
Definition:
SimulationContext.cpp:7
BranchGoal
Definition:
BranchGoal.h:25
BranchRecord::addGoal
void addGoal(int, BranchGoal *)
Definition:
BranchRecord.cpp:71
Communication::setSenderAndReceiver
void setSenderAndReceiver(int, int)
Definition:
Communication.cpp:48
Communication::setTypeOfPauseActivity
void setTypeOfPauseActivity(int)
Definition:
Communication.cpp:39
Decision::setDecision
void setDecision(int)
Definition:
Decision.cpp:26
HumanFailureEventsBBN::getGoalCommunicationFailureProbability
double getGoalCommunicationFailureProbability()
Definition:
HumanFailureEventsBBN.cpp:1485
InfoChunkMental
Definition:
InfoChunkMental.h:16
InfoChunk::getCurrentGoal
int getCurrentGoal()
Definition:
InfoChunk.cpp:82
OperatorCT
Definition:
OperatorCT.h:19
OperatorCT::selectStrategy
bool selectStrategy()
Definition:
OperatorCT.cpp:64
OperatorCT::saveOperatorCTToFile
void saveOperatorCTToFile(std::ofstream &)
Definition:
OperatorCT.cpp:68
OperatorCT::retrieveOperatorCTFromFile
void retrieveOperatorCTFromFile(std::ifstream &)
Definition:
OperatorCT.cpp:71
OperatorCT::oneThroughProcessForBlockD
void oneThroughProcessForBlockD()
Definition:
OperatorCT.cpp:29
OperatorCT::~OperatorCT
virtual ~OperatorCT()
Definition:
OperatorCT.cpp:25
OperatorCT::OperatorCT
OperatorCT()
Definition:
OperatorCT.cpp:19
OperatorCT::selectGoal
bool selectGoal()
Definition:
OperatorCT.cpp:44
Operator::retrieveOperatorFromFile
void retrieveOperatorFromFile(std::ifstream &)
Definition:
Operator.cpp:1020
Operator::m_RM
std::unique_ptr< ReasonMachine > m_RM
Definition:
Operator.h:55
Operator::setPauseActivity
void setPauseActivity(bool)
Definition:
Operator.cpp:577
Operator::setTypeOfOperator
void setTypeOfOperator(int)
Definition:
Operator.cpp:58
Operator::getTypeOfOperator
int getTypeOfOperator()
Definition:
Operator.cpp:59
Operator::memory
ShortTermMemory memory
Definition:
Operator.h:126
Operator::hfe_bbn
HumanFailureEventsBBN hfe_bbn
Definition:
Operator.h:136
Operator::getPauseActivity
bool getPauseActivity()
Definition:
Operator.cpp:580
Operator::saveOperatorToFile
void saveOperatorToFile(std::ofstream &)
Definition:
Operator.cpp:964
ShortTermMemory::getWorkingMemory
InfoChunkMental * getWorkingMemory()
Definition:
ShortTermMemory.cpp:24
TimerAndProbability::setTimerAndProbability
void setTimerAndProbability(double, double)
Definition:
TimerAndProbability.cpp:25
sim::Decision::Goal
constexpr int Goal
Definition:
SimConstants.h:190
sim::Goal::MaintainGlobalSafetyMargin
constexpr int MaintainGlobalSafetyMargin
Definition:
SimConstants.h:160
sim::Operator::OCT
constexpr int OCT
Definition:
SimConstants.h:146
SimulationContext::Branch_center
BranchRecord Branch_center
Dynamic event tree state.
Definition:
SimulationContext.h:45
src
ADSIDAC
Crew
OperatorCT.cpp
Generated by
1.9.4