]> rtime.felk.cvut.cz Git - boost-statechart-viewer.git/blob - www/index.mdwn
c8aac4d78cbfe0e258cfe3628ea9b2229991c0db
[boost-statechart-viewer.git] / www / index.mdwn
1 [[!meta title="Boost Statechart Viewer"]]
2
3 Overview
4 ---------
5
6 Boost-statechart-viewer is a program for visualization of state
7 machines written in C++ with [boost][boost]/[statechart][statechart]
8 library. The program itself is written in C++ and uses [clang][clang]
9 from [LLVM][llvm] project for analyzing the source code. This program
10 is released under the GNU GPL license.
11
12 [boost]: http://www.boost.org/
13 [statechart]: http://www.boost.org/doc/libs/1_46_1/libs/statechart/doc/index.html
14 [clang]: http://clang.llvm.org/
15 [llvm]: http://llvm.org/
16
17 NEWS
18 -----
19 2012-07-11 We have got a new [mailing list][list].
20 2011-08-11 Added support for orthogonal states.
21
22 Authors
23 --------
24
25 [list]: https://rtime.felk.cvut.cz/mailman/listinfo/boost-statechart-viewer
26
27 Petr Silhavik, Michal Sojka. You can contact us using a
28 [mailing list][list] at <boost-statechart-viewer@rtime.felk.cvut.cz>.
29
30 Status
31 -------
32
33 - The program can found states and transitions in the source code. Now it also supports orthogonal states.
34 - The program understands all options and flags as the compilers (gcc, clang, ...).
35 - State machines can be defined in more than one file.
36 - The state machine can be inside many namespaces, but not inside templates. 
37
38 For compiling and correctly working program it is necessary to have
39 LLVM and clang version 2.9. We are currently trying to update it for
40 LLVM 3.1.
41
42
43 Usage
44 ------
45
46 The program can be used almost the same way as a C compiler. You will
47 typically need to specify locations for all header files except of the
48 files stored in system folder(in Linux: /usr/...) using `-I` option.
49 Of course you can specify the output filename (`-o` option). Program
50 displays all diagnostic messages like compilers. If an error occurs
51 the program stops.
52
53 ####Example of command line invocation: 
54
55     ./visualizer main.cpp -o graph.dot -I /home/petr/install/
56
57 The output file can be transformed into the picture using classical
58 [dot][graphviz] commands (e.g. `dot -Tpng graph.dot -o graph.png`) . The initial
59 state is double outlined. Each transition has a label with the name of
60 the triggering event.
61
62 [graphviz]: http://www.graphviz.org/
63
64 Download:
65 ---------
66
67 Boost statechart viewer can be downloaded from GIT repository.
68
69     git clone git://rtime.felk.cvut.cz/boost-statechart-viewer.git
70
71 You can also browse the [repository online][1].
72
73
74 Gallery
75 -------
76
77 ### Small
78 [[small.png]]  
79 [[Source code|test.cpp]]
80
81 ### StopWatch
82 [[stopWatch.png]]  
83 [[Source code|StopWatch.cpp]]
84
85 ### Camera
86 [[camera.png]]  
87 [[Source code|StopWatch.cpp]]
88
89 ### Big
90 [[big.png]]  
91 [[Source code|big_sm.tar.gz]]
92
93   [1]: http://rtime.felk.cvut.cz/gitweb/boost-statechart-viewer.git