DiaDes  0.1
DIAgnosis of Discrete-Event System
Functions | Variables
Explain.cc File Reference
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <fstream>
#include <regex>
#include <boost/program_options.hpp>
#include <diades/automata/experimental/DdAutFile.hh>
#include <diades/automata/experimental/DdAutFileDescriptor.hh>
#include <diades/automata/experimental/Printer.hh>
#include <diades/automata/experimental/StateMachine.hh>
#include <diades/automata/experimental/Explanation.hh>
#include <diades/automata/experimental/TreeViewHtml.hh>
#include "../AutomataInterface.hh"

Go to the source code of this file.

Functions

const string program ("dd-explain")
 
void initialiseOptions (int argc, char *argv[], Poptions::options_description &desc, Poptions::variables_map &vm)
 
bool explainLog (const DdAutFA &fa, DdAutFA &explanations, DdAutFA &fullExplanations, const DdAutStateManager &sManager, DdAutStateManager &sManagerExplanation, const DdAutEventManager &eManager, std::istream &logfile, std::istream &obsfile, std::unordered_map< DdAutFA::State, unordered_set< DdAutFA::Transition > > &safeAlternatives)
 
void consolidateWithSafeAlternatives (const DdAutFA &fsa, const DdAutStateManager &sManager, DdAutFA &explanations, DdAutStateManager &sManagerExplanation, const SafeAlt< DdAutFA > &safeAlternatives)
 
void writeTreeViewSafeAlternative (std::ostream &html, const DdAutFA &fa, const DdAutStateManager &sManager, const DdAutEventManager &eManager, DdAutFA::Transition t)
 
void writeTreeViewTransition (std::ostream &html, const DdAutFA &fa, const DdAutStateManager &sManager, const DdAutEventManager &eManager, const DdAutFA &explanation, const DdAutStateManager &sManagerExplanation, const SafeAlt< DdAutFA > &safeAlternatives, DdAutFA::Transition transition)
 
void writeTreeView (std::ostream &html, const DdAutFA &fa, const DdAutStateManager &sManager, const DdAutEventManager &eManager, const DdAutFA &explanation, const DdAutStateManager &sManagerExplanation, const SafeAlt< DdAutFA > &safeAlternatives)
 
size_t explainFsm (const std::string &fileName, const std::string &logName, const std::string &observableName, const std::string &output, const std::string &htmlName)
 
int main (int argc, char **argv)
 

Variables

FileSuffixes suffixes ({"log", "ddaut", "obs", "html"})
 

Function Documentation

◆ consolidateWithSafeAlternatives()

void consolidateWithSafeAlternatives ( const DdAutFA fsa,
const DdAutStateManager sManager,
DdAutFA explanations,
DdAutStateManager sManagerExplanation,
const SafeAlt< DdAutFA > &  safeAlternatives 
)

◆ explainFsm()

size_t explainFsm ( const std::string &  fileName,
const std::string &  logName,
const std::string &  observableName,
const std::string &  output,
const std::string &  htmlName 
)
Parameters
fileNameddaut file to load (i.e. A||P)
logNamelog file to load (i.e. a file that contains one observation per line)
outputthe file to write (if empty, write on the standard output), it is the explanation of A||P with respect to L
Returns
success code (SUCCESS or ERROR_COMMAND_LINE)

Definition at line 276 of file Explain.cc.

References Diades::Automata::Experimental::DdAutFileDescriptor::acceptorBegin(), Diades::Automata::Experimental::DdAutFileDescriptor::acceptorEnd(), consolidateWithSafeAlternatives(), explainLog(), Diades::Automata::Experimental::faFromDescriptor(), Diades::CmdInterface::FileSuffixes::match(), Diades::CmdInterface::printCommandLineError(), Diades::CmdInterface::printCommandLineWarning(), Diades::Automata::Experimental::DdAutFileDescriptor::readStream(), suffixes, Diades::CmdInterface::writeFiniteAutomaton(), and writeTreeView().

Referenced by main().

◆ explainLog()

bool explainLog ( const DdAutFA fa,
DdAutFA explanations,
DdAutFA fullExplanations,
const DdAutStateManager sManager,
DdAutStateManager sManagerExplanation,
const DdAutEventManager eManager,
std::istream &  logfile,
std::istream &  obsfile,
std::unordered_map< DdAutFA::State, unordered_set< DdAutFA::Transition > > &  safeAlternatives 
)

◆ initialiseOptions()

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

Initialise the options of the command present in the command line

Parameters
argc
argv
desc
vm

Definition at line 52 of file Explain.cc.

References options().

Referenced by main().

◆ main()

int main ( int  argc,
char **  argv 
)

Main file of the dd-determine command

Parameters
argc
argv
Returns
success code (SUCCESS or ERROR_COMMAND_LINE)

Definition at line 373 of file Explain.cc.

References explainFsm(), initialiseOptions(), Diades::CmdInterface::printCommandLineError(), printUsage(), and program().

◆ program()

const string program ( "dd-explain"  )

Referenced by main().

◆ writeTreeView()

void writeTreeView ( std::ostream &  html,
const DdAutFA fa,
const DdAutStateManager sManager,
const DdAutEventManager eManager,
const DdAutFA explanation,
const DdAutStateManager sManagerExplanation,
const SafeAlt< DdAutFA > &  safeAlternatives 
)

◆ writeTreeViewSafeAlternative()

void writeTreeViewSafeAlternative ( std::ostream &  html,
const DdAutFA fa,
const DdAutStateManager sManager,
const DdAutEventManager eManager,
DdAutFA::Transition  t 
)

◆ writeTreeViewTransition()

void writeTreeViewTransition ( std::ostream &  html,
const DdAutFA fa,
const DdAutStateManager sManager,
const DdAutEventManager eManager,
const DdAutFA explanation,
const DdAutStateManager sManagerExplanation,
const SafeAlt< DdAutFA > &  safeAlternatives,
DdAutFA::Transition  transition 
)

Variable Documentation

◆ suffixes

FileSuffixes suffixes({"log", "ddaut", "obs", "html"})

Referenced by explainFsm().