Hierarchical Parallel State Diagrams with E4Coder

E4Coder can be used to generate State Diagrams similar to the UML State Diagrams and to those proposed by David Harel in the journal paper: David Harel, Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3):231–274, June 1987.

In particular, with SMCube you can:

  • design Hierarchical State Diagrams including parallel states, with support for OR and AND superstatesJunction points;
  • write guards and transitions in C language using the "In", "Out", "Var" macros to access to the internal state machine Data Model;
  • export your State Diagrams in PNG, BMP, JPG format.

The State Machine Semantic is well specified to allow consistent simulation and code generation. Each transition has a priority number which makes visible the order of evaluation of the guards.

The following are example screenshots that will give you an idea of the kind of State Diagrams that can be made using SMCube.

State Diagram of a AND Superstate made with SMCube and E4Coder
Figure 1: This Figure is a State Diagram with an AND superstate containing three OR Superstates implementing the Harel Digital Clock example.

State Diagram made with E4Coder showing the transition between TIME, STOPWATCH, ALARM mode. The Figure also includes a Junction Point
Figure 2: This Figure shows the MODE OR Superstate shown in Figure 1, showing a State Diagram with three states and a Junction point.