←
Documentation
ADS-IDAC Engine
5.0.0
SupportSystemReliabilityUnit.cpp
Go to the documentation of this file.
1
#include "
SupportSystemReliabilityUnit.h
"
2
#include "../ControlPanel/ControlPanel.h"
3
#include <boost/serialization/export.hpp>
4
#include "../Global/SimulationContext.h"
5
using namespace
std;
6
#include <boost/archive/binary_oarchive.hpp>
7
#include <boost/archive/binary_iarchive.hpp>
8
//BOOST_CLASS_EXPORT_IMPLEMENT(SupportSystemReliabilityUnit)
9
10
11
SupportSystemReliabilityUnit::SupportSystemReliabilityUnit
(
const
string
&topNode) : topNode(topNode) {
12
correspondingSupportSystemPt
= 0;
13
initialSupportSystemState
=
sim::None
;
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
33
SupportSystemReliabilityUnit::~SupportSystemReliabilityUnit
() {
34
}
35
36
void
SupportSystemReliabilityUnit::setCorrespondingSupportSystemPt
(
37
DisplaySupportSystemState
*correspondingSupportSystemPt) {
38
this->correspondingSupportSystemPt =
correspondingSupportSystemPt
;
39
}
40
41
int
SupportSystemReliabilityUnit::getInitialSupportSystemState
()
const
{
42
return
initialSupportSystemState
;
43
}
44
45
void
SupportSystemReliabilityUnit::setInitialSupportSystemState
(
int
initialSupportSystemState) {
46
this->initialSupportSystemState =
initialSupportSystemState
;
47
}
48
49
int
SupportSystemReliabilityUnit::checkAndActivateSupportSystemFailure
() {
50
int
current_state;
51
int
activating_state =
sim::None
;
52
if
(this->
getStateOfActivation
() !=
sim::State::Done
) {
53
if
(
correspondingSupportSystemPt
== 0) {
54
correspondingSupportSystemPt
=
55
(
DisplaySupportSystemState
*)
g_sim
.
Indicator
.
indicators
.
getDisplayFromMap
(
56
this->getDisplayName());
57
}
58
current_state =
59
correspondingSupportSystemPt
->
getDisplayedSupportSystemOperationalState
();
60
if
(current_state !=
initialSupportSystemState
) {
61
activating_state =
sim::State::Active
;
62
this->
setStateOfActivation
(
sim::State::Done
);
63
}
64
}
else
{
65
activating_state =
sim::State::Done
;
66
}
67
return
activating_state;
68
}
69
70
void
SupportSystemReliabilityUnit::copySupportSystemUnit
(
SupportSystemReliabilityUnit
&_ssu) {
71
this->
copyBranchSupportSystemAction
(_ssu);
72
this->
copyStateOfActivation
(_ssu);
73
initialSupportSystemState
= _ssu.
getInitialSupportSystemState
();
74
}
75
76
void
SupportSystemReliabilityUnit::saveSupportSystemUnitToFile
(ofstream &fout) {
77
fout << this->
getDisplayName
() <<
" "
;
78
fout <<
initialSupportSystemState
<<
'\n'
;
79
this->
saveBranchSupportSystemActionToFile
(fout);
80
this->
saveStateOfActivationToFile
(fout);
81
}
82
83
void
SupportSystemReliabilityUnit::retrieveSupportSystemUnitFromFile
(ifstream &fin) {
84
fin >>
initialSupportSystemState
;
85
this->
retrieveBranchSupportSystemActionFromFile
(fin);
86
this->
retrieveStateOfActivationFromFile
(fin);
87
}
88
#ifdef ENABLE_HCL
89
const
HCLEngine &SupportSystemReliabilityUnit::getHclEngine()
const
{
90
return
hclEngine;
91
}
92
void
SupportSystemReliabilityUnit::setHclEngine(
const
HCLEngine &hclEngine) {
93
SupportSystemReliabilityUnit::hclEngine = hclEngine;
94
}
95
#endif
96
void
SupportSystemReliabilityUnit::updateFailureProbability
() {
97
double
pF = 0.0;
98
#ifdef ENABLE_HCL
99
SupportSystemReliabilityUnit::hclEngine.quantify(
"END_STATE_F"
, pF);
100
#endif
101
this->
setProbability
(pF);
102
}
103
void
SupportSystemReliabilityUnit::updateDisplayState
() {
104
updateFailureProbability
();
105
if
(
correspondingSupportSystemPt
) {
106
correspondingSupportSystemPt
->
updateDisplayedSupportSystemOperationalState
(
getProbability
());
107
}
108
}
109
const
string
&
SupportSystemReliabilityUnit::getTopNode
()
const
{
110
return
topNode
;
111
}
112
const
vector<string> &
SupportSystemReliabilityUnit::getBasicNodes
()
const
{
113
return
basicNodes
;
114
}
115
void
SupportSystemReliabilityUnit::setBasicNodes
(
const
vector<string> &basicNodes) {
116
SupportSystemReliabilityUnit::basicNodes
=
basicNodes
;
117
}
g_sim
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
Definition:
SimulationContext.cpp:7
SupportSystemReliabilityUnit.h
BranchSupportSystemAction::retrieveBranchSupportSystemActionFromFile
void retrieveBranchSupportSystemActionFromFile(std::ifstream &)
Definition:
BranchSupportSystemAction.cpp:67
BranchSupportSystemAction::copyBranchSupportSystemAction
void copyBranchSupportSystemAction(BranchSupportSystemAction &)
Definition:
BranchSupportSystemAction.cpp:16
BranchSupportSystemAction::saveBranchSupportSystemActionToFile
void saveBranchSupportSystemActionToFile(std::ofstream &)
Definition:
BranchSupportSystemAction.cpp:61
ControlElement::getDisplayName
std::string getDisplayName()
Definition:
ControlElement.cpp:40
ControlPanelDisplay::getDisplayFromMap
SystemDisplay * getDisplayFromMap(std::string)
Definition:
ControlPanelDisplay.cpp:189
ControlPanel::indicators
ControlPanelDisplay indicators
Definition:
ControlPanel.h:53
DisplaySupportSystemState
Definition:
DisplaySupportSystemState.h:13
DisplaySupportSystemState::updateDisplayedSupportSystemOperationalState
void updateDisplayedSupportSystemOperationalState(double failure_probability)
Definition:
DisplaySupportSystemState.cpp:52
DisplaySupportSystemState::getDisplayedSupportSystemOperationalState
int getDisplayedSupportSystemOperationalState() const
Definition:
DisplaySupportSystemState.cpp:21
Probability::getProbability
double getProbability()
Definition:
Probability.cpp:27
Probability::setProbability
void setProbability(double)
Definition:
Probability.cpp:26
StateOfActivation::setStateOfActivation
void setStateOfActivation(int)
Definition:
StateOfActivation.cpp:26
StateOfActivation::saveStateOfActivationToFile
void saveStateOfActivationToFile(std::ofstream &)
Definition:
StateOfActivation.cpp:30
StateOfActivation::getStateOfActivation
int getStateOfActivation()
Definition:
StateOfActivation.cpp:25
StateOfActivation::retrieveStateOfActivationFromFile
void retrieveStateOfActivationFromFile(std::ifstream &)
Definition:
StateOfActivation.cpp:33
StateOfActivation::copyStateOfActivation
void copyStateOfActivation(StateOfActivation &)
Definition:
StateOfActivation.cpp:27
SupportSystemReliabilityUnit
Definition:
SupportSystemReliabilityUnit.h:23
SupportSystemReliabilityUnit::getInitialSupportSystemState
int getInitialSupportSystemState() const
Definition:
SupportSystemReliabilityUnit.cpp:41
SupportSystemReliabilityUnit::basicNodes
std::vector< std::string > basicNodes
Definition:
SupportSystemReliabilityUnit.h:65
SupportSystemReliabilityUnit::setBasicNodes
void setBasicNodes(const std::vector< std::string > &basicNodes)
Definition:
SupportSystemReliabilityUnit.cpp:115
SupportSystemReliabilityUnit::getTopNode
const std::string & getTopNode() const
Definition:
SupportSystemReliabilityUnit.cpp:109
SupportSystemReliabilityUnit::copySupportSystemUnit
void copySupportSystemUnit(SupportSystemReliabilityUnit &)
Definition:
SupportSystemReliabilityUnit.cpp:70
SupportSystemReliabilityUnit::retrieveSupportSystemUnitFromFile
void retrieveSupportSystemUnitFromFile(std::ifstream &fin)
Definition:
SupportSystemReliabilityUnit.cpp:83
SupportSystemReliabilityUnit::topNode
std::string topNode
Definition:
SupportSystemReliabilityUnit.h:64
SupportSystemReliabilityUnit::SupportSystemReliabilityUnit
SupportSystemReliabilityUnit(const std::string &topNode)
Definition:
SupportSystemReliabilityUnit.cpp:11
SupportSystemReliabilityUnit::updateFailureProbability
void updateFailureProbability()
Definition:
SupportSystemReliabilityUnit.cpp:96
SupportSystemReliabilityUnit::updateDisplayState
void updateDisplayState()
Definition:
SupportSystemReliabilityUnit.cpp:103
SupportSystemReliabilityUnit::~SupportSystemReliabilityUnit
virtual ~SupportSystemReliabilityUnit()
Definition:
SupportSystemReliabilityUnit.cpp:33
SupportSystemReliabilityUnit::saveSupportSystemUnitToFile
void saveSupportSystemUnitToFile(std::ofstream &)
Definition:
SupportSystemReliabilityUnit.cpp:76
SupportSystemReliabilityUnit::setInitialSupportSystemState
void setInitialSupportSystemState(int initialSupportSystemState)
Definition:
SupportSystemReliabilityUnit.cpp:45
SupportSystemReliabilityUnit::setCorrespondingSupportSystemPt
void setCorrespondingSupportSystemPt(DisplaySupportSystemState *correspondingSupportSystemPt)
Definition:
SupportSystemReliabilityUnit.cpp:36
SupportSystemReliabilityUnit::initialSupportSystemState
int initialSupportSystemState
Definition:
SupportSystemReliabilityUnit.h:59
SupportSystemReliabilityUnit::getBasicNodes
const std::vector< std::string > & getBasicNodes() const
Definition:
SupportSystemReliabilityUnit.cpp:112
SupportSystemReliabilityUnit::checkAndActivateSupportSystemFailure
int checkAndActivateSupportSystemFailure()
Definition:
SupportSystemReliabilityUnit.cpp:49
SupportSystemReliabilityUnit::correspondingSupportSystemPt
DisplaySupportSystemState * correspondingSupportSystemPt
Definition:
SupportSystemReliabilityUnit.h:60
sim::State::Done
constexpr int Done
Definition:
SimConstants.h:123
sim::State::Active
constexpr int Active
Definition:
SimConstants.h:118
sim::None
constexpr int None
Definition:
SimConstants.h:75
SimulationContext::Indicator
ControlPanel Indicator
Control room panel state.
Definition:
SimulationContext.h:42
src
ADSIDAC
SupportSystemsReliability
SupportSystemReliabilityUnit.cpp
Generated by
1.9.4