[[!meta title="Boost Statechart Viewer"]] Overview --------- Boost-statechart-viewer is a program for visualization state state machines written in C++ with [boost][boost]/[statechart][statechart] library. The program itself is written in C++ and uses [clang][clang] from [LLVM][llvm] project for analyzing the source code. This program is released under the GNU GPL license. [boost]: http://www.boost.org/ [statechart]: http://www.boost.org/doc/libs/1_46_1/libs/statechart/doc/index.html [clang]: http://clang.llvm.org/ [llvm]: http://llvm.org/ Authors -------- Petr Silhavik
Michal Sojka For compiling and correctly working program is necessary to have LLVM and clang version 2.9. NEWS ----- 2011-08-11 Added support for orthogonal states. Status ------- - The program can found states and transitions in the source code. Now it supports also orthogonal states. - The program understands all options and flags as the compilers (gcc, clang, ...). - State machines can be defined in more than one file. - The state machine can be inside many namespaces, but not inside templates. Usage ------ The program can be used almost the same way as a C compiler. You will typically need to specify locations for all header files except of the files stored in system folder(in Linux: /usr/...) using `-I` option. Of course you can specify the output filename (`-o` option). Program displays all diagnostic messages like compilers. If an error occurs the program stops. ####Example of command line invocation: ./visualizer main.cpp -o graph.dot -I /home/petr/install/ The output file can be transformed into the picture using classical [dot][graphviz] commands (e.g. `dot -Tpng graph.dot -o graph.png`) . The initial state is double outlined. Each transition has a label with the name of the triggering event. [graphviz]: http://www.graphviz.org/ Download: --------- Boost statechart viewer can be downloaded from GIT repository. git clone git://rtime.felk.cvut.cz/boost-statechart-viewer.git You can also browse the [repository online][1]. Gallery ------- ### Small [[small.png]] [[Source code|test.cpp]] ### StopWatch [[stopWatch.png]] [[Source code|StopWatch.cpp]] ### Camera [[camera.png]] [[Source code|StopWatch.cpp]] ### Big [[big.png]] [[Source code|big_sm.tar.gz]] [1]: http://rtime.felk.cvut.cz/gitweb/boost-statechart-viewer.git