DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <iostream>
#include <string>
#include <vector>
#include <regex>
#include <fstream>
#include <boost/program_options.hpp>
#include <diades/automata/ObservableComponent.hh>
#include <diades/automata/Event.hh>
#include <diades/automata/experimental/Algorithms.hh>
#include <diades/automata/experimental/LocalCandidateStateMachine.hh>
#include <diades/sdmdl/experimental/StateInfoEncoder.hh>
#include <diades/sdmdl/Variable.hh>
#include <diades/sdmdl/experimental/EventEncoder.hh>
#include <diades/sdmdl/experimental/BddStateMachine.hh>
#include <diades/sdmdl/experimental/BddStateMachineEncoding.hh>
#include <diades/sdmdl/experimental/FormulaUtils.hh>
Go to the source code of this file.
Functions | |
const string | program ("dd-symb-diagnose") |
void | initialiseOptions (int argc, char *argv[], Poptions::options_description &desc, Poptions::options_description &visible, Poptions::variables_map &vm) |
void | printErrorCmdLine (const string &msg, Poptions::options_description &visible) |
void | printError (const string &msg) |
void | analyseOptions (Poptions::variables_map &vm, Poptions::options_description &visible, vector< string > &models, vector< string > &scenarios) |
bool | loadModels (const vector< string > &modelNames, vector< ObservableComponent > &models) |
bool | loadScenario (const string &scenarioFile, vector< Event > &observations, const vector< ObservableComponent > &models) |
void | printSolution (const BddStateMachine::SlEvents &solution, StateInfoEncoder &stateEncoder, Lcm::CandidateManager &candManager, Lcm::EvSetManager &setManager, Lcm::LocalStateInfoManager &locStateInfoManager, Lcm::EvManager &manager) |
void | runGlobalDiagnosisProblem (const ObservableComponent &component, const vector< Event > &observations) |
int | main (int argc, char *argv[]) |
Definition in file SymbolicDiagnose.cc.
void analyseOptions | ( | Poptions::variables_map & | vm, |
Poptions::options_description & | visible, | ||
vector< string > & | models, | ||
vector< string > & | scenarios | ||
) |
Definition at line 74 of file SymbolicDiagnose.cc.
References printError(), printErrorCmdLine(), and program().
Referenced by main().
void initialiseOptions | ( | int | argc, |
char * | argv[], | ||
Poptions::options_description & | desc, | ||
Poptions::options_description & | visible, | ||
Poptions::variables_map & | vm | ||
) |
bool loadModels | ( | const vector< string > & | modelNames, |
vector< ObservableComponent > & | models | ||
) |
Definition at line 108 of file SymbolicDiagnose.cc.
Referenced by main().
bool loadScenario | ( | const string & | scenarioFile, |
vector< Event > & | observations, | ||
const vector< ObservableComponent > & | models | ||
) |
Definition at line 120 of file SymbolicDiagnose.cc.
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 272 of file SymbolicDiagnose.cc.
References analyseOptions(), initialiseOptions(), loadModels(), loadScenario(), printError(), and runGlobalDiagnosisProblem().
void printError | ( | const string & | msg | ) |
Definition at line 69 of file SymbolicDiagnose.cc.
Referenced by analyseOptions(), and main().
void printErrorCmdLine | ( | const string & | msg, |
Poptions::options_description & | visible | ||
) |
Definition at line 62 of file SymbolicDiagnose.cc.
References program().
Referenced by analyseOptions().
void printSolution | ( | const BddStateMachine::SlEvents & | solution, |
StateInfoEncoder & | stateEncoder, | ||
Lcm::CandidateManager & | candManager, | ||
Lcm::EvSetManager & | setManager, | ||
Lcm::LocalStateInfoManager & | locStateInfoManager, | ||
Lcm::EvManager & | manager | ||
) |
Definition at line 139 of file SymbolicDiagnose.cc.
References Diades::Automata::Experimental::EventSetManager< EventLabel, EventId >::decodeEventSet(), Diades::Sdmdl::Experimental::exportToDisjunctiveNormalForm(), Diades::Automata::Experimental::LocalCandidate< StateProperty, FaultProperty >::faults(), Diades::Automata::Experimental::EventManager< _Event, _EventId, NullEvent, NullEventId, Hash >::getEvent(), Diades::Sdmdl::Experimental::StateInfoEncoder::getStateInfoId(), Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::getStateProperty(), and Diades::Automata::Experimental::LocalCandidate< StateProperty, FaultProperty >::state().
Referenced by runGlobalDiagnosisProblem().
const string program | ( | "dd-symb-diagnose" | ) |
Referenced by analyseOptions(), and printErrorCmdLine().
void runGlobalDiagnosisProblem | ( | const ObservableComponent & | component, |
const vector< Event > & | observations | ||
) |
Definition at line 189 of file SymbolicDiagnose.cc.
References Diades::Sdmdl::Experimental::encode(), Diades::Sdmdl::Experimental::EventEncoder::encodeEventRange(), Diades::Sdmdl::Experimental::StateInfoEncoder::encodeStateInfoRange(), Diades::Sdmdl::Experimental::BddStateMachine::event(), Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::eventBegin(), Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::eventEnd(), Diades::Automata::Experimental::EventManager< _Event, _EventId, NullEvent, NullEventId, Hash >::eventId(), Diades::Automata::Component::events(), Diades::Sdmdl::Experimental::BddStateMachine::factory(), Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::getStatePropertyId(), Diades::Sdmdl::Variable::getValue(), Diades::Sdmdl::Experimental::EventEncoder::getVariable(), Diades::Sdmdl::Experimental::StateInfoEncoder::getVariable(), Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::initialStateBegin(), Diades::Sdmdl::FormulaFactory::isFalse(), Diades::Automata::ObservableMask::isIdentifiable(), Diades::Automata::ObservableComponent::mask(), printSolution(), Diades::Sdmdl::Experimental::BddStateMachine::reach(), Diades::Sdmdl::Experimental::BddStateMachine::sources(), Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::statePropertyIdBegin(), Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::statePropertyIdEnd(), and Diades::Automata::Experimental::transformToCandidateStateMachine().
Referenced by main().