Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

QP/C++ Real-Time Event Framework/RTOS is a lightweight implementation of the asynchronous, event-driven Active Object (Actor) model and Hierarchical State Machines.

NotificationsYou must be signed in to change notification settings

QuantumLeaps/qpcpp

Repository files navigation

QP Framework

What's New?

GitHub release (latest by date)

View QP/C++ Revision History at:https://www.state-machine.com/qpcpp/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/qpcpp --recurse-submodules --depth 1

Alternatively, you can also download one of the stableQP/C++ Releases.

About QP/C++ Real-Time Event Framework

QP/C++ real-time event framework (RTEF) is a lightweight implementation ofthe asynchronous, event-drivenActive Object (a.k.a. Actor) model of computationspecifically designed for real-time embedded systems, such as microcontrollers (MCUs).QP/C++ is both a software infrastructure for building applications consistingof Active Objects (Actors) and a runtime environment for executing the ActiveObjects in a deterministic, real-time fashion. Additionally, QP/C++ Frameworksupports Hierarchical State Machines with which to specify the behavior ofActive Objects [UML 2.5], [Sutter:10], [ROOM:94]. The QP/C++ Framework can beviewed as a modern, asynchronous, and truly event driven real-time operatingsystem (RTOS).

QP Framework Family

QP/C++ framework is part of the larger QP family consisting of the followingQP editions:

QP EditionLanguageAPISafety FunctionsCertification ArtifactsLicensing
QP/CC (C11)same as SafeQP/CSelected AssertionsReq/Arch/Designdual
QP/C++C++ (C++17)same as SafeQP/C++Selected AssertionsReq/Arch/Designdual
SafeQP/CC (C11)same as QP/CAll Safety FunctionsExtensive
Certification Kit
commercial
SafeQP/C++C++ (C++17)same as QP/C++All Safety FunctionsExtensive
Certification Kit
commercial

TheSafeQP/C andSafeQP/C++ frameworks were originally derived from QP/C and QP/C++,respectively, but were extensively reengineered for the safety market using compliantSoftware Safety Lifecycle (SSL). In this process, the QP framework functional model has beensubjected to a full Hazard and Risk Analysis, which identified all areas of weakness withinthe functional model and API. These findings led to creation of Safety Requirements and riskmitigation by Safety Functions, which were subsequently implemented, verified, and validated.The SafeQP frameworks are accompanied by the "SafeQP Certification Kits", which providedevelopers with ready-to-use artifacts, enabling them to save time, mitigate risk, and reducecosts during application certification for safety-critical devices in the industrial, medical,aerospace, and automotive industries. Pleasecontact Quantum Leapsfor more information about the SafeQP frameworks and the "Certification Kits".

NOTE: The SafeQP/C++ edition remain fully API- and functionally compatible with thecorresponding standard QP/C++ framework. This ensures existing QP/C Applications can transitionseamlessly to SafeQP/C++ without requiring any modifications. SafeQP/C edition retain QP/C++Frameworks' hallmark features, including a small memory footprint, excellent efficiency,and hard real-time functionality.

Getting Started with QP/C++

The most recommended way of obtaining QP/C++ is by downloading theQP-bundle, which includes QP/C++as well as theQM modeling tool and theQTools collection.The main advantage of obtaining QP/C++ bundled together like that isthat you get all components, tools and examples ready to go.

Getting Started Resources

Licensing

The QP/C++ real-time event framework is licensed under thedual licensing model, withthe following licensing options:

  1. Open-source licensing under theGNU General Public License (GPLv3).

NOTE: The GPL requires that all modifications to the original codeas well as your application code (Derivative Works as defined in theCopyright Law) must also be released under the terms of the GPLopen source license.

  1. Closed-source licensing under one ofQuantum Leaps commercial licenses,which are specifically designed for users interested in retaining theproprietary 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 useany open source license and you do not violate your policy.

NOTE: TheSafeQP frameworks and the accompanying "Certification Kits"are licensed commercially only.

Files Removed from the QP/C++ Open Source GPL Distribution

Due to the widespread non-compliance with the GPL, as well as infringement on thedual-licensing model of QP frameworks, the following QP/C++ componentshave beenremoved from the open-source GPL distribution:

  • QS target-resident software tracing component
  • QXK dual-mode kernel

NOTE: These components are available to thecommercial licensees withthe active Support Term. Please contactQuantum Leaps technical supportto get the complete QP/C++ framework distribution.

NOTE: To requestevaluation of the complete QP/C++ framework, please contactQuantum Leaps at:https://www.state-machine.com/contact

Documentation

The online HTML documentation for thelatest version of QP/C++ is locatedat:https://www.state-machine.com/qpcpp

The offline HTML documentation forthis particular version of QP/C++is located in the sub-folderhtml (included in theQP/C++ releases).To view the offline documentation, open the filehtml/index.htmlin your web browser.

Contact Information

How to Help this Project?

If you like this project, please give it a star (in the upper-right corner of your browser window):



[8]ページ先頭

©2009-2025 Movatter.jp