←
Documentation
ADS-IDAC Engine
5.0.0
BranchSupportSystemAction.cpp
Go to the documentation of this file.
1
#include <sstream>
2
#include "
BranchSupportSystemAction.h
"
3
#include <boost/serialization/export.hpp>
4
#include "../Global/SimulationContext.h"
5
#include <boost/archive/binary_oarchive.hpp>
6
#include <boost/archive/binary_iarchive.hpp>
7
BOOST_CLASS_EXPORT_IMPLEMENT(
BranchSupportSystemAction
)
8
using namespace
std;
9
10
11
BranchSupportSystemAction::BranchSupportSystemAction
() {
12
functional_state
=
sim::State::Unknown
;
13
}
14
BranchSupportSystemAction::~BranchSupportSystemAction
() {
15
}
16
void
BranchSupportSystemAction::copyBranchSupportSystemAction
(
BranchSupportSystemAction
&_bsp){
17
this->
copyControlElement
( _bsp);
18
this->
copyCommunication
( _bsp);
19
this->
copyTimerAndProbability
(_bsp);
20
functional_state
= _bsp.
getFunctionalState
();
21
}
22
string
BranchSupportSystemAction::translateMessage
(){
23
string
str;
24
str =
"SSReliability: Sender: "
;
25
str +=
g_sim
.
Translator
.
getString
(this->
getSender
());
26
str +=
"; Receiver: "
;
27
str +=
g_sim
.
Translator
.
getString
(this->
getIntendedReceiver
());
28
str +=
"; Support System: "
;
29
str += this->
getDisplayName
();
30
if
(
functional_state
==
sim::State::Succeed
){
31
str +=
"; Status: Success"
;
32
}
33
else
if
(
functional_state
==
sim::State::Failed
){
34
str +=
"; Status: Fail"
;
35
}
36
else
if
(
functional_state
==
sim::State::Control
){
37
str +=
"; Status: Maneuver Action"
;
38
}
39
else
{
40
}
41
str +=
"; FT Node: "
;
42
str += this->
getCorrespondingComponentNameOfControl
();
43
str +=
"; Probability: "
;
44
std::ostringstream streamObj;
45
streamObj << this->
getProbability
();
46
str += streamObj.str();
47
return
str;
48
}
49
void
BranchSupportSystemAction::saveInfoToFile
(ostream &fout){
50
fout <<
' '
<< this->
getSender
() <<
' '
<<
sim::Action::Direct
<<
' '
<<
sim::None
<<
' '
<< this->
getDisplayName
() <<
' '
<< this->
getProbability
() <<
' '
51
<< this->
getTimeOfCommunication
() <<
' '
<< this->
getAdjustedTimeRequiredToPerformTheAction
() <<
' '
<< this->
getControlValue
() <<
" 0 "
;
52
if
(this->
getFunctionalState
() ==
sim::State::Failed
){
53
fout <<
'"'
<<
"Failed!_Intended_Receiver:"
<<
g_sim
.
Translator
.
getString
(this->
getIntendedReceiver
()) <<
'"'
<<
'\n'
;
54
}
55
else
{
56
fout <<
'"'
<<
"Success!_Intended_Receiver:"
<<
g_sim
.
Translator
.
getString
(this->
getIntendedReceiver
()) <<
'"'
<<
'\n'
;
57
}
58
}
59
void
BranchSupportSystemAction::setFunctionalState
(
int
n){
functional_state
= n;}
60
int
BranchSupportSystemAction::getFunctionalState
(){
return
functional_state
;}
61
void
BranchSupportSystemAction::saveBranchSupportSystemActionToFile
(ofstream &fout){
62
fout <<
functional_state
<<
'\n'
;
63
this->
saveControlElementToFile
(fout);
64
this->
saveCommunicationToFile
(fout);
65
this->
saveTimerAndProbabilityToFile
(fout);
66
}
67
void
BranchSupportSystemAction::retrieveBranchSupportSystemActionFromFile
(ifstream &fin){
68
fin >>
functional_state
;
69
this->
retrieveControlElementFromFile
(fin);
70
this->
retrieveCommunicationFromFile
(fin);
71
this->
retrieveTimerAndProbabilityFromFile
(fin);
72
}
BranchSupportSystemAction.h
g_sim
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
Definition:
SimulationContext.cpp:7
BranchSupportSystemAction
Definition:
BranchSupportSystemAction.h:19
BranchSupportSystemAction::getFunctionalState
int getFunctionalState()
Definition:
BranchSupportSystemAction.cpp:60
BranchSupportSystemAction::setFunctionalState
void setFunctionalState(int)
Definition:
BranchSupportSystemAction.cpp:59
BranchSupportSystemAction::functional_state
int functional_state
Definition:
BranchSupportSystemAction.h:42
BranchSupportSystemAction::BranchSupportSystemAction
BranchSupportSystemAction()
Definition:
BranchSupportSystemAction.cpp:11
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
BranchSupportSystemAction::saveInfoToFile
void saveInfoToFile(std::ostream &)
Definition:
BranchSupportSystemAction.cpp:49
BranchSupportSystemAction::translateMessage
std::string translateMessage()
Definition:
BranchSupportSystemAction.cpp:22
BranchSupportSystemAction::~BranchSupportSystemAction
virtual ~BranchSupportSystemAction()
Definition:
BranchSupportSystemAction.cpp:14
Communication::getSender
int getSender()
Definition:
Communication.cpp:43
Communication::getTimeOfCommunication
double getTimeOfCommunication()
Definition:
Communication.cpp:47
Communication::saveCommunicationToFile
void saveCommunicationToFile(std::ofstream &)
Definition:
Communication.cpp:60
Communication::getIntendedReceiver
int getIntendedReceiver()
Definition:
Communication.cpp:44
Communication::retrieveCommunicationFromFile
void retrieveCommunicationFromFile(std::ifstream &)
Definition:
Communication.cpp:65
Communication::copyCommunication
void copyCommunication(Communication &)
Definition:
Communication.cpp:52
ControlElement::getDisplayName
std::string getDisplayName()
Definition:
ControlElement.cpp:40
ControlElement::saveControlElementToFile
void saveControlElementToFile(std::ofstream &)
Definition:
ControlElement.cpp:65
ControlElement::retrieveControlElementFromFile
void retrieveControlElementFromFile(std::ifstream &)
Definition:
ControlElement.cpp:70
ControlElement::getCorrespondingComponentNameOfControl
std::string getCorrespondingComponentNameOfControl()
Definition:
ControlElement.cpp:41
ControlElement::getControlValue
double getControlValue()
Definition:
ControlElement.cpp:64
ControlElement::getAdjustedTimeRequiredToPerformTheAction
double getAdjustedTimeRequiredToPerformTheAction()
Definition:
ControlElement.cpp:86
ControlElement::copyControlElement
void copyControlElement(ControlElement &)
Definition:
ControlElement.cpp:52
ConvertToString::getString
std::string getString(int) const
Definition:
ConvertToString.cpp:190
Probability::getProbability
double getProbability()
Definition:
Probability.cpp:27
TimerAndProbability::saveTimerAndProbabilityToFile
void saveTimerAndProbabilityToFile(std::ofstream &)
Definition:
TimerAndProbability.cpp:34
TimerAndProbability::copyTimerAndProbability
void copyTimerAndProbability(TimerAndProbability &)
Definition:
TimerAndProbability.cpp:30
TimerAndProbability::retrieveTimerAndProbabilityFromFile
void retrieveTimerAndProbabilityFromFile(std::ifstream &)
Definition:
TimerAndProbability.cpp:38
sim::Action::Direct
constexpr int Direct
Definition:
SimConstants.h:202
sim::State::Failed
constexpr int Failed
Definition:
SimConstants.h:103
sim::State::Succeed
constexpr int Succeed
Definition:
SimConstants.h:104
sim::State::Control
constexpr int Control
Definition:
SimConstants.h:111
sim::State::Unknown
constexpr int Unknown
Definition:
SimConstants.h:120
sim::None
constexpr int None
Definition:
SimConstants.h:75
SimulationContext::Translator
ConvertToString Translator
Parameter name/value conversion.
Definition:
SimulationContext.h:52
src
ADSIDAC
Branch
BranchSupportSystemAction.cpp
Generated by
1.9.4