A new YouTube video shows how to get started with active objects and graphical state-machine modeling on the Pi (http://youtu.be/EagFPO8lG_s).
The QP active object (actor) frameworks enable the Pi enthusiasts to build responsive and modular applications as systems of cooperating, event-driven active objects (actors), which are hierarchical state machines that communicate with one another asynchronously by exchanging events. Active objects are closely related to the concept of agents used in Artificial Intelligence (AI) and are ideal for building highly responsive "smart" systems, like robots and control systems of all sorts.
The QP family consists of QP/C, QP/C++, and QP-nano frameworks, which all run beautifully on the Pi. The QP frameworks are your entry into advanced multi-threaded programming with POSIX threads without the typical risks and complexities associated with "free-threading". The extensive Application Note "QP and POSIX" describes the POSIX QP port.
The QP frameworks impose a design strategy called event-driven programming, which requires a distinctly different way of thinking than conventional sequential programs. All event-driven programs are naturally divided into the application, which actually handles the events, and the supervisory event-driven infrastructure (framework), which waits for events and dispatches them to the application. The control resides in the event-driven framework, so from the application standpoint, the control is inverted compared to a traditional sequential program.
The free QM™ graphical modeling tool takes the Pi programming to the next level, by enabling automatic code generation of Pi applications.