Quantum Event Processor™-nano (QEP-nano) is a generic, portable, and reusable hierarchical event processor that processes events according to the general semantics of UML state machines [UML document ptc/03-08-02]. QEP™-nano allows you to map UML state diagrams directly and clearly to code without the assistance of complex tools. It allows you to create better designs because you can think in terms of events, states, and transitions directly at the level of the C programming language. The resulting code is smaller, cleaner, more robust, and simpler to understand and maintain. The testing is faster, more rigorous, and more complete because state machine approach cleanly defines a limited state space for the system and constraints the possible transitions among the states.
QEP™-nano provides facilities for executing Hierarchical State Machines (HSMs) as well as the simpler traditional Finite State Machines (FSMs). QEP-nano can operate with almost any event queuing and dispatching mechanisms, which are also necessary components of a hypothetical state machine [ptc/03-08-02]. For example, QEP-nano can be used with virtually any event-driven environment, such as any Graphical User Interface system. When used in the domain of real-time embedded (RTE) systems, QEP can be combined with other QP-nano components designed specifically for RTE systems. QEP-nano is described in Chapter 12 of the book Practical UML Statecharts in C/C++, Second Edition, Newnes 2008.
Please refer to Section 7. Coding Hierarchical State Machines in the QP-nano Tutorial for information on coding UML-compliant hierarchical state machines with QEP-nano.
1.5.4