View QP/C Revision History at: https://www.state-machine.com/qpc/history.html
NOTE: If you're interested in the latest QP/C version from GitHub, it is recommended that you clone this repo like that:
git clone https://github.com/QuantumLeaps/qpc --recurse-submodules --depth 1
Alternatively, you can also download one of the stable QP/C Releases.
QP/C real-time embedded framework (RTEF) is a lightweight implementation of the Active Object (a.k.a. Actor) model of computation specifically tailored for deeply embedded real-time systems, such as microcontrollers (MCUs). QP/C is both a software infrastructure for building applications consisting of Active Objects (Actors) and a runtime environment for executing the Active Objects in a deterministic, real-time fashion. Additionally, QP/C Framework supports Hierarchical State Machines with which to specify the behavior of Active Objects [UML 2.5], [Sutter:10], [ROOM:94]. The QP/C Framework can be viewed as a modern, asynchronous, and truly event driven real-time operating system (RTOS).
QP/C framework is part of the larger QP family consisting of the following QP editions:
QP Edition | Language | API | Safety Functions | Certification Artifacts | Licensing |
---|---|---|---|---|---|
QP/C | C (C11) | same as SafeQP/C | Selected Assertions | Req/Arch/Design | dual |
SafeQP/C | C (C11) | same as QP/C | All Safety Functions | Certification Kit | commercial |
QP/C++ | C++ (C++17) | same as SafeQP/C++ | Selected Assertions | Req/Arch/Design | dual |
SafeQP/C++ | C++ (C++17) | same as QP/C++ | All Safety Functions | Certification Kit | commercial |
The documentation of all QP editions includes the Requirements, Architecture, and Design Specifications, which are the best source of information about the underlying concepts, functionality, architecture, and design of the QP Frameworks and the QP Applications based on the frameworks.
NOTE: The SafeQP frameworks additionally contain Safety Functions required to achieve the higher safety integrity levels and come with much more extensive Certification Kits.
The most recommended way of obtaining QP/C is by downloading the QP-bundle, which includes QP/C as well as the QM modeling tool and the QTools collection. The main advantage of obtaining QP/C bundled together like that is that you get all components, tools and examples ready to go.
-
"QP/C Tutorial" describes a series of progressively advanced QP/C example applications.
-
Video: "Getting Started with QP Real-Time Embedded Frameworks" provides instructions on how to download, install, and get started with QP.
-
AppNote: "Getting Started with QP Real-Time Embedded Frameworks" contains also a tutorial, in which you build a simple "Blinky" application.
The QP/C real-time embedded framework is licensed under the dual licensing model, with the following licensing options:
NOTE: The GPL requires that all modifications to the original code as well as your application code (Derivative Works as defined in the Copyright Law) must also be released under the terms of the GPL open source license.
- Closed-source licensing under one of Quantum Leaps commercial licenses, which are specifically designed for users interested in retaining the proprietary status of their code.
NOTE: If your company has a policy forbidding open source in your product, all QP frameworks can be licensed commercially, in which case you don't use any open source license and you do not violate your policy.
Due to the widespread non-compliance with the GPL, as well as infringement on the dual-licensing model of QP frameworks, the following QP/C components have been removed from the open-source GPL distribution:
- QS target-resident software tracing component
- QXK dual-mode kernel
NOTE: These components are available to the commercial licensees with the active Support Term. Please contact Quantum Leaps technical support to get the complete QP/C framework distribution.
NOTE: To request evaluation of the complete QP/C framework, please contact Quantum Leaps at: https://www.state-machine.com/contact
The online HTML documentation for the latest version of QP/C is located at: https://www.state-machine.com/qpc
The offline HTML documentation for this particular version of QP/C is located in the sub-folder html (included in the QP/C releases). To view the offline documentation, open the file html/index.html in your web browser.
- Free Support Forum
- Bug Reports
- Feature Requests
- Quantum Leaps website
- Quantum Leaps licensing
- [email protected]
If you like this project, please give it a star (in the upper-right corner of your browser window):