Writing a good program is not a simple process. The program behavior is hardly predictable, so, to gain more control of program execution, it is advisable to use tools, which allow to make it graphic. My chief gained some info about finite state machines and advised me to read book "The SWITCH technology" by Shalyto. There I have seen a way to use finite automatas for general programming. I have written a first version of finite state machine editor for Flora system. It was ugly. It was buggy. But Programs made with this editor were stable. Then I rewrote the editor using automata tecnology. Then I started an open-source project. There are simular principles in it, but it's written in another language, and runs in different environment than it's commercial analog.

Here is a first release of FSME. There are a lot of ideas to be implemented, but it's quite usable right now.

Some parts of FSME are made with FSME itself.

To version 1.0 FSME has grown to 3 branches:

How to

Some icons are used to mark certain topics indicative of their relevance. These icons precede some text to indicate:

Note Information provided is moderately important and should be noted by the reader.
Alert Information provided is of utmost importance.
Detail Information provided is auxiliary but will give the reader a deeper insight into a specific topic. May be skipped.
Tip A potentially useful and helpful piece of information.