← Documentation
ADS-IDAC Engine 5.0.0
HWReliabilityModule.h
Go to the documentation of this file.
1#pragma once
2
13
14#include "HWReliabilityUnit.h"
15#include "../ControlPanel/StateOfActivation.h"
16#include "HWReliabilityFTUnit.h"
17#include <memory>
18#include <boost/serialization/vector.hpp>
19#include <boost/serialization/unique_ptr.hpp>
20#include <boost/serialization/access.hpp>
21#include <boost/serialization/base_object.hpp>
22#include <boost/archive/text_oarchive.hpp>
23#include <boost/archive/text_iarchive.hpp>
24#include <boost/serialization/export.hpp>
25
27 public:
29 virtual ~HWReliabilityModule();
41 void readInfoFromFile();
53 void readSystemReliabilityInfoFromFile(std::ifstream &);
69 void readSystemReliabilityFTInfoFromFile(std::ifstream &);
100 void clearForRestart();
104 void saveHWReliabilityModuleToFile(std::ofstream &);
110 void retrieveHWReliabilityModuleFromFile(std::ifstream &);
112 std::vector<std::unique_ptr<HWReliabilityUnit>> component_reliability;
114 std::vector<std::unique_ptr<HWReliabilityUnit>> component_operation_reliability;
116 std::vector<std::unique_ptr<HWReliabilityFTUnit>> component_reliability_FT;
117
118 // Boost serialization
120 template<class Archive>
121 void serialize(Archive & ar, const unsigned int version)
122 {
123 ar & boost::serialization::base_object<StateOfActivation>(*this);
127 }
128};
129
130BOOST_CLASS_EXPORT_KEY(HWReliabilityModule)
void checkAndActiveComponentFailure()
Registers the hardware forks that are due at the current evaluation point.
std::vector< std::unique_ptr< HWReliabilityUnit > > component_reliability
Failure on demand units (alpha/beta probability model).
void readSystemOperationReliabilityInfoFromFile(std::ifstream &)
Reads the failure while running section into component_operation_reliability.
void copyHWReliabilityModule(HWReliabilityModule &)
Appends deep copies of the units of another module and copies its state of activation....
void readSystemReliabilityFTInfoFromFile(std::ifstream &)
Reads the fault tree failure on demand section into component_reliability_FT.
std::vector< std::unique_ptr< HWReliabilityUnit > > component_operation_reliability
Failure while running units (constant failure rate, evaluated per interval).
void serialize(Archive &ar, const unsigned int version)
std::vector< std::unique_ptr< HWReliabilityFTUnit > > component_reliability_FT
Failure on demand units whose probability comes from a fault tree top node.
void readSystemReliabilityInfoFromFile(std::ifstream &)
Reads the failure on demand section into component_reliability.
friend class boost::serialization::access
void clearForRestart()
Removes all units and resets the state of activation.
void retrieveHWReliabilityModuleFromFile(std::ifstream &)
Reads a text restart stream: checks the two section labels, loads the failure while running units and...
HWReliabilityFTUnit * getHWReliabilityFTUnit(const std::string)
Finds the fault tree unit whose top node has the given name.
void saveHWReliabilityModuleToFile(std::ofstream &)
Writes the failure on demand units and the failure while running units, each under its own label and ...
void readInfoFromFile()
Loads SystemReliability.txt from the hardware reliability directory (Scheduler::getHardwareReliabilit...