DiaDes  0.1
DIAgnosis of Discrete-Event System
Namespaces | Typedefs | Functions
Explanation.hh File Reference
#include <unordered_map>
#include <unordered_set>
#include <list>
#include <diades/utils/LiterateProgramming.hh>
#include <diades/graph/ConstNodeMap.hh>
#include <diades/graph/NodeMap.hh>
#include <diades/automata/experimental/FiniteAutomaton.hh>
#include <diades/automata/experimental/BeliefState.hh>
#include <diades/automata/experimental/DdAutFile.hh>
#include <diades/automata/experimental/Trimming.hh>
#include <diades/automata/experimental/Project.hh>
#include <diades/automata/experimental/Io.hh>

Go to the source code of this file.

Namespaces

 Diades
 Namespace of the Diades project.
 
 Diades::Automata
 
 Diades::Automata::Experimental
 

Typedefs

using Diades::Automata::Experimental::LocStateMap = Diades::Graph::ConstNodeMap< int >
 
using Diades::Automata::Experimental::ExplLocStateMap = Diades::Graph::NodeMap< int >
 
using Diades::Automata::Experimental::Observation = std::string
 
using Diades::Automata::Experimental::Observations = std::vector< Observation >
 
using Diades::Automata::Experimental::Observables = std::set< DdAutFA::EventPropertyId >
 
using Diades::Automata::Experimental::Matcher = std::unordered_map< Observation, Observables >
 
template<typename Fsm >
using Diades::Automata::Experimental::SafeAlt = std::unordered_map< typename Fsm::State, std::unordered_set< typename Fsm::Transition > >
 

Functions

template<typename _SPId , typename _ISId , typename _NSPId = NullValue<_SPId>, typename _NISId = NullValue< _ISId>>
bool Diades::Automata::Experimental::isNotChoiceState (const FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId > &fsa, typename FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId >::State state, const LocStateMap &levels)
 return true if the state is definitely considered as a no-choice state More...
 
template<typename _SPId , typename _ISId , typename _NSPId = NullValue<_SPId>, typename _NISId = NullValue< _ISId>>
void Diades::Automata::Experimental::setLevelStateAndPropagate (const FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId > &fsa, std::list< typename FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId >::State > &states, int currentLevel, LocStateMap &levels, typename FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId >::State state, std::unordered_set< typename FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId >::State > &tagged, std::unordered_set< typename FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId >::State > &visited)
 set the level of the current state and insert its untagged predecessors in the list 'states' update the tagged and visited data structure if the state is not an initial state More...
 
template<typename _SPId , typename _ISId , typename _NSPId = NullValue<_SPId>, typename _NISId = NullValue< _ISId>>
bool Diades::Automata::Experimental::setLevel (const FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId > &fsa, std::list< typename FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId >::State > &states, int currentLevel, LocStateMap &levels)
 
template<typename _SPId , typename _ISId , typename _NSPId = NullValue<_SPId>, typename _NISId = NullValue< _ISId>>
bool Diades::Automata::Experimental::levelOfChoice (const FiniteAutomaton< _SPId, _ISId, _NSPId, _NISId > &fsa, LocStateMap &result)
 
template<typename Fsm >
void Diades::Automata::Experimental::extractEffectiveChoiceTransitions (Fsm &traces, const ExplLocStateMap &levelOfChoice, unordered_set< typename Fsm::Transition > &solutions)
 Extraction from the traces of A || Pbar || L, the set of effective choice transitions. More...
 
std::unordered_set< DdAutFA::TransitionDiades::Automata::Experimental::getSafeAlternatives (const DdAutFA &traces, DdAutFA::State state, const ExplLocStateMap &levelOfChoiceInTraces, const Diades::Graph::NodeMap< DdAutFA::State > &mapping, const DdAutFA &fsa, const LocStateMap &levelOfChoiceInFsa, const DdAutStateManager &sManager, const DdAutEventManager &eManager)
 
template<typename StateIterator >
bool Diades::Automata::Experimental::explainFromStates (StateIterator begin, StateIterator end, const DdAutFA &fsa, const DdAutStateManager &sManager, const DdAutEventManager &eManager, const Observations &observations, Observables &observables, DdAutFA &explanations, DdAutFA &traces, DdAutStateManager &sManagerExplanation, const Matcher &matcher, const LocStateMap &levelOfChoice, SafeAlt< DdAutFA > &safeAlternatives)
 
Matcher Diades::Automata::Experimental::initialiseMatcher (const DdAutEventManager &eManager, const std::vector< std::string > &observations)
 
bool Diades::Automata::Experimental::explain (const DdAutFA &fsa, const DdAutStateManager &sManager, const DdAutEventManager &eManager, const std::vector< std::string > &observations, Observables &observables, DdAutFA &explanations, DdAutFA &fullExplanations, DdAutStateManager &sManagerExplanation, std::unordered_map< DdAutFA::State, unordered_set< DdAutFA::Transition > > &safeAlternatives)
 

Detailed Description

Author
Yannick Pencolé <yannick.pencole at laas.fr>
Date
01 March 2020, 21:18

Definition in file Explanation.hh.