← Documentation
ADS-IDAC Engine 5.0.0
EventSymptomMatrix.h
Go to the documentation of this file.
1#include <iostream>
2#include <typeinfo>
3#include <memory>
4// EventSymptomMatrix.h: interface for the EventSymptomMatrix class.
5#pragma once
6#include <fstream>
7#include <vector>
8#include <algorithm>
9#include <boost/serialization/export.hpp>
10
11#include "DiagnosisEventUnit.h"
12#include "SymptomUnit.h"
13#include "KB.h"
14#include <boost/serialization/serialization.hpp>
15#include <boost/serialization/vector.hpp>
16#include <boost/serialization/unique_ptr.hpp>
17#include <boost/serialization/base_object.hpp>
18#include <boost/archive/text_oarchive.hpp>
19#include <boost/archive/text_iarchive.hpp>
20
21namespace boost { namespace archive {
22class binary_oarchive;
23class binary_iarchive;
24} }
25
27{
28public:
29 // State hooks: the matrix structure (symptoms, events, relationship rows,
30 // bounds) is file-parsed config re-seeded from the per-role master; only
31 // the confidences mutate at runtime. serialize() carries every member.
32 void state_save(boost::archive::binary_oarchive& ar) const;
33 void state_load(boost::archive::binary_iarchive& ar);
34
36 virtual ~EventSymptomMatrix();
38 void readInfoFromFile(std::string);
39 void setNumSymptom(int);
40 void setNumEvent(int);
41 void setAbnormalConfidence(double);
42 int getNumSymptom();
43 int getNumEvent();
44 double getAbnormalConfidence();
45 double getEventRationalConfidence(std::string);
46 //void saveInfoToFile();
52 void outputEventSymptomMatrixLabelToFile(std::string, std::ofstream &);
53 void outputEventSymptomMatrixUnitToFile(std::ofstream &);
55 void saveEventSymptomMatrixToFile(std::ofstream &);
56 void retrieveEventSymptomMatrixFromFile(std::ifstream &);
57 std::vector<std::unique_ptr<SymptomUnit>> symptoms;
58 std::vector<std::unique_ptr<DiagnosisEventUnit>> events;
59 // Serialization method
61 template<class Archive>
62 void serialize(Archive & ar, const unsigned int version) {
63// std::cout << "Serializing class: " << typeid(*this).name() << std::endl;
64 ar & num_symptom;
65 ar & num_event;
67 ar & symptoms;
68 ar & events;
69 }
70private:
73};
Knowledge Base — long-term knowledge about plant systems, components, and procedures.
void copyEventSymptomMatrix(EventSymptomMatrix &)
double getEventRationalConfidence(std::string)
void updateBothRationalConfidence(KB &)
void serialize(Archive &ar, const unsigned int version)
void setAbnormalConfidence(double)
void outputEventSymptomMatrixLabelToFile(std::string, std::ofstream &)
void readInfoFromFile(std::string)
void saveEventSymptomMatrixToFile(std::ofstream &)
std::vector< std::unique_ptr< DiagnosisEventUnit > > events
void outputEventSymptomMatrixUnitToFile(std::ofstream &)
void state_save(boost::archive::binary_oarchive &ar) const
friend class boost::serialization::access
void retrieveEventSymptomMatrixFromFile(std::ifstream &)
std::vector< std::unique_ptr< SymptomUnit > > symptoms
void updateRationalSymptomConfidence(KB &)
void state_load(boost::archive::binary_iarchive &ar)
Definition: KB.h:46