This is the tool for generating C++ and Java finite state machines and also diagrams. The benefits of this solution: It is light and fast. It is using dynamic memory allocation very low. Logic of transitions is separated from implementation of event
UMLSpeed is a compiler for a C-style language of UML notation. It can produce SVG UML diagrams, XMI documents and generate source code in various languages.