<p><aclass="extern" target="_blank" href="http://www.state-machine.com/qp"><strong>QP/C++™ (Quantum Platform in C++)</strong></a> is a lightweight, open source software framework for building responsive and modular real-time embedded applications as systems of cooperating, event-driven <a class="extern" target="_blank" href="http://www.state-machine.com/qp/index.php#Active">active objects</a> (<a href="http://en.wikipedia.org/wiki/Actor_model">actors</a>). The QP/C++™ framework is a member of a larger family consisting of QP/C++, QP/C, and QP-nano frameworks, which are all strictly quality controlled, thoroughly documented, and commercially licensable.
ThebehaviorofactiveobjectsisspecifiedinQPbymeansof<aclass="extern" target="_blank" href="http://en.wikipedia.org/wiki/UML_state_machine">hierarchical state machines (UML statecharts)</a>. The frameworks support manual coding of UML state machines in C or C++ as well as fully automatic code generation by means of the free graphical <a class="extern" target="_blank" href="http://www.state-machine.com/qm/help">QM™ modeling tool</a>.
TheQPframeworksareusedinmillionsofproductsworldwideinaerospace,medicaldevices,consumerelectronics,wiredandwirelesstelecommunications,industrialautomation,transportation,robotics,andmanymore.TheQPframeworksandthe<aclass="extern" target="_blank" href="http://www.state-machine.com/qm/help">QM modeling tool</a> receive over <a class="extern" target="_blank" href="http://sourceforge.net/projects/qpc/files/stats/timeline?dates=2014-01-01+to+2014-12-31">40,000 downloads a year</a>. The book, <a class="extern" target="_blank" href="http://www.state-machine.com/psicc2" >Practical UML Statecharts in C/C++, 2nd Edition</a> provides a detailed design study of the QP frameworks and explains all the related concepts.
QP/C++isavailablefordownloadfrom<aclass="extern" target="_blank" href="http://sourceforge.net/projects/qpc/files/QP-Cpp">SourceForge.net</a>--the world's biggest open source repository. The summary of available downloads is also available from <a class="extern" target="_blank" href="http://www.state-machine.com/downloads">Quantum Leaps download page</a>.
QP/C++islicensedundertheincreasinglypopular<aclass="extern" target="_blank" href="http://www.state-machine.com/licensing">dual licensing model</a>, in which both the open source software distribution mechanism and traditional closed source software distribution models are combined.
IfyouaredevelopinganddistributingopensourceapplicationsundertheGNUGeneralPublicLicense(GPL),aspublishedbytheFreeSoftwareFoundation,thenyouarefreetousetheQuantumLeapssoftwareunderthe<aclass="extern" target="_blank" href="http://www.gnu.org/copyleft/gpl.html">GPL version 3</a> of the License, or (at your option) any later version. Please note that 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.
ClosedSourceProjects:
-----------------------
Ifyouaredevelopinganddistributingtraditionalclosedsourceapplications,youcanpurchaseoneof<aclass="extern" target="_blank" href="http://www.state-machine.com/licensing/index.php#Commercial">Quantum Leaps commercial licenses</a>, which are specifically designed for users interested in retaining the proprietary status of their code. All Quantum Leaps commercial licenses expressly supersede the GPL open source license. This means that when you license Quantum Leaps software under a commercial license, you specifically do not use the software under the open source license and therefore you are not subject to any of its terms.
TheQuantumLeapsApplicationNote<aclass="extern" target="_blank" href="http://www.state-machine.com/doc/AN_Getting_Started_with_QPCpp.pdf"><strong>Getting Started with QP/C++</strong></a> provides step-by-step instructions on how to get started with QP/C++ quickly.
Pleasepostany**technicalquestions**tothe<aclass="extern" target="_blank" href="http://sourceforge.net/p/qpc/discussion/668726"><strong>Free Support Forum</strong></a> hosted on SourceForge.net. Posts to this forum benefit the whole community and are typically answered the same day.
TrainingandconsultingservicesarealsoavailablefromQuantumLeaps.Pleaserefertothe<aclass="extern" target="_blank" href="http://www.state-machine.com/support/">Support web-page</a> for more information.
<li><spanclass="imgfolder">include</span> — Platform-independent QP/C++ API (see <a href="dir_d44c64559bbebec7f509842c48db8b23.html"><strong>include</strong></a>)
</li>
<li><spanclass="imgfolder">source</span> — Platform-independent QP/C++ source code (see @ref <a href="dir_b2f33c71d4aa5e7af42a1ca61ff5af1b.html"><strong>source</strong></a>)
TheQP/C++frameworkcomeswithextensivesupportforautomaticrulecheckingbymeansof<aclass="extern" target="_blank" href="http://www.gimpel.com/">PC-Lint</a>, which is designed not just for proving compliance of the QP/C++ framework code, but more importantly, to aid in checking compliance of the application-level code. Any organization engaged in designing safety-related embedded software could benefit from the unprecedented quality infrastructure built around the QP/C++ framework.