← Documentation
ADS-IDAC Engine 5.0.0
KBHardWiredUnit.cpp
Go to the documentation of this file.
1// KBHardWiredUnit.cpp: implementation of the KBHardWiredUnit class.
2//
4
5#include "KBHardWiredUnit.h"
6#include <boost/serialization/export.hpp>
7#include <boost/archive/binary_oarchive.hpp>
8#include <boost/archive/binary_iarchive.hpp>
9#include "../Global/SimulationContext.h"
10BOOST_CLASS_EXPORT_IMPLEMENT(KBHardWiredUnit)
11using namespace std;
12
13
15// Construction/Destruction
17
19 confidence_level = 0.0;
30}
31
38 expected_control.clear();
41}
43 string str;
44 int i, n, n_seq;
45 double trigger_probability, event_probability;
46 double act_t_minimum, act_alpha_parameter, act_beta_parameter;
47 double react_t_minimum, react_alpha_parameter, react_beta_parameter;
48// KBExpectedParameterTrendUnit * expected_parameter_trend_pt;
49 fin >> n_seq;
51 fin >> str >> trigger_probability
52 >> str >> event_probability
53 >> str >> act_t_minimum >> act_alpha_parameter >> act_beta_parameter
54 >> str >> react_t_minimum >> react_alpha_parameter >> react_beta_parameter
55 >> str >> n;
56 this->activation_probability.setProbability(trigger_probability);
57 this->branch_probability.setProbability(event_probability);
58 this->activation_delay.setT_Minimum(act_t_minimum);
59 this->activation_delay.setAlpha_Weibull(act_alpha_parameter);
60 this->activation_delay.setBeta_Weibull(act_beta_parameter);
61 this->dormancy_time.setT_Minimum(react_t_minimum);
62 this->dormancy_time.setAlpha_Weibull(react_alpha_parameter);
63 this->dormancy_time.setBeta_Weibull(react_beta_parameter);
64 for (i = 0; i < n; i++) {
65 auto expected_alarm_state_pt = make_unique<KBExpectedAlarmStateUnit>();
66 expected_alarm_state_pt->readInfoFromFile(fin);
67 expected_alarm_state.push_back(std::move(expected_alarm_state_pt));
69 }
70 fin >> str >> n;
71 for (i = 0; i < n; i++) {
72 auto expected_component_state_pt = make_unique<KBExpectedComponentStateUnit>();
73 expected_component_state_pt->readInfoFromFile(fin);
74 expected_component_state.push_back(std::move(expected_component_state_pt));
76 }
77 /*fin >> str >> n;
78 for (i = 0; i < n; i++) {
79 expected_support_system_state_pt = new KBExpectedSupportSystemStateUnit();
80 expected_support_system_state_pt->readInfoFromFile(fin);
81 expected_support_system_state.push_back(expected_support_system_state_pt);
82 total_number_of_expectation++;
83 }*/
84 fin >> str >> n;
85 for (i = 0; i < n; i++) {
86 auto expected_parameter_value_pt = make_unique<KBExpectedParameterValueUnit>();
87 expected_parameter_value_pt->readInfoFromFile(fin);
88 expected_parameter_value.push_back(std::move(expected_parameter_value_pt));
90 }
91 fin >> str >> n;
92 for (i = 0; i < n; i++) {
93 auto control_pt = make_unique<HardWiredControlActivity>();
94 control_pt->readInfoFromFile(fin);
95 expected_control.push_back(std::move(control_pt));
97 }
98 fin >> str >> n;
99 for (i = 0; i < n; i++) {
100 auto mental_belief_pt = make_unique<HardWiredMentalBelief>();
101 mental_belief_pt->readInfoFromFile(fin);
102 expected_mental_belief.push_back(std::move(mental_belief_pt));
104 }
105/* fin >> str >> n;
106 for(i = 0; i < n; i ++){
107 expected_parameter_trend_pt = new KBExpectedParameterTrendUnit();
108 expected_parameter_trend_pt->readInfoFromFile(fin);
109 expected_parameter_trend.push_back(expected_parameter_trend_pt);
110 total_number_of_expectation++;
111 }*/
112 fin >> str >> n;
113 for (i = 0; i < n; i++) {
114 auto expected_procedure_activity_pt = make_unique<HardWiredProcedureActivity>();
115 expected_procedure_activity_pt->readInfoFromFile(fin);
116 expected_procedure_activity.push_back(std::move(expected_procedure_activity_pt));
118 }
119 //
120 fin >> str >> n;
122 //
124}
125
127 int n_fulfilled = 0;
128 int n_return;
129
138
140 for (auto& elem : expected_alarm_state) {
141 n_return = elem->getStateOfExpectation();
142 if (n_return == sim::State::Succeed) { number_of_fulfilled_alarm_state++; n_fulfilled++; }
143 }
144 for (auto& elem : expected_component_state) {
145 n_return = elem->getStateOfExpectation();
146 if (n_return == sim::State::Succeed) { number_of_fulfilled_component_state++; n_fulfilled++; }
147 }
148 for (auto& elem : expected_support_system_state) {
149 n_return = elem->getStateOfExpectation();
150 if (n_return == sim::State::Succeed) { number_of_fulfilled_support_system_state++; n_fulfilled++; }
151 }
152 for (auto& elem : expected_parameter_value) {
153 n_return = elem->getStateOfExpectation();
154 if (n_return == sim::State::Succeed) { number_of_fulfilled_parameter_value++; n_fulfilled++; }
155 }
156 for (auto& elem : expected_parameter_trend) {
157 n_return = elem->getStateOfExpectation();
158 if (n_return == sim::State::Succeed) { number_of_fulfilled_parameter_trend++; n_fulfilled++; }
159 }
160 for (auto& elem : expected_control) {
161 n_return = elem->getStateOfExpectation();
162 if (n_return == sim::State::Succeed) { number_of_fulfilled_control++; n_fulfilled++; }
163 }
164 for (auto& elem : expected_mental_belief) {
165 n_return = elem->getStateOfExpectation();
166 if (n_return == sim::State::Succeed) { number_of_fulfilled_mental_belief++; n_fulfilled++; }
167 }
168 for (auto& elem : expected_procedure_activity) {
169 n_return = elem->getStateOfExpectation();
170 if (n_return == sim::State::Succeed) { number_of_fulfilled_procedure_activity++; n_fulfilled++; }
171 }
172 confidence_level = (double) n_fulfilled / ((double) total_number_of_expectation + 0.00001);
173 if (confidence_level < 0.0) confidence_level = 0.0;
174};
175
183 + expected_control.size()
185}
187 int n_fulfilled;
189
198//
199// the small offset on total_number_of_expectation prevents a divide by zero when no expectations are specified
200 confidence_level = (double) n_fulfilled / ((double) total_number_of_expectation + 0.00001);
201//
202 if (confidence_level < 0.0) confidence_level = 0.0;
203 return confidence_level;
204}
205void KBHardWiredUnit::checkForAlarmState(string _alarm_name, int _alarm_state) {
206 int n_return;
207 for (auto& elem : expected_alarm_state) {
208 n_return = elem->checkForMatch(_alarm_name, _alarm_state);
209 // n_return can take values from -2 to +2 depending on the value of the ExpectationElement state_of_expectation
210 // in order to correctly evalute the number of fulfilled parameters, need to ensure that n_return
211 // is confined to the range of -1 to +1.
212 if (n_return > 1) { n_return = 1; }
213 if (n_return < -1) { n_return = -1; }
215 }
216}
217void KBHardWiredUnit::checkForComponentState(string _comp_name, int _comp_state) {
218 int n_return;
219 for (auto& elem : expected_component_state) {
220 n_return = elem->checkForMatch(_comp_name, _comp_state);
221 if (n_return > 1) { n_return = 1; }
222 if (n_return < -1) { n_return = -1; }
224 }
225}
226void KBHardWiredUnit::checkForSupportSystemState(string _ss_name, int _ss_state) {
227 int n_return;
228 for (auto& elem : expected_support_system_state) {
229 n_return = elem->checkForMatch(_ss_name, _ss_state);
230 if (n_return > 1) { n_return = 1; }
231 if (n_return < -1) { n_return = -1; }
233 }
234}
235void KBHardWiredUnit::checkForParameterValue(string _par_name, double _par_value, int _operator) {
236 int n_return;
237 for (auto& elem : expected_parameter_value) {
238 n_return = elem->checkForMatch(_par_name, _par_value, _operator);
239 if (n_return > 1) { n_return = 1; }
240 if (n_return < -1) { n_return = -1; }
242 }
243}
244void KBHardWiredUnit::checkForParameterTrend(string _par_name, int _par_trend) {
245 int n_return;
246 for (auto& elem : expected_parameter_trend) {
247 n_return = elem->checkForMatch(_par_name, _par_trend);
248 if (n_return > 1) { n_return = 1; }
249 if (n_return < -1) { n_return = -1; }
251 }
252}
253void KBHardWiredUnit::checkForControl(string _ctrl_name, double _ctrl_value) {
254 int n_return;
255 for (auto& elem : expected_control) {
256 n_return = elem->checkForMatch(_ctrl_name, _ctrl_value);
257 if (n_return > 1) { n_return = 1; }
258 if (n_return < -1) { n_return = -1; }
259 number_of_fulfilled_control += n_return;
260 }
261}
262void KBHardWiredUnit::checkForMentalBelief(string _name, int _state) {
263 int n_return;
264 for (auto& elem : expected_mental_belief) {
265 n_return = elem->checkForMatch(_name, _state);
266 if (n_return > 1) { n_return = 1; }
267 if (n_return < -1) { n_return = -1; }
269 }
270}
271void KBHardWiredUnit::checkForProcedureActivity(string _name, int _state) {
272 int n_return;
273 for (auto& elem : expected_procedure_activity) {
274 n_return = elem->checkForMatch(_name, _state);
275 if (n_return > 1) { n_return = 1; }
276 if (n_return < -1) { n_return = -1; }
278 }
279}
281 this->copyKBElement(_hwp);
282 this->copyStateOfActivation(_hwp);
283 this->copyProcedureStepInfo(_hwp);
299 for (auto& src : _hwp.expected_alarm_state) {
300 auto pt = make_unique<KBExpectedAlarmStateUnit>();
301 pt->copyKBExpectedAlarmStateUnit(*src);
302 expected_alarm_state.push_back(std::move(pt));
303 }
304 for (auto& src : _hwp.expected_component_state) {
305 auto pt = make_unique<KBExpectedComponentStateUnit>();
306 pt->copyKBExpectedComponentStateUnit(*src);
307 expected_component_state.push_back(std::move(pt));
308 }
309 for (auto& src : _hwp.expected_support_system_state) {
310 auto pt = make_unique<KBExpectedSupportSystemStateUnit>();
311 pt->copyKBExpectedSupportSystemStateUnit(*src);
312 expected_support_system_state.push_back(std::move(pt));
313 }
314 for (auto& src : _hwp.expected_parameter_value) {
315 auto pt = make_unique<KBExpectedParameterValueUnit>();
316 pt->copyKBExpectedParameterValueUnit(*src);
317 expected_parameter_value.push_back(std::move(pt));
318 }
319 for (auto& src : _hwp.expected_parameter_trend) {
320 auto pt = make_unique<KBExpectedParameterTrendUnit>();
321 pt->copyKBExpectedParameterTrendUnit(*src);
322 expected_parameter_trend.push_back(std::move(pt));
323 }
324 for (auto& src : _hwp.expected_control) {
325 auto pt = make_unique<HardWiredControlActivity>();
326 pt->copyHardWiredControlActivity(*src);
327 expected_control.push_back(std::move(pt));
328 }
329 for (auto& src : _hwp.expected_mental_belief) {
330 auto pt = make_unique<HardWiredMentalBelief>();
331 pt->copyHardWiredMentalBelief(*src);
332 expected_mental_belief.push_back(std::move(pt));
333 }
334 for (auto& src : _hwp.expected_procedure_activity) {
335 auto pt = make_unique<HardWiredProcedureActivity>();
336 pt->copyHardWiredProcedureActivity(*src);
337 expected_procedure_activity.push_back(std::move(pt));
338 }
339}
361 int i, num;
362 fout << "KBHardWiredUnit ";
363 this->saveKBElementToFile(fout);
364 fout << confidence_level << ' '
374 << mental_procedure_priority << '\n';
375 num = this->expected_alarm_state.size();
376 fout << num << '\n';
377 for (i = 0; i < num; i++) {
378 this->expected_alarm_state.at(i)->saveKBExpectedAlarmStateUnitToFile(fout);
379 }
380 num = this->expected_component_state.size();
381 fout << num << '\n';
382 for (i = 0; i < num; i++) {
383 this->expected_component_state.at(i)->saveKBExpectedComponentStateUnitToFile(fout);
384 }
385 num = this->expected_support_system_state.size();
386 fout << num << '\n';
387 for (i = 0; i < num; i++) {
388 this->expected_support_system_state.at(i)->saveKBExpectedSupportSystemStateUnitToFile(fout);
389 }
390 num = this->expected_parameter_value.size();
391 fout << num << '\n';
392 for (i = 0; i < num; i++) {
393 this->expected_parameter_value.at(i)->saveKBExpectedParameterValueUnitToFile(fout);
394 }
395 num = this->expected_parameter_trend.size();
396 fout << num << '\n';
397 for (i = 0; i < num; i++) {
398 this->expected_parameter_trend.at(i)->saveKBExpectedParameterTrendUnitToFile(fout);
399 }
400 num = this->expected_control.size();
401 fout << num << '\n';
402 for (i = 0; i < num; i++) {
403 this->expected_control.at(i)->saveHardWiredControlActivityToFile(fout);
404 }
405 num = this->expected_mental_belief.size();
406 fout << num << '\n';
407 for (i = 0; i < num; i++) {
408 this->expected_mental_belief.at(i)->saveHardWiredMentalBeliefToFile(fout);
409 }
410 num = this->expected_procedure_activity.size();
411 fout << num << '\n';
412 for (i = 0; i < num; i++) {
413 this->expected_procedure_activity.at(i)->saveHardWiredProcedureActivityToFile(fout);
414 }
415 this->saveStateOfActivationToFile(fout);
416 this->saveProcedureStepInfoToFile(fout);
417// this->saveTimerToFile(fout);
419 this->dormancy_time.saveTimerToFile(fout);
421 this->branch_probability.saveProbabilityToFile(fout); // now included in ProcedureProcedureStepUnit
422 fout << '\n';
423}
425 int i, num;
426 string str;
427 fin >> str;
428 if (str != "KBHardWiredUnit") {
429 ofstream fout("err messages.txt", ios::app);
430 cout << "KBHardWiredUnit::retrieveKBHardWiredUnitFromFile error in previous function" << endl;
431 fout << r5pars_.timesno
432 << " KBHardWiredUnit::retrieveKBHardWiredUnitFromFile retrieval error in previous function\n";
433 fout.close();
434 r5pars_.sim_err = true;
435 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
437 return;
438 }
439 this->retrieveKBElementFromFile(fin);
440 fin >> confidence_level
451 fin >> num;
452 for (i = 0; i < num; i++) {
453 auto expected_alarm_state_pt = make_unique<KBExpectedAlarmStateUnit>();
454 expected_alarm_state_pt->retrieveKBExpectedAlarmStateUnitFromFile(fin);
455 if (r5pars_.sim_err) {
456 ofstream fout("err messages.txt", ios::app);
457 cout << "Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedAlarmStateUnit loop " << i << endl;
458 fout << r5pars_.timesno
459 << " Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedAlarmStateUnit loop " << i << '\n';
460 fout.close();
461 r5pars_.sim_err = true;
462 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
464 return;
465 }
466 expected_alarm_state.push_back(std::move(expected_alarm_state_pt));
467 }
468 fin >> num;
469 for (i = 0; i < num; i++) {
470 auto expected_component_state_pt = make_unique<KBExpectedComponentStateUnit>();
471 expected_component_state_pt->retrieveKBExpectedComponentStateUnitFromFile(fin);
472 if (r5pars_.sim_err) {
473 ofstream fout("err messages.txt", ios::app);
474 cout << "Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedComponentStateUnit loop " << i << endl;
475 fout << r5pars_.timesno
476 << " Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedComponentStateUnit loop " << i
477 << '\n';
478 fout.close();
479 r5pars_.sim_err = true;
480 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
482 return;
483 }
484 expected_component_state.push_back(std::move(expected_component_state_pt));
485 }
486 fin >> num;
487 for (i = 0; i < num; i++) {
488 auto expected_support_system_state_pt = make_unique<KBExpectedSupportSystemStateUnit>();
489 expected_support_system_state_pt->retrieveKBExpectedSupportSystemStateUnitFromFile(fin);
490 if (r5pars_.sim_err) {
491 ofstream fout("err messages.txt", ios::app);
492 cout << "Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedSupportSystemStateUnit loop " << i << endl;
493 fout << r5pars_.timesno
494 << " Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedSupportSystemStateUnit loop " << i
495 << '\n';
496 fout.close();
497 r5pars_.sim_err = true;
498 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
500 return;
501 }
502 expected_support_system_state.push_back(std::move(expected_support_system_state_pt));
503 }
504 fin >> num;
505 for (i = 0; i < num; i++) {
506 auto expected_parameter_value_pt = make_unique<KBExpectedParameterValueUnit>();
507 expected_parameter_value_pt->retrieveKBExpectedParameterValueUnitFromFile(fin);
508 if (r5pars_.sim_err) {
509 ofstream fout("err messages.txt", ios::app);
510 cout << "Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedParameterValueUnit loop " << i << endl;
511 fout << r5pars_.timesno
512 << " Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedParameterValueUnit loop " << i
513 << '\n';
514 fout.close();
515 r5pars_.sim_err = true;
516 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
518 return;
519 }
520 expected_parameter_value.push_back(std::move(expected_parameter_value_pt));
521 }
522 fin >> num;
523 for (i = 0; i < num; i++) {
524 auto expected_parameter_trend_pt = make_unique<KBExpectedParameterTrendUnit>();
525 expected_parameter_trend_pt->retrieveKBExpectedParameterTrendUnitFromFile(fin);
526 if (r5pars_.sim_err) {
527 ofstream fout("err messages.txt", ios::app);
528 cout << "Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedParameterTrendUnit loop " << i << endl;
529 fout << r5pars_.timesno
530 << " Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->KBExpectedParameterTrendUnit loop " << i
531 << '\n';
532 fout.close();
533 r5pars_.sim_err = true;
534 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
536 return;
537 }
538 expected_parameter_trend.push_back(std::move(expected_parameter_trend_pt));
539 }
540 fin >> num;
541 for (i = 0; i < num; i++) {
542 auto expected_control_pt = make_unique<HardWiredControlActivity>();
543 expected_control_pt->retrieveHardWiredControlActivityFromFile(fin);
544 if (r5pars_.sim_err) {
545 ofstream fout("err messages.txt", ios::app);
546 cout << "Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->HardWiredControlActivity loop " << i << endl;
547 fout << r5pars_.timesno
548 << " Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->HardWiredControlActivity loop " << i << '\n';
549 fout.close();
550 r5pars_.sim_err = true;
551 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
553 return;
554 }
555 expected_control.push_back(std::move(expected_control_pt));
556 }
557 fin >> num;
558 for (i = 0; i < num; i++) {
559 auto expected_mental_belief_pt = make_unique<HardWiredMentalBelief>();
560 expected_mental_belief_pt->retrieveHardWiredMentalBeliefFromFile(fin);
561 if (r5pars_.sim_err) {
562 ofstream fout("err messages.txt", ios::app);
563 cout << "Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->HardWiredMentalBelief loop " << i << endl;
564 fout << r5pars_.timesno << " Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->HardWiredMentalBelief loop "
565 << i << '\n';
566 fout.close();
567 r5pars_.sim_err = true;
568 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
570 return;
571 }
572 expected_mental_belief.push_back(std::move(expected_mental_belief_pt));
573 }
574 fin >> num;
575 for (i = 0; i < num; i++) {
576 auto expected_procedure_activity_pt = make_unique<HardWiredProcedureActivity>();
577 expected_procedure_activity_pt->retrieveHardWiredProcedureActivityFromFile(fin);
578 if (r5pars_.sim_err) {
579 ofstream fout("err messages.txt", ios::app);
580 cout << "Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->HardWiredProcedureActivity loop " << i << endl;
581 fout << r5pars_.timesno
582 << " Err: KBHardWiredUnit::retrieveKBHardWiredUnitFromFile->HardWiredProcedureActivity loop " << i << '\n';
583 fout.close();
584 r5pars_.sim_err = true;
585 g_sim.Branch_center.setTempESMessage("KBHardWiredUnit::retrieveKBHardWiredUnitFromFile err.");
587 return;
588 }
589 expected_procedure_activity.push_back(std::move(expected_procedure_activity_pt));
590 }
593// this->retrieveTimerFromFile(fin);
598}
599#include <boost/archive/binary_oarchive.hpp>
600#include <boost/archive/binary_iarchive.hpp>
601#include <stdexcept>
602
603namespace {
604template <class V>
605void hw_vec_state_save(boost::archive::binary_oarchive& ar, const V& v) {
606 const uint32_t n = static_cast<uint32_t>(v.size());
607 ar << n;
608 for (const auto& e : v) e->state_save(ar);
609}
610template <class V>
611void hw_vec_state_load(boost::archive::binary_iarchive& ar, V& v) {
612 uint32_t n = 0;
613 ar >> n;
614 if (n != v.size())
615 throw std::runtime_error("KB state overlay: expectation count mismatch against the seeded KB");
616 for (auto& e : v) e->state_load(ar);
617}
618}
619
620void KBHardWiredUnit::state_save(boost::archive::binary_oarchive& ar) const {
621 const int soa = const_cast<KBHardWiredUnit*>(this)->getStateOfActivation();
622 ar << soa << confidence_level
627 hw_vec_state_save(ar, expected_alarm_state);
628 hw_vec_state_save(ar, expected_component_state);
629 hw_vec_state_save(ar, expected_support_system_state);
630 hw_vec_state_save(ar, expected_parameter_value);
631 hw_vec_state_save(ar, expected_parameter_trend);
632 hw_vec_state_save(ar, expected_control);
633 hw_vec_state_save(ar, expected_mental_belief);
634 hw_vec_state_save(ar, expected_procedure_activity);
635 // Dormancy/activation timers carry live countdown state: dormancy_time's
636 // total_time_required is set at diagnosis activation and gates re-firing
637 // (Operator::checkAndActivateHWKB) — losing it re-triggers the diagnosis.
640}
641void KBHardWiredUnit::state_load(boost::archive::binary_iarchive& ar) {
642 int soa = 0;
643 ar >> soa >> confidence_level
649 hw_vec_state_load(ar, expected_alarm_state);
650 hw_vec_state_load(ar, expected_component_state);
651 hw_vec_state_load(ar, expected_support_system_state);
652 hw_vec_state_load(ar, expected_parameter_value);
653 hw_vec_state_load(ar, expected_parameter_trend);
654 hw_vec_state_load(ar, expected_control);
655 hw_vec_state_load(ar, expected_mental_belief);
656 hw_vec_state_load(ar, expected_procedure_activity);
659}
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
document e
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 readInfoFromFile(std::ifstream &)
Definition: KBElement.cpp:27
void retrieveKBElementFromFile(std::ifstream &)
Definition: KBElement.cpp:36
void saveKBElementToFile(std::ofstream &)
Definition: KBElement.cpp:33
void copyKBElement(KBElement &)
Definition: KBElement.cpp:30
std::vector< std::unique_ptr< KBExpectedSupportSystemStateUnit > > expected_support_system_state
int number_of_fulfilled_procedure_activity
int getNumberOfFulfilledAlarmState()
void checkForComponentState(std::string, int)
int getNumberOfFulfilledControl()
void readInfoFromFile(std::ifstream &)
int number_of_fulfilled_parameter_value
void checkForAlarmState(std::string, int)
std::vector< std::unique_ptr< HardWiredProcedureActivity > > expected_procedure_activity
void checkForMentalBelief(std::string, int)
void checkForParameterTrend(std::string, int)
int getTotalNumberOfExpectation()
void setMentalProcedurePriority(int)
void calculateTotalNumberOfExpectation()
void setNumberOfFulfilledAlarmState(int)
std::vector< std::unique_ptr< KBExpectedComponentStateUnit > > expected_component_state
Probability branch_probability
void state_load(boost::archive::binary_iarchive &ar)
void checkForProcedureActivity(std::string, int)
Probability activation_probability
int number_of_fulfilled_parameter_trend
void setNumberOfFulfilledComponentState(int)
int number_of_fulfilled_component_state
void copyKBHardWiredUnit(KBHardWiredUnit &)
void retrieveKBHardWiredUnitFromFile(std::ifstream &)
void checkForSupportSystemState(std::string, int)
std::vector< std::unique_ptr< KBExpectedParameterValueUnit > > expected_parameter_value
void setNumberOfFulfilledMentalBelief(int)
int number_of_fulfilled_alarm_state
std::vector< std::unique_ptr< KBExpectedParameterTrendUnit > > expected_parameter_trend
std::vector< std::unique_ptr< HardWiredMentalBelief > > expected_mental_belief
int getNumberOfFulfilledParameterTrend()
void setTotalNumberOfExpectation(int)
virtual ~KBHardWiredUnit()
std::vector< std::unique_ptr< HardWiredControlActivity > > expected_control
void setNumberOfFulfilledControl(int)
void recalculateConfidenceLevel()
int getMentalProcedurePriority()
std::vector< std::unique_ptr< KBExpectedAlarmStateUnit > > expected_alarm_state
double getConfidenceLevel()
void setNumberOfFulfilledParameterValue(int)
void saveKBHardWiredUnitToFile(std::ofstream &)
int number_of_fulfilled_mental_belief
int getNumberOfFulfilledComponentState()
void checkForControl(std::string, double)
int number_of_fulfilled_support_system_state
int getNumberOfFulfilledSupportSystemState()
int getNumberOfFulfilledParameterValue()
void checkForParameterValue(std::string, double, int)
void setNumberOfFulfilledSupportSystemState(int)
double calculateConfidenceLevel()
void state_save(boost::archive::binary_oarchive &ar) const
int getNumberOfFulfilledProcedureActivity()
int getNumberOfFulfilledMentalBelief()
void setNumberOfFulfilledProcedureActivity(int)
void setNumberOfFulfilledParameterTrend(int)
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
void readInfoFromFile(std::ifstream &)
void copyProcedureStepInfo(ProcedureStepInfo &)
void saveProcedureStepInfoToFile(std::ofstream &)
void retrieveProcedureStepInfoFromFile(std::ifstream &)
void setStateOfActivation(int)
void saveStateOfActivationToFile(std::ofstream &)
void retrieveStateOfActivationFromFile(std::ifstream &)
void copyStateOfActivation(StateOfActivation &)
void saveTimerToFile(std::ofstream &)
Definition: Timer.cpp:54
void retrieveTimerFromFile(std::ifstream &)
Definition: Timer.cpp:59
void copyTimer(Timer &)
Definition: Timer.cpp:44
void setT_Minimum(double)
Definition: Timer.cpp:38
void timer_state_save(Archive &ar) const
Definition: Timer.h:22
void setBeta_Weibull(double)
Definition: Timer.cpp:36
void setAlpha_Weibull(double)
Definition: Timer.cpp:34
void timer_state_load(Archive &ar)
Definition: Timer.h:26
struct @0 r5pars_
constexpr int Succeed
Definition: SimConstants.h:104
BranchRecord Branch_center
Dynamic event tree state.