[[!meta title="Boost Statechart Viewer"]] Overview --------- Boost-statechart-viewer is a program for visualization of 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/ NEWS ----- - 2012-07-11 We have got a new [mailing list][list]. - 2011-08-11 Added support for orthogonal states. Authors -------- [list]: https://rtime.felk.cvut.cz/mailman/listinfo/boost-statechart-viewer Petr Silhavik, Michal Sojka. You can contact us using a [mailing list][list] at . Status ------- - The program can found states and transitions in the source code. Now it also supports 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. For compiling and correctly working program it is necessary to have LLVM and clang version 2.9. We are currently trying to update it for LLVM 3.1. 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