DiaDes  0.1
DIAgnosis of Discrete-Event System
Functions
SymbolicDiagnose.cc File Reference
#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[])
 

Detailed Description

Author
Yannick Pencol\'e, LAAS-CNRS, France, ypenc.nosp@m.ole@.nosp@m.laas..nosp@m.fr
Date
21 december 2017

Definition in file SymbolicDiagnose.cc.

Function Documentation

◆ analyseOptions()

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().

◆ initialiseOptions()

void initialiseOptions ( int  argc,
char *  argv[],
Poptions::options_description &  desc,
Poptions::options_description &  visible,
Poptions::variables_map &  vm 
)

Definition at line 43 of file SymbolicDiagnose.cc.

References options().

Referenced by main().

◆ loadModels()

bool loadModels ( const vector< string > &  modelNames,
vector< ObservableComponent > &  models 
)

Definition at line 108 of file SymbolicDiagnose.cc.

Referenced by main().

◆ loadScenario()

bool loadScenario ( const string &  scenarioFile,
vector< Event > &  observations,
const vector< ObservableComponent > &  models 
)

Definition at line 120 of file SymbolicDiagnose.cc.

Referenced by main().

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ printError()

void printError ( const string &  msg)

Definition at line 69 of file SymbolicDiagnose.cc.

Referenced by analyseOptions(), and main().

◆ printErrorCmdLine()

void printErrorCmdLine ( const string &  msg,
Poptions::options_description &  visible 
)

Definition at line 62 of file SymbolicDiagnose.cc.

References program().

Referenced by analyseOptions().

◆ printSolution()

void printSolution ( const BddStateMachine::SlEvents &  solution,
StateInfoEncoder stateEncoder,
Lcm::CandidateManager candManager,
Lcm::EvSetManager setManager,
Lcm::LocalStateInfoManager locStateInfoManager,
Lcm::EvManager manager 
)

◆ program()

const string program ( "dd-symb-diagnose"  )

◆ runGlobalDiagnosisProblem()

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().