QP real-time event frameworks (RTEFs) provide lightweight, modern, event-driven architecture based on asynchronous Active Objects (Actors) and Hierarchical State Machines. The matching QM model-based design tool and other host-based tools complement the QP frameworks by supporting graphical modeling, code generation, software tracing, and unit testing for event-driven embedded software. Visit https://www.state-machine.com for more information.
The QP RTEFs can run on bare-metal microcontrollers, replacing a traditional RTOS. The frameworks contain a selection of built-in real-time kernels (RTOS kernels), such as the cooperative QV kernel, the preemptive non-blocking QK kernel, and the unique preemptive, dual-mode (blocking/non-blocking) QXK kernel. Native QP ports and ready-to-use examples are provided for ARM Cortex-M (M0/M0+/M3/M4/M7/M33/...) as well as other CPUs. The QP RTEFs can also work with many traditional RTOSes and General-Purpose OSes, such as Linux and Windows.
Features
- Lightweight Real-Time Event Frameworks (RTEFs) based on event-driven Active Objects (Actors), which are safer and more extensible than the traditional "naked" RTOS threads
- Simple-to-use coding techniques for Hierarchical State Machines (UML statecharts), with which to implement the behavior of Active Objects as well as passive objects in the application
- Free, QM modeling tool for drawing UML statecharts and automatic code generation based on QP frameworks
- Efficient and thread-safe asynchronous mechanisms for Active Objects to communicate, such as direct event posting and publish-subscribe
- Selection of built-in RTOS kernels to run the QP applications, such as the cooperative QV kernel, the preemptive non-blocking QK kernel, and the preemptive blocking QXK kernel
- Ready-to use ports to traditional RTOS kernels (embOS, FreeRTOS, ThreadX, uC/OS-2, Zephyr)
- Built-in QP/Spy software tracing for life-system debugging, monitoring, and optimizing embedded code
- Powerful QUTest unit and integration testing specifically designed for event-driven software
- SafeQP/C and SafeQP/C++ editions with complete Certification Kits for functional safety applications
License
Other License, GNU General Public License version 3.0 (GPLv3)Follow QP Real-Time Event Frameworks & Tools
User Reviews
-
nglazerdev said it all - I couldn't have said it better. I also have used this on several medical device projects, all bare metal, one class III and one class II. QM takes a while to learn but is completely worth it. QP is the best state machine tool there is.
-
It looks complex, actually it is, but it has what you will need. The collection comes with a ready architecture. What you only have to do is to understand the framework and design your application, incrementally. It is worth to learn. It is not an extraordinary, non-standart tool. It is a real software engineering implementation.
-
With many details said by different people, this project seems to be so complete I can't add except it is perfect. Greatest thanks to developers.
-
QP and all of the associated tools are great. I have used QP/C++ in multiple projects; on bare metal TI chips and in Linux on the i.MX6. It perfectly captures and combines model-based generative programming, hierarchical state machines, the actor model, and reactive event-based programming. It is well worth the time to learn the framework and the associated concepts. It greatly reduces the boilerplate code and design work needed to do even complex projects. QP is lightweight, fast, and has a small footprint, as well as being appropriate for safety critical systems. Support for QP is very good with quick and in-depth responses from the community and Quantum Leaps. I highly recommend QP!
-
A Master piece. It worth well the spent time to learn it. Once done, so powerful and natural for an embedded programmer whose state machines are the basic tool. After using MicroCOS-II for a while, I use QPC++ on QK kernel for 5 years for a critical project and I can't imagine doing otherwise. Everything falls at the right place on the right time : the concept, the framework, the kernel (QK) and the associated tools are of first class (a bit less for QM in team developed projects). Yes it is different, but it's as different as the wrong way is compared to the right way of doing things. The support is so great, so clear and so FAST ! Not convinced, please read the introduction papers on the state-machine.com site.
Additional Project Details
Intended Audience
Aerospace, Healthcare Industry, Telecommunications Industry, Developers, Engineering, AutomotiveProgramming Language
C++, CRelated Categories
C++ Frameworks, C++ Operating System Kernels, C++ Embedded Systems Software, C Frameworks, C Operating System Kernels, C Embedded Systems SoftwareRegistered
Find a Partner

QP/QM Training
Quantum Leaps offers an on-site training "Modern Embedded Systems Programming with QP™ Frameworks and QM™ Modeling Tool". This 2- to 3-day training uses hands-on exercises combined with instruction to illustrate the concepts underlying the QP active object frameworks and how they are applied in embedded systems programming requiring hard real-time performance. Upon completion of the two-day training, participants have good understanding of event-driven systems, skills in designing and implementing UML state machines manually in C or C++ and graphically with the QM modeling tool, and the ability to build their own QP applications. Additionally, upon completion of the three-day training, participants gain understanding of the real-time kernel options built-into the QP frameworks, learn how to reuse behavior with sub-machines, find out how to apply software tracing to debug and optimize their event-driven code and how to apply unit testing to active objects and state machines.
Add-ons & Plugins

QM visual model based design tool

QTools Collection

QP/Spy Software Tracing
