← Documentation
ADS-IDAC Engine 5.0.0
SupportSystemReliabilityUnit.cpp
Go to the documentation of this file.
2#include "../ControlPanel/ControlPanel.h"
3#include <boost/serialization/export.hpp>
4#include "../Global/SimulationContext.h"
5using namespace std;
6#include <boost/archive/binary_oarchive.hpp>
7#include <boost/archive/binary_iarchive.hpp>
8//BOOST_CLASS_EXPORT_IMPLEMENT(SupportSystemReliabilityUnit)
9
10
11SupportSystemReliabilityUnit::SupportSystemReliabilityUnit(const string &topNode) : topNode(topNode) {
14
15// hclEngine.setBBNSolver(hclEngine.BBN_SMILE);
16// hclEngine.setBDDConstructor(hclEngine.BDD_FORWARD);
17// hclEngine.setOrderingRule(hclEngine.ORDER_NAIVE);
18// hclEngine.addResolver(new HCLFTResolver(SScheduler.getSupportSystemsDirectory()));
19// StringVector branches;
20// hclEngine.addESDNode("END_STATE_F", "", branches);
21// hclEngine.addESDNode("END_STATE_S", "", branches);
22//
23// branches.push_back("END_STATE_F");
24// branches.push_back("END_STATE_S");
25// hclEngine.addESDNode("INITIATOR", topNode, branches);
26//
27// hclEngine.selectAll("INITIATOR");
28//
29// hclEngine.printFTBasicNodes();
30// basicNodes = hclEngine.getFTBasicNodes();
31}
32
34}
35
37 DisplaySupportSystemState *correspondingSupportSystemPt) {
38 this->correspondingSupportSystemPt = correspondingSupportSystemPt;
39}
40
43}
44
46 this->initialSupportSystemState = initialSupportSystemState;
47}
48
50 int current_state;
51 int activating_state = sim::None;
56 this->getDisplayName());
57 }
58 current_state =
60 if (current_state != initialSupportSystemState) {
61 activating_state = sim::State::Active;
63 }
64 } else {
65 activating_state = sim::State::Done;
66 }
67 return activating_state;
68}
69
72 this->copyStateOfActivation(_ssu);
74}
75
77 fout << this->getDisplayName() << " ";
78 fout << initialSupportSystemState << '\n';
81}
82
87}
88#ifdef ENABLE_HCL
89const HCLEngine &SupportSystemReliabilityUnit::getHclEngine() const {
90 return hclEngine;
91}
92void SupportSystemReliabilityUnit::setHclEngine(const HCLEngine &hclEngine) {
93 SupportSystemReliabilityUnit::hclEngine = hclEngine;
94}
95#endif
97 double pF = 0.0;
98#ifdef ENABLE_HCL
99 SupportSystemReliabilityUnit::hclEngine.quantify("END_STATE_F", pF);
100#endif
101 this->setProbability(pF);
102}
107 }
108}
110 return topNode;
111}
112const vector<string> &SupportSystemReliabilityUnit::getBasicNodes() const {
113 return basicNodes;
114}
115void SupportSystemReliabilityUnit::setBasicNodes(const vector<string> &basicNodes) {
117}
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
void retrieveBranchSupportSystemActionFromFile(std::ifstream &)
void copyBranchSupportSystemAction(BranchSupportSystemAction &)
void saveBranchSupportSystemActionToFile(std::ofstream &)
std::string getDisplayName()
SystemDisplay * getDisplayFromMap(std::string)
ControlPanelDisplay indicators
Definition: ControlPanel.h:53
void updateDisplayedSupportSystemOperationalState(double failure_probability)
double getProbability()
Definition: Probability.cpp:27
void setProbability(double)
Definition: Probability.cpp:26
void setStateOfActivation(int)
void saveStateOfActivationToFile(std::ofstream &)
void retrieveStateOfActivationFromFile(std::ifstream &)
void copyStateOfActivation(StateOfActivation &)
std::vector< std::string > basicNodes
void setBasicNodes(const std::vector< std::string > &basicNodes)
void copySupportSystemUnit(SupportSystemReliabilityUnit &)
void retrieveSupportSystemUnitFromFile(std::ifstream &fin)
SupportSystemReliabilityUnit(const std::string &topNode)
void setInitialSupportSystemState(int initialSupportSystemState)
void setCorrespondingSupportSystemPt(DisplaySupportSystemState *correspondingSupportSystemPt)
const std::vector< std::string > & getBasicNodes() const
DisplaySupportSystemState * correspondingSupportSystemPt
constexpr int Done
Definition: SimConstants.h:123
constexpr int Active
Definition: SimConstants.h:118
constexpr int None
Definition: SimConstants.h:75
ControlPanel Indicator
Control room panel state.