]> rtime.felk.cvut.cz Git - boost-statechart-viewer.git/blobdiff - www/index.mdwn
Update web page
[boost-statechart-viewer.git] / www / index.mdwn
index 1598316d6c9d36af8d653653e4add7ce0224d0d4..1f65005a0df594ebdb407884b1f5e4941a974a3d 100644 (file)
@@ -1,31 +1,61 @@
 [[!meta title="Boost Statechart Viewer"]]
 
-Overview:
+Overview
 ---------
 
-Boost-statechart-viewer is a program for visualization state machines written using library boost/statechart. It is written in C++ using clang and LLVM. For compiling and correctly working program is necessary to have LLVM and clang version 2.9.
+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.
 
-Authors:
+[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
+-----
+- 2013-04-05 The program is working with LLVM and Clang version 3.0 or higher
+- 2012-07-11 We have got a new [mailing list][list].
+
+Authors
 --------
 
-Petr Silhavik <silhape2@fel.cvut.cz> <br>
-Michal Sojka  <sojkam1@fel.cvut.cz>
+[list]: https://rtime.felk.cvut.cz/mailman/listinfo/boost-statechart-viewer
 
-Status:
+Petr Silhavik, Michal Sojka. You can contact us using a
+[mailing list][list] at <boost-statechart-viewer@rtime.felk.cvut.cz>.
+
+Status
 -------
 
-Program can found states and transitions. Now it doesn't support orthogonal states. The state machine can be inside many namespaces, but not inside templates. State machine can be defined in more than one file. Program accepts all options and flags of command line as compilers(gcc, clang, ...).
+- The program can found states and transitions in the source code.
+- The program understands all options and flags as the compilers (gcc, clang, ...). The syntax analysis is done by compiler clang.
+- State machines can be defined in more than one file.
+- All states and their implementations must be directly accesible from file that is used as input for viewer.
+- Program provides diagnostics of state machines eg. event usage, missing typedefs for reactions.
+
+For compiling and correctly working program it is necessary to have
+LLVM and clang version 3.0 or higher.
 
-Using:
+
+Usage
 ------
 
-For using the program you 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). Program displays all diagnostic messages like compilers. If an error occurs the program stops.
+The program is plugin for compiler clang. The produced output file has the same name as the input file with source code.
+It is also possible to use script that also produces the state diagram in format pdf. It can be also found in repository.
+
+####Example of command line invocation: 
 
-####Example of using command line: 
+    clang++ -Xclang -load -Xclang visualizer.so -Xclang -plugin -Xclang visualize-statechart -c file.cpp
 
-    ./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.
 
-The output file can be transformed into the picture using classical dot commands. The start state is double outlined. Each transition has transition has label with the name of the event.
+[graphviz]: http://www.graphviz.org/
 
 Download:
 ---------
@@ -34,21 +64,28 @@ 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].
+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 example from boost statechart library
+ - State Storing is red because it has no typedef for reactions and it can be error produced by programmer
+
 [[camera.png]]  
-[[Source code|StopWatch.cpp]]
+[[Source code|camera.tar.gz]]
 
+### Big
 [[big.png]]  
 [[Source code|big_sm.tar.gz]]