DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <iostream>
#include <fstream>
#include <list>
#include <string>
#include <set>
#include <boost/program_options.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <diades/automata/Event.hh>
#include <diades/automata/ObservableComponent.hh>
#include "CmdInterface.hh"
Go to the source code of this file.
Functions | |
vector< string > | fileExtensions (numberOfFileExtensions) |
vector< string > | options (numberOfOptions) |
vector< bool > | isSet (numberOfOptions, false) |
void | initialiseOptions () |
void | exportToDot (const string &filename, int depth, const vector< string > &states, ostream &out) |
void | exportBackwardToDot (const string &filename, int depth, const vector< string > &states, ostream &out) |
void | checkDescompFile (const string &filename) |
int | main (int argc, char *argv[]) |
void | getStartingStates (const Component &component, const vector< string > &states, std::vector< Diades::Automata::State > &startingStates) |
Variables | |
unsigned | numberOfOptions = 1 |
unsigned | numberOfFileExtensions = 1 |
string | description ="Usage: dd-component-to-dot [file1.des_comp file2.des_comp file3.des_comp...] [--output template]\n\t Compute the dot graph associated to the component files. If no file as parameters,\n\t read the models from the standard input.\n\tIf --output is set with the name 'template' then the written dot files have\n\t the following names: 'template0.dot template1.dot...'\n\tIf no --output is set, write the result to the standard output " |
This file is the main file of the command component_to_dot
.
This command exports the given components (des_comp format) to 'graphviz/dot' format. Options: -h [ --help ] Help about the command line. -o [ --output ] arg Output file template (if several files are exported they are written to the files template0.dot template1.dot ...) or output file name if only one file to display (not that if this option is not set, it displays the result on the standard output). -d [ --depth ] arg The maximal depth to visit from the given states (if depth is unset, there is no limit). -s [ --state ] arg State from which the display can start (if this option is unset, the display starts from the initial states of the component. Many states can be added as follows: -s q1 q2 and/or -s q1 -s q2 q3... -c [ --component ] arg Component to display (many components can be added). The option '--component/-c f1.des_comp f2.des_comp' can be simply written as 'f1.des_comp f2.des_comp'. -b [ --backward ] Backward display (visiting source states instead of target states) Examples: dd-component-to-dot file.des_comp Print the dot format of the component file.des_comp on the standard output dd-component-to-dot file1.des_comp file.des_comp Print the dot format of the components file1.des_comp and file2.des_comp on the standard output dd-component-to-dot file.des_comp -o result.dot Print the dot format of the component file.des_comp in the file result.dot dd-component-to-dot file1.des_comp file.des_comp -o result Print the dot format of the components file1.des_comp and file2.des_comp in the files result0.dot result1.dot dd-component-to-dot file.des_comp -d 10 Print the dot format of the subpart of the component file.des_comp on the standard output from the initial states to the depth 10 dd-component-to-dot file.des_comp -d 10 -s q1 q3 Print the dot format of the subpart of the component file.des_comp on the standard output from states q1 and q3 to the depth 10 dd-component-to-dot file.des_comp -d 10 -s q1 q3 Print the dot format of the subpart of the component file.des_comp on the standard output from states q1 and q3 to the depth 10 dd-component-to-dot file.des_comp -d 10 -s q1 q3 -b Print the dot format of the subpart of the component file.des_comp on the standard output from states q1 and q3 to the depth 10 in backward mode (predecessors of q1 and q3)
Compute the dots files
Definition in file Component2Dot.cc.
enum FileExtension |
Enumerator | |
---|---|
DESCOMP | |
DESCOMP | |
RULES | |
DESCOMP | |
DESCOMP | |
RULES | |
XML | |
ABSTRACTION | |
DIAGNOSER | |
DESCOMP | |
ARCHV | |
DESCOMP | |
RULES | |
XML | |
DESCOMP | |
RULES | |
XML | |
RULES |
Definition at line 85 of file Component2Dot.cc.
enum Option |
Definition at line 84 of file Component2Dot.cc.
void checkDescompFile | ( | const string & | filename | ) |
Definition at line 539 of file Component2Dot.cc.
References Diades::CmdInterface::fileSuffixOk(), and path.
Referenced by initialiseOptions(), and main().
void exportBackwardToDot | ( | const string & | filename, |
int | depth, | ||
const vector< string > & | states, | ||
ostream & | out | ||
) |
Definition at line 410 of file Component2Dot.cc.
References Diades::Automata::Component::behaviour(), Diades::Automata::Component::getEvent(), Diades::Automata::Component::getLabel(), getStartingStates(), Diades::Automata::Component::importDesCompModel(), Diades::Graph::EdgeMap< T >::init(), Diades::Graph::NodeMap< T >::init(), Diades::Automata::Component::inputTransitionBegin(), Diades::Automata::Component::inputTransitionEnd(), Diades::Automata::ObservableMask::isDetectable(), Diades::Automata::ObservableMask::isIdentifiable(), Diades::Automata::ObservableMask::isObservable(), Diades::Automata::ObservableComponent::mask(), Diades::Automata::Event::nickname(), Diades::Automata::Component::numberOfStates(), Diades::Automata::ObservableMask::observableBegin(), and Diades::Automata::ObservableMask::observableEnd().
Referenced by initialiseOptions(), and main().
void exportToDot | ( | const string & | filename, |
int | depth, | ||
const vector< string > & | states, | ||
ostream & | out | ||
) |
Definition at line 281 of file Component2Dot.cc.
References Diades::Automata::Component::behaviour(), Diades::Automata::Component::getEvent(), Diades::Automata::Component::getLabel(), getStartingStates(), Diades::Automata::Component::importDesCompModel(), Diades::Graph::EdgeMap< T >::init(), Diades::Graph::NodeMap< T >::init(), Diades::Automata::ObservableMask::isDetectable(), Diades::Automata::ObservableMask::isIdentifiable(), Diades::Automata::ObservableMask::isObservable(), Diades::Automata::ObservableComponent::mask(), Diades::Automata::Event::nickname(), Diades::Automata::Component::numberOfStates(), Diades::Automata::ObservableMask::observableBegin(), Diades::Automata::ObservableMask::observableEnd(), Diades::Automata::Component::outputTransitionBegin(), and Diades::Automata::Component::outputTransitionEnd().
Referenced by initialiseOptions(), and main().
vector<string> fileExtensions | ( | numberOfFileExtensions | ) |
Referenced by initialiseOptions().
void getStartingStates | ( | const Component & | component, |
const vector< string > & | states, | ||
std::vector< Diades::Automata::State > & | startingStates | ||
) |
Definition at line 252 of file Component2Dot.cc.
References Diades::Automata::Component::getState(), Diades::Automata::Component::initialStateBegin(), and Diades::Automata::Component::initialStateEnd().
Referenced by exportBackwardToDot(), and exportToDot().
void initialiseOptions | ( | ) |
Definition at line 96 of file Component2Dot.cc.
References checkDescompFile(), DESCOMP, exportBackwardToDot(), exportToDot(), fileExtensions(), options(), OUTPUT, and states.
vector<bool> isSet | ( | numberOfOptions | , |
false | |||
) |
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 123 of file Component2Dot.cc.
References checkDescompFile(), exportBackwardToDot(), exportToDot(), path, and states.
vector<string> options | ( | numberOfOptions | ) |
Referenced by initialiseOptions().
string description ="Usage: dd-component-to-dot [file1.des_comp file2.des_comp file3.des_comp...] [--output template]\n\t Compute the dot graph associated to the component files. If no file as parameters,\n\t read the models from the standard input.\n\tIf --output is set with the name 'template' then the written dot files have\n\t the following names: 'template0.dot template1.dot...'\n\tIf no --output is set, write the result to the standard output " |
Definition at line 94 of file Component2Dot.cc.
unsigned numberOfFileExtensions = 1 |
Definition at line 87 of file Component2Dot.cc.
unsigned numberOfOptions = 1 |
Definition at line 86 of file Component2Dot.cc.