links to Harel and UML, our early papers.
We have developed a statecharts engine capable of running the hierarchical statecharts and a visual editor capable of defining the statechart using a visual language. Combination of these tools allows us to use the statecharts as a part of the model/viewmodel layer to control the application run according to complex rules and conditions.
Here is an example of a simulator used in our First Aid Game.
The Statecharts IDE allows creating hierarchical statecharts with actions in states and on transitions, with transition conditions and other features as junctions, history and implicit events (although implicit events are disabled in the current release). The language used to specify the actions and conditions is C#. The source code of the actions is generated as a partial class. That is suitable if one can control visual controls of an application since they are usually private members of a Form. Along the actions source the statechart structure is generated and compiled as na .NET assembly. To be used in a project the Runtime.dll assembly with the statecharts runtime must be linked as well.
The source code of the Statecharts IDE together with the Statecharts Runtime can be downloaded here .
The old version of the Statecharts tool without the editor but with full support of implicit events can be found on http://patf-biokyb.lf1.cuni.cz/projects/statecharts/.