Home > Workshops >

Modern Embedded Systems Programming with QP Real-Time Event Frameworks

Miro Samek - EOC 2026

Modern Embedded Systems Programming with QP Real-Time Event Frameworks
Miro Samek

Many embedded developers say they use eventdriven programming and state machines, yet their implementations often stop at message queues, event loops, and switch statements. Building true eventdriven, hardrealtime systems requires a more advanced architectural foundation.

This workshop introduces the QP/C and QP/C++ RealTime Event Frameworks—mature, lightweight, opensource frameworks that implement the Active Object (Actor) model and modern Hierarchical State Machines (UML statecharts). Participants will learn how this reusable architecture avoids sharedstate concurrency, enables deterministic real-time behavior, and provides a scalable infrastructure for extensible embedded applications.

Through handson exercises on both a host PC and an STM32 NUCLEO board, attendees will explore the whole workflow of designing and implementing eventdriven systems with QP.

Topics include:

  • Building and running QP examples to get started with the framework
  • Implementing Hierarchical State Machines manually in C or C++
  • Modeling UML statecharts graphically and generating code automatically
  • Using time events to manage timing without blocking
  • Executing Active Objects for hard realtime performance:
    • with QP’s builtin kernels (nonpreemptive QV, preemptive nonblocking QK)
    • with traditional RTOSes (FreeRTOS, Zephyr)
    • with generalpurpose OSes (embedded Linux, Windows)
  • Event delivery mechanisms: direct posting and publish–subscribe
  • Event memory management: immutable events and mutable events with user-defined parameters
  • Software tracing for debugging, optimization, and monitoring
  • Tracebased testing of eventdriven QP applications

By the end of the workshop, participants will understand what it truly means to architect embedded software around events, state machines, and nonblocking concurrency—and how QP frameworks and the ecosystem of the surrounding tools make this approach practical, maintainable, and certifiable.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

No comments or questions yet. Will you be the one who will break the ice?

OUR SPONSORS & PARTNERS