RKH - State Machine Framework Icon

RKH - State Machine Framework

State machine framework for reactive embedded systems

5.0 Stars (2)
6 Downloads (This Week)
Last Update:
Download rkh_v1.1.2.rar
Browse All Files



RKH is a generic, flexible, modular, highly portable, ANSI-C compliant, and open-source development tool for implementing hierarchical state machines based on modern state machine concepts. This modern techniques are used to give an abstract description of the dynamic behavior of a system in a substantial manner.

The RKH not implements neither entire UML specs. nor entire Statechart specs. Instead, the RKH intention is to support just enough basic concepts of that powerful tools to facilitate the reactive-system modeling holding a solid, and efficient implementation. Broadly speaking, the RKH implementation has been designed from the ground up to be used in 8-bits platforms but can be easily adapted to 16 or 32-bits platforms.

RKH - State Machine Framework Web Site


  • State machines representation is based on state table.
  • Representing a state machine with RKH is intuitive, and easy.
  • Reflects the state diagram without obfuscation.
  • The RKH application are highly maintainable.
  • Easy to integrate with any event queuing and dispatching mechanism.
  • Useful in embedded systems.
  • The most of the RKH implementation is independent of any particular CPU, OS, or compiler.
  • Flexible and user-configurable code generation.
  • Very small footprint.
  • Include a dispatching event mechanism based on active object's priority.
  • Include a queue module
  • Include a software timer module.
  • Include a fixed-size memory block module.
  • Include a native tracing tool.
  • Support hierarchically nested states, and flat state machines.
  • Support multiple state machines.
  • Support conditional, junction, and history pseudostates.
  • Support compound transitions with guards.
  • Support submachine state
  • Support entry and exit actions.
  • Implement the traditional transition sequence.
  • Include mechanism for deferring events.
  • Support event dispatching with parameters.
  • Support dynamic events.
  • Support a easy way to use events with arguments.
  • Support systems-friendly assertion macros like assert, allege, error, require, and ensure.
  • Support local transitions.


User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
Write a Review

User Reviews

There are no 3 star reviews.

Additional Project Details


English, Spanish

Intended Audience

Healthcare Industry, Education, Telecommunications Industry, Developers, Agriculture, Automotive

Programming Language

C++, C


Screenshots can attract more users to your project.
Features can attract more users to your project.