← Documentation
ADS-IDAC Engine 5.0.0
BranchProbability.cpp
Go to the documentation of this file.
1// BranchProbability.cpp: implementation of the BranchProbability class.
2//
4
5#include "BranchProbability.h"
6#include "../Scheduler/CommandControlCenter.h"
7#include "../Scheduler/AnalysisInfoContainer.h"
8#include "../Crew/OperatorDM.h"
9#include <boost/serialization/export.hpp>
10#include "../Global/SimulationContext.h"
11#include <boost/archive/binary_oarchive.hpp>
12#include <boost/archive/binary_iarchive.hpp>
13BOOST_CLASS_EXPORT_IMPLEMENT(BranchProbability)
14using namespace std;
15
17// Construction/Destruction
19
21 ID_of_this_branch = -999;
25 type_of_child = sim::None;//Branch Or ES
26}
27
30 child_IDs.clear();
31}
33 double b_probability = 1.0;
34 for (auto &e : goal) { b_probability *= e->getProbability(); }
35 for (auto &e : strategy) { b_probability *= e->getProbability(); }
36 for (auto &e : subgoal) { b_probability *= e->getProbability(); }
37 for (auto &e : diagnosis) { b_probability *= e->getProbability(); }
38 for (auto &e : action_objective) { b_probability *= e->getProbability(); }
39 for (auto &e : action_pack) { b_probability *= e->getProbability(); }
40 for (auto &e : action) { b_probability *= e->getProbability(); }
41 for (auto &e : alarm_state) { b_probability *= e->getProbability(); }
42 for (auto &e : component_state) { b_probability *= e->getProbability(); }
43 for (auto &e : support_system_state) { b_probability *= e->getProbability(); }
44 for (auto &e : parameter_trend) { b_probability *= e->getProbability(); }
45 for (auto &e : parameter_value) { b_probability *= e->getProbability(); }
46 for (auto &e : parameter_difference) { b_probability *= e->getProbability(); }
47 for (auto &e : procedure_step) { b_probability *= e->getProbability(); }
48 for (auto &e : instinctive_response_procedure) { b_probability *= e->getProbability(); }
49 for (auto &e : info_gather_mode) { b_probability *= e->getProbability(); }
50 for (auto &e : HW_reliability) { b_probability *= e->getProbability(); }
51 for (auto &e : SS_reliability) { b_probability *= e->getProbability(); }
52 for (auto &e : mental_belief) { b_probability *= e->getProbability(); }
53 for (auto &e : scanned_parameter) { b_probability *= e->getProbability(); }
54 Probability::setProbability(b_probability);
55}
56
59//void BranchProbability::setIThBranchInTheAssociatedBranchCluster(int n){i_th_branch_in_the_associated_branch_cluster = n;}
63}
66//int BranchProbability::getIThBranchInTheAssociatedBranchCluster(){return i_th_branch_in_the_associated_branch_cluster;}
69 // sets branch timing and adds branch to Command_handler
70 double ODM_action_time_multiplier, OAT_action_time_multiplier, OCT_action_time_multiplier, action_time_multiplier;
71 double time;
72 int sender, receiver;
73 string str;
74 //iterators: range-based for loops used below
75//
76
77// TODO: disabled for now
78// if (Decision_Maker.m_RM
79// != NULL) { Decision_Maker.m_RM->m_event_schema_base->UpdateTheBranchingHistory((void *) this); }
80//
81// if (Action_Taker.m_RM != NULL) { Action_Taker.m_RM->m_event_schema_base->UpdateTheBranchingHistory((void *) this); }
82 ODM_action_time_multiplier = g_sim.SScheduler.getODMActionTimeMultiplier();
83 OAT_action_time_multiplier = g_sim.SScheduler.getOATActionTimeMultiplier();
84 OCT_action_time_multiplier = g_sim.SScheduler.getOCTActionTimeMultiplier();
85 for (auto &e : goal) {
86 sender = e->getSender();
87 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
88 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
89 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
90 else { action_time_multiplier = 1.0; }
91 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
92 g_sim.Command_handler.addGoal(e, _associate_branch_ID);
93 }
94 for (auto &e : strategy) {
95 sender = e->getSender();
96 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
97 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
98 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
99 else { action_time_multiplier = 1.0; }
100 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
101 g_sim.Command_handler.addStrategy(e, _associate_branch_ID);
102 }
103 for (auto &e : subgoal) {
104 sender = e->getSender();
105 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
106 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
107 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
108 else { action_time_multiplier = 1.0; }
109 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
110 g_sim.Command_handler.addSubGoal(e, _associate_branch_ID);
111 }
112 for (auto &e : diagnosis) {
113 sender = e->getSender();
114 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
115 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
116 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
117 else { action_time_multiplier = 1.0; }
118 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
119 g_sim.Command_handler.addDiagnosis(e, _associate_branch_ID);
120 }
121 for (auto &e : action_objective) {
122 sender = e->getSender();
123 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
124 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
125 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
126 else { action_time_multiplier = 1.0; }
127 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
128 g_sim.Command_handler.addActionObjective(e, _associate_branch_ID);
129 }
130 for (auto &e : action_pack) {
131 sender = e->getSender();
132 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
133 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
134 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
135 else { action_time_multiplier = 1.0; }
136 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
137 g_sim.Command_handler.addActionPack(e, _associate_branch_ID);
138 }
139
140 for (auto &e : scanned_parameter) {
141 sender = e->getSender();
142 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
143 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
144 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
145 else { action_time_multiplier = 1.0; }
146 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
147 g_sim.Command_handler.addScannedParameter(e, _associate_branch_ID);
148 }
149
150 for (auto &e : action) {
151 sender = e->getSender();
152 receiver = e->getIntendedReceiver();
153 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
154 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
155 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
156 else { action_time_multiplier = 1.0; }
157 //
158 if (receiver == sim::Source::Plant) {
159 time = e->getActionTime();
160 e->setBothTotalTimeRequiredAndRemainingTime(time * action_time_multiplier);
161 } else if (sender == sim::Operator::ODM && receiver == sim::Operator::OAT) {
162 e->setBothTotalTimeRequiredAndRemainingTime(
163 g_sim.Decision_Maker.getNominalCommunicationTime() * action_time_multiplier);
164 } else if (sender == sim::Operator::OAT && receiver == sim::Operator::ODM) {
165 e->setBothTotalTimeRequiredAndRemainingTime(
166 g_sim.Action_Taker.getNominalCommunicationTime() * action_time_multiplier);
167 } else {//
168 //
169 // sender is the receiver - used for "Waiting" action steps to simulate time delay
170 e->setBothTotalTimeRequiredAndRemainingTime(
171 (e->getTotalTimeRequired()) * action_time_multiplier);
172 }
173 //
174 g_sim.Command_handler.addAction(e, _associate_branch_ID);
175 }
176 for (auto &e : alarm_state) {
177 sender = e->getSender();
178 receiver = e->getIntendedReceiver();
179 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
180 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
181 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
182 else { action_time_multiplier = 1.0; }
183 if (sender == sim::Operator::ODM && receiver == sim::Operator::OAT) {
184 e->setBothTotalTimeRequiredAndRemainingTime(
185 g_sim.Decision_Maker.getNominalCommunicationTime() * action_time_multiplier);
186 } else if (sender == sim::Operator::OAT && receiver == sim::Operator::ODM) {
187 e->setBothTotalTimeRequiredAndRemainingTime(
188 g_sim.Action_Taker.getNominalCommunicationTime() * action_time_multiplier);
189 } else if (sender == receiver) {
190 e->setBothTotalTimeRequiredAndRemainingTime(0.0);
191 } else if (sender == sim::Operator::ODM && receiver == sim::Source::Plant)
192 {}// the timer is already set when the branch is created
193 else {
194 time = e->calculateMeanRequiredTime();
195 e->setBothTotalTimeRequiredAndRemainingTime(time * action_time_multiplier);
196 }
197 g_sim.Command_handler.addExpectedAlarmState(e, _associate_branch_ID);
198 }
199 for (auto &e : component_state) {
200 sender = e->getSender();
201 receiver = e->getIntendedReceiver();
202 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
203 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
204 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
205 else { action_time_multiplier = 1.0; }
206 if (sender == sim::Operator::ODM && receiver == sim::Operator::OAT) {
207 e->setBothTotalTimeRequiredAndRemainingTime(
208 g_sim.Decision_Maker.getNominalCommunicationTime() * action_time_multiplier);
209 } else if (sender == sim::Operator::OAT && receiver == sim::Operator::ODM) {
210 e->setBothTotalTimeRequiredAndRemainingTime(
211 g_sim.Action_Taker.getNominalCommunicationTime() * action_time_multiplier);
212 } else if (sender == receiver) {
213 e->setBothTotalTimeRequiredAndRemainingTime(0.0);
214 } else if (sender == sim::Operator::ODM && receiver == sim::Source::Plant)
215 {}// the timer is already set when the branch is created
216 else {
217 time = e->calculateMeanRequiredTime();
218 e->setBothTotalTimeRequiredAndRemainingTime(time * action_time_multiplier);
219 }
220 g_sim.Command_handler.addExpectedComponentState(e, _associate_branch_ID);
221 }
222 for (auto &e : support_system_state) {
223 sender = e->getSender();
224 receiver = e->getIntendedReceiver();
225 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
226 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
227 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
228 else { action_time_multiplier = 1.0; }
229 if (sender == sim::Operator::ODM && receiver == sim::Operator::OAT) {
230 e->setBothTotalTimeRequiredAndRemainingTime(
231 g_sim.Decision_Maker.getNominalCommunicationTime() * action_time_multiplier);
232 } else if (sender == sim::Operator::OAT && receiver == sim::Operator::ODM) {
233 e->setBothTotalTimeRequiredAndRemainingTime(
234 g_sim.Action_Taker.getNominalCommunicationTime() * action_time_multiplier);
235 } else if (sender == receiver) {
236 e->setBothTotalTimeRequiredAndRemainingTime(0.0);
237 } else if (sender == sim::Operator::ODM && receiver == sim::Source::Plant)
238 {}// the timer is already set when the branch is created
239 else {
240 time = e->calculateMeanRequiredTime();
241 e->setBothTotalTimeRequiredAndRemainingTime(time * action_time_multiplier);
242 }
244 }
245 for (auto &e : parameter_trend) {
246 sender = e->getSender();
247 receiver = e->getIntendedReceiver();
248 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
249 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
250 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
251 else { action_time_multiplier = 1.0; }
252 if (sender == sim::Operator::ODM && receiver == sim::Operator::OAT) {
253 e->setBothTotalTimeRequiredAndRemainingTime(
254 g_sim.Decision_Maker.getNominalCommunicationTime() * action_time_multiplier);
255 } else if (sender == sim::Operator::OAT && receiver == sim::Operator::ODM) {
256 e->setBothTotalTimeRequiredAndRemainingTime(
257 g_sim.Action_Taker.getNominalCommunicationTime() * action_time_multiplier);
258 } else if (sender == receiver) {
259 e->setBothTotalTimeRequiredAndRemainingTime(0.0);
260 } else {
261 time = e->calculateMeanRequiredTime();
262 e->setBothTotalTimeRequiredAndRemainingTime(time * action_time_multiplier);
263 }
264 g_sim.Command_handler.addExpectedParameterTrend(e, _associate_branch_ID);
265 }
266 for (auto &e : parameter_value) {
267 sender = e->getSender();
268 receiver = e->getIntendedReceiver();
269 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
270 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
271 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
272 else { action_time_multiplier = 1.0; }
273 if (sender == sim::Operator::ODM && receiver == sim::Operator::OAT) {
274 e->setBothTotalTimeRequiredAndRemainingTime(
275 g_sim.Decision_Maker.getNominalCommunicationTime() * action_time_multiplier);
276 } else if (sender == sim::Operator::OAT && receiver == sim::Operator::ODM) {
277 e->setBothTotalTimeRequiredAndRemainingTime(
278 g_sim.Action_Taker.getNominalCommunicationTime() * action_time_multiplier);
279 } else if (sender == receiver) {
280 e->setBothTotalTimeRequiredAndRemainingTime(0.0);
281 } else if (sender == sim::Operator::ODM && receiver == sim::Source::Plant)
282 {}// the timer is already set when the branch is created
283 else {
284 time = e->calculateMeanRequiredTime();
285 e->setBothTotalTimeRequiredAndRemainingTime(time * action_time_multiplier);
286 }
287 g_sim.Command_handler.addExpectedParameterValue(e, _associate_branch_ID);
288 }
289 for (auto &e : parameter_difference) {
290 sender = e->getSender();
291 receiver = e->getIntendedReceiver();
292 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
293 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
294 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
295 else { action_time_multiplier = 1.0; }
296 if (sender == sim::Operator::ODM && receiver == sim::Operator::OAT) {
297 e->setBothTotalTimeRequiredAndRemainingTime(
298 g_sim.Decision_Maker.getNominalCommunicationTime() * action_time_multiplier);
299 } else if (sender == sim::Operator::OAT && receiver == sim::Operator::ODM) {
300 e->setBothTotalTimeRequiredAndRemainingTime(
301 g_sim.Action_Taker.getNominalCommunicationTime() * action_time_multiplier);
302 } else if (sender == receiver) {
303 e->setBothTotalTimeRequiredAndRemainingTime(0.0);
304 } else {
305 time = e->calculateMeanRequiredTime();
306 e->setBothTotalTimeRequiredAndRemainingTime(time * action_time_multiplier);
307 }
309 }
310 for (auto &e : procedure_step) {
311 sender = e->getSender();
312 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
313 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
314 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
315 else { action_time_multiplier = 1.0; }
316 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
317 g_sim.Command_handler.addProcedureStep(e, _associate_branch_ID);
318 }
319 for (auto &e : instinctive_response_procedure) {
320 sender = e->getSender();
321 if (sender == sim::Operator::ODM) { action_time_multiplier = ODM_action_time_multiplier; }
322 else if (sender == sim::Operator::OAT) { action_time_multiplier = OAT_action_time_multiplier; }
323 else if (sender == sim::Operator::OCT) { action_time_multiplier = OCT_action_time_multiplier; }
324 else { action_time_multiplier = 1.0; }
325 e->setBothTotalTimeRequiredAndRemainingTime(e->getRemainingTime() * action_time_multiplier);
327 }
328 for (auto &e : info_gather_mode) {
329 e->setBothTotalTimeRequiredAndRemainingTime(-1.0);
330 g_sim.Command_handler.addInfoGatherMode(e, _associate_branch_ID);
331 }
332 for (auto &e : mental_belief) {
333 g_sim.Command_handler.addMentalBelief(e, _associate_branch_ID);
334 }
335 for (auto &e : HW_reliability) {
336 g_sim.Command_handler.addHWReliability(e, _associate_branch_ID);
337 }
338 for (auto &e : SS_reliability) {
339 g_sim.Command_handler.addSSReliability(e, _associate_branch_ID);
340 }
341 for (auto &e : new_alarm) {
342 g_sim.Command_handler.addNewAlarm(e, _associate_branch_ID);
343 }
344}
349}
354 << ' '
356 this->saveProbabilityToFile(fout);
358 this->saveStateOfActivationToFile(fout);
359}
366}
372 type_of_child = _bp.getTypeOfChild();//Branch Or ES
373 this->copyProbability(_bp);
374 this->copyStateOfActivation(_bp);
375 this->copyCommunicationPlace(_bp);
376
377}
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
document e
One alternative of a BranchCluster, i.e. one PE node of the DET.
void calculateProbability()
Sets the conditional probability to the product of the probabilities of every content item this alter...
double unconditional_branch_probability
void copyBranchProbability(BranchProbability &)
Copies the IDs, probabilities, child type, state of activation and content of another alternative....
double getUnconditionalBranchProbability()
void saveBranchProbabilityToFile(std::ofstream &)
Writes the IDs, unconditional probability and child type, then the Probability, CommunicationPlace an...
BranchProbability()
Constructs an alternative with all IDs -999, unconditional probability -1.0 and child type sim::None.
void setUnconditionalBranchProbability(double)
void retrieveBranchProbabilityFromFile(std::ifstream &)
Reads the layout written by saveBranchProbabilityToFile.
void setTypeOfChild(int)
Sets the kind of node that follows this alternative: sim::Branch::Branch (a child cluster) or sim::Br...
void calUnconditionalBranchProbability(double)
Sets the unconditional probability to x times the conditional probability.
void setIDOfTheChildBranchCluster(int)
Sets the ID of the node that follows this alternative: the child cluster ID, or the end state ID when...
std::vector< int > child_IDs
void setIDOfTheAssociatedBranchCluster(int)
int getIDOfTheAssociatedBranchCluster()
void sendBranchInfoToCommandCenter(int)
Hands the content of this alternative to the command center (g_sim.Command_handler)....
void saveInfoToFile(std::ostream &)
Writes the content of this alternative in the PE node text form (CommunicationPlace::saveInfoToFileAs...
std::vector< std::shared_ptr< BranchSubGoal > > subgoal
Definition: BranchUnit.h:55
std::vector< std::shared_ptr< BranchExpectedParameterTrend > > parameter_trend
Definition: BranchUnit.h:63
std::vector< std::shared_ptr< BranchInfoGatherMode > > info_gather_mode
Definition: BranchUnit.h:68
std::vector< std::shared_ptr< BranchProcedureStep > > instinctive_response_procedure
Definition: BranchUnit.h:67
std::vector< std::shared_ptr< BranchGoal > > goal
Definition: BranchUnit.h:53
std::vector< std::shared_ptr< BranchActionPack > > action_pack
Definition: BranchUnit.h:58
std::vector< std::shared_ptr< BranchExpectedSupportSystemState > > support_system_state
Definition: BranchUnit.h:62
std::vector< std::shared_ptr< BranchExpectedParameterDifference > > parameter_difference
Definition: BranchUnit.h:65
std::vector< std::shared_ptr< BranchDiagnosis > > diagnosis
Definition: BranchUnit.h:56
std::vector< std::shared_ptr< BranchExpectedMentalBelief > > mental_belief
Definition: BranchUnit.h:69
std::vector< std::shared_ptr< BranchExpectedParameterValue > > parameter_value
Definition: BranchUnit.h:64
std::vector< std::shared_ptr< BranchScannedParameter > > scanned_parameter
Definition: BranchUnit.h:70
std::vector< std::shared_ptr< BranchExpectedComponentState > > component_state
Definition: BranchUnit.h:61
std::vector< std::shared_ptr< BranchStrategy > > strategy
Definition: BranchUnit.h:54
std::vector< std::shared_ptr< BranchProcedureStep > > procedure_step
Definition: BranchUnit.h:66
std::vector< std::shared_ptr< BranchExpectedAlarmState > > alarm_state
Definition: BranchUnit.h:60
std::vector< std::shared_ptr< BranchAction > > action
Definition: BranchUnit.h:59
std::vector< std::shared_ptr< BranchActionObjective > > action_objective
Definition: BranchUnit.h:57
void addNewAlarm(const std::shared_ptr< BranchSystemAlarmState > &, int)
void addSubGoal(const std::shared_ptr< BranchSubGoal > &, int)
void addExpectedParameterTrend(const std::shared_ptr< BranchExpectedParameterTrend > &, int)
void addDiagnosis(const std::shared_ptr< BranchDiagnosis > &, int)
void addActionObjective(const std::shared_ptr< BranchActionObjective > &, int)
void addExpectedParameterValue(const std::shared_ptr< BranchExpectedParameterValue > &, int)
void addActionPack(const std::shared_ptr< BranchActionPack > &, int)
void addExpectedComponentState(const std::shared_ptr< BranchExpectedComponentState > &, int)
void addExpectedSupportSystemState(const std::shared_ptr< BranchExpectedSupportSystemState > &, int)
void addSSReliability(const std::shared_ptr< BranchSupportSystemAction > &, int)
void addHWReliability(const std::shared_ptr< BranchSystemAction > &, int)
void addAction(const std::shared_ptr< BranchAction > &, int)
void addExpectedAlarmState(const std::shared_ptr< BranchExpectedAlarmState > &, int)
void addMentalBelief(const std::shared_ptr< BranchExpectedMentalBelief > &, int)
void addExpectedParameterDifference(const std::shared_ptr< BranchExpectedParameterDifference > &, int)
void addStrategy(const std::shared_ptr< BranchStrategy > &, int)
void addInstinctiveResponseProcedure(const std::shared_ptr< BranchProcedureStep > &, int)
void addScannedParameter(const std::shared_ptr< BranchScannedParameter > &, int)
void addInfoGatherMode(const std::shared_ptr< BranchInfoGatherMode > &, int)
void addProcedureStep(const std::shared_ptr< BranchProcedureStep > &, int)
void addGoal(const std::shared_ptr< BranchGoal > &, int)
std::vector< std::shared_ptr< BranchSystemAction > > HW_reliability
std::vector< std::shared_ptr< BranchSystemAlarmState > > new_alarm
void retrieveCommunicationPlaceFromFile(std::ifstream &)
std::vector< std::shared_ptr< BranchSupportSystemAction > > SS_reliability
void saveInfoToFileAsBranchForADSV1(std::ostream &)
void copyCommunicationPlace(CommunicationPlace &)
void saveCommunicationPlaceToFile(std::ofstream &)
double getNominalCommunicationTime()
Definition: Operator.cpp:790
double getProbability()
Definition: Probability.cpp:27
void copyProbability(Probability &)
Definition: Probability.cpp:28
void setProbability(double)
Definition: Probability.cpp:26
void saveProbabilityToFile(std::ofstream &)
Definition: Probability.cpp:34
void retrieveProbabilityFromFile(std::ifstream &)
Definition: Probability.cpp:39
double getODMActionTimeMultiplier()
Definition: Scheduler.cpp:792
double getOATActionTimeMultiplier()
Definition: Scheduler.cpp:798
double getOCTActionTimeMultiplier()
Definition: Scheduler.cpp:804
void saveStateOfActivationToFile(std::ofstream &)
void retrieveStateOfActivationFromFile(std::ifstream &)
void copyStateOfActivation(StateOfActivation &)
constexpr int OCT
Definition: SimConstants.h:146
constexpr int ODM
Definition: SimConstants.h:145
constexpr int OAT
Definition: SimConstants.h:144
constexpr int Plant
Definition: SimConstants.h:135
constexpr int None
Definition: SimConstants.h:75
Scheduler SScheduler
Simulation scheduling, parses CLI options.
OperatorAT Action_Taker
Crew action execution model.
OperatorDM Decision_Maker
Crew decision-making model.
CommandControlCenter Command_handler
Command/control dispatch.