←
Documentation
ADS-IDAC Engine
5.0.0
BranchStrategy.cpp
Go to the documentation of this file.
1
// BranchStrategy.cpp: implementation of the BranchStrategy class.
2
//
4
5
#include <sstream>
6
#include "
BranchStrategy.h
"
7
#include "../Global/ConvertToString.h"
8
#include <boost/serialization/export.hpp>
9
#include "../Global/SimulationContext.h"
10
#include <boost/archive/binary_oarchive.hpp>
11
#include <boost/archive/binary_iarchive.hpp>
12
BOOST_CLASS_EXPORT_IMPLEMENT(
BranchStrategy
)
13
using namespace
std;
14
15
17
// Construction/Destruction
19
20
BranchStrategy::BranchStrategy
() {
21
22
}
23
24
BranchStrategy::~BranchStrategy
() {
25
26
}
27
void
BranchStrategy::copyBranchStrategy
(
BranchStrategy
&_bgp) {
28
DecisionStrategy::copyDecisionStrategy
((
DecisionStrategy
&) _bgp);
29
TimerAndProbability::copyTimerAndProbability
((
TimerAndProbability
&) _bgp);
30
Communication::copyCommunication
((
Communication
&) _bgp);
31
};
32
string
BranchStrategy::translateMessage
() {
33
string
str;
34
str =
"STRATEGY: Sender: "
;
35
str +=
g_sim
.
Translator
.
getString
(this->
getSender
());
36
str +=
"; Receiver: "
;
37
str +=
g_sim
.
Translator
.
getString
(this->
getIntendedReceiver
());
38
str +=
"; Strategy: "
;
39
str +=
g_sim
.
Translator
.
getString
(this->
getDecision
());
40
str +=
"; New Probability: "
;
41
std::ostringstream streamObj;
42
streamObj << this->
getProbability
();
43
str += streamObj.str();
44
return
str;
45
}
46
void
BranchStrategy::saveInfoToFile
(ostream &fout) {
47
fout <<
' '
<< this->
getSender
() <<
' '
<<
sim::Decision::Strategy
<<
' '
<< this->
getDecision
() <<
" NONE "
<<
' '
48
<< this->
getProbability
() <<
' '
49
<< this->
getTimeOfCommunication
() <<
' '
<< this->
getRemainingTime
() <<
" 0.0 0 "
<<
'"'
<<
"NONE"
<<
'"'
50
<<
'\n'
;
51
}
52
void
BranchStrategy::saveBranchStrategyToFile
(ofstream &fout) {
53
this->
saveDecisionStrategyToFile
(fout);
54
this->
saveTimerAndProbabilityToFile
(fout);
55
this->
saveCommunicationToFile
(fout);
56
}
57
void
BranchStrategy::retrieveBranchStrategyFromFile
(ifstream &fin) {
58
this->
retrieveDecisionStrategyFromFile
(fin);
59
this->
retrieveTimerAndProbabilityFromFile
(fin);
60
this->
retrieveCommunicationFromFile
(fin);
61
}
BranchStrategy.h
g_sim
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
Definition:
SimulationContext.cpp:7
BranchStrategy
Definition:
BranchStrategy.h:21
BranchStrategy::BranchStrategy
BranchStrategy()
Definition:
BranchStrategy.cpp:20
BranchStrategy::retrieveBranchStrategyFromFile
void retrieveBranchStrategyFromFile(std::ifstream &)
Definition:
BranchStrategy.cpp:57
BranchStrategy::translateMessage
std::string translateMessage()
Definition:
BranchStrategy.cpp:32
BranchStrategy::copyBranchStrategy
void copyBranchStrategy(BranchStrategy &)
Definition:
BranchStrategy.cpp:27
BranchStrategy::saveBranchStrategyToFile
void saveBranchStrategyToFile(std::ofstream &)
Definition:
BranchStrategy.cpp:52
BranchStrategy::saveInfoToFile
void saveInfoToFile(std::ostream &)
Definition:
BranchStrategy.cpp:46
BranchStrategy::~BranchStrategy
virtual ~BranchStrategy()
Definition:
BranchStrategy.cpp:24
Communication
Definition:
Communication.h:20
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
ConvertToString::getString
std::string getString(int) const
Definition:
ConvertToString.cpp:190
DecisionStrategy
Definition:
DecisionStrategy.h:18
DecisionStrategy::copyDecisionStrategy
void copyDecisionStrategy(DecisionStrategy &)
Definition:
DecisionStrategy.cpp:26
DecisionStrategy::retrieveDecisionStrategyFromFile
void retrieveDecisionStrategyFromFile(std::ifstream &)
Definition:
DecisionStrategy.cpp:34
DecisionStrategy::saveDecisionStrategyToFile
void saveDecisionStrategyToFile(std::ofstream &)
Definition:
DecisionStrategy.cpp:30
Decision::getDecision
int getDecision()
Definition:
Decision.cpp:27
Probability::getProbability
double getProbability()
Definition:
Probability.cpp:27
TimerAndProbability
Definition:
TimerAndProbability.h:21
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
Timer::getRemainingTime
double getRemainingTime()
Definition:
Timer.cpp:31
sim::Decision::Strategy
constexpr int Strategy
Definition:
SimConstants.h:192
SimulationContext::Translator
ConvertToString Translator
Parameter name/value conversion.
Definition:
SimulationContext.h:52
src
ADSIDAC
Branch
BranchStrategy.cpp
Generated by
1.9.4