Practical UML Statecharts in C/C++, 2nd Ed. Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems (PSiCC2) is the most popular book about UML statecharts and event-driven programming for embedded systems. This ultimate resource describes all the related concepts and provides a very detailed design study of the QP™ frameworks. companion page to PSiCC2

Jeff Karau

Without using QP, I don't believe we could have delivered on our given schedule dates with the same level of quality."

Jeff Karau, Sr. Software Engineer, General Dynamics C4 Systems

Henrik Bohre

...After trying out a couple of CASE tools we came to the conclusion that expensive round-trip-engineering UML tools were cumbersome and did not fit our way of working. However, the innovative QP way to map UML state machines to C/C++ code was exactly what we were looking for..."

Henrik Bohre, Embedded Systems Consultant, GotCom AB, Göteborg, Sweden

Michael_Barr

I'm speaking from first-hand experience when I say this is really good stuff. I just hope others will recognize that and we can get past the old main+ISR vs. RTOS dilemma for a large variety of applications."

Michael Barr, President Netrino and former editor-in-chief of the ESP magazine

Haitham Hindi

Practical Statecharts in C/C++ has been an indispensible reference for my embedded systems work. The clear and succinct conceptual and software framework, along with the immediately usable code enabled us to get a working prototype of our control system in a few weeks."

Dr. Haitham Hindi, Palo Alto Research Center (PARC)

Paul Montgomery

...QP has been adopted accross the company and is used in all our products on a variety of OS platforms..."

Dr. Paul Montgomery, Director of Engineering, Novariant, Fremont CA

Apple Computer, Inc.

I recently rewrote a major piece of code to utilise the QP framework and it has worked wonders. My previous code used a more traditional state machine and had quickly evolved into spaghetti code. The hierarchical state machine approach made the new code smaller, more robust, and much easier to maintain and extend."

Bob Bradley, Apple Computer, Inc., from Amazon.com review

Honeywell International

Quantum Leaps software has revolutionized not just the way we write our software, but the way we approach our design. It is intuitive, easy to implement and comes in an incredibly small package. If you're in the 8-bit world, you need this software!"

Chad Koster, Software Engineer, Honeywell

Rich Wooley

Simply put, designing sofware using the QP framework lets you code the way you think..."

Rich Wooley, Sofware Engineer, Nipro Diabetes Systems, Florida

more user stories

The Licensing Model

Quantum Leaps®, LLC uses the increasingly popular dual licensing business model, in which both the open source software distribution mechanism and traditional closed source software distribution models are combined.

Open Source Projects:

Open Source

If you are developing and distributing open source applications under the GNU General Public License version 2 (GPLv2), as published by the Free Software Foundation, then you are free to use the Quantum Leaps software under the GPLv2 license. Please note that GPLv2 Section 2(b) 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 GPLv2 open source license.

learn more about open source licensing

Closed Source Projects:

Closed Source

If you are developing and distributing traditional closed source applications, you must purchase one of Quantum Leaps commercial licenses, which are specifically designed for users interested in retaining the proprietary status of their code. All Quantum Leaps commercial licenses expressly supersede the GPLv2 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. Commercial licensing options are described below.

submit a no-obligation license request form The Far-Reaching Implications of FOSS Licence Violation

Commercial Licenses

QP inside

Quantum Leaps commercial licenses are designed for users, who cannot open their application code and therefore cannot use Quantum Leaps software under the terms of the GPLv2 open source license.

Quantum Leaps offers the following commercial licensing options:

Evaluating the Software

The open character of the QP/C™, QP/C++™, and QP-nano™ frameworks allows anybody to evaluate the software under the GPLv2 open-source license. In this respect, evaluating dual-licensed software delivers a large advantage over the highly supervised trial licensing practices still so common in the embedded system marketplace.

However, when you are past the evaluation stage and start developing a commercial QP application you must purchase one of the QP commercial licenses.


Continuing to use the QP™ software under the open source GPL license without any intent to open up your code under the terms of the GPL license represents a violation of the GPL license and is illegal.


Acquiring a commercial license early in the development process not only protects your closed-source software, but also gives you Technical Support when you most need it.

Technical Support

Every commercial license includes one (1) year of technical support. Additionally to the unlimited e-mail support, the commercial support entitles the Licensee to upgrading any licensed QP component to any newer version that Quantum Leaps might release during the Support Term. The original one-year Support Term can be extended annually, as described in Section "Extended Support". After the expiration of the Support Term, the Licensee can no longer upgrade the software under this particular license, although the Licensee retains the right to use any version of the software released within the Support Term.

Business Model: Many first-generation open source vendors (e.g., Linux companies) build their business model on a free product and paid support, while Quantum Leaps charges for the product and offers free 1-year technical support for every commercially licensed product. As a consequence, we are highly motivated to keep our software free of bugs, easy to use, and to supply good documentation with many examples to minimize our support load and expenses. This is in contrast to many first-generation open-source vendors, where such strategy would actually lower their revenue and profit from support contracts.

When in Doubt

If you are unsure about your use of our software, we recommend that you buy a royalty-free commercial license. That is the safest solution and is never wrong. Thanks to our cost-effective way of producing software, we are able to sell our commercial licenses at prices well under the industry average.

The best way to submit a licensing question is by means of our License Request Form. We encourage you to refer to our Frequently Asked Questions section or a lawyer as appropriate. The final judgment, of course, can be made only by a court of law. With that said, we recommend the commercial license to all commercial and government organizations. This frees you from the broad and strict requirements of the GPLv2 license.

To all open source enthusiasts we recommend our products under the GPLv2 license. We believe that Quantum Leaps open source contribution brings unique benefits to the embedded software community.

Quantum Leaps Price List

NOTE: Quantum Leaps reserves the right to change the prices at any time and without notice. Please submit a no-obligation License Request form to recieve a binding price quote.


Commercial License Fees (US Dollars)
QP™ Framework Type Single Product License
(see volume discounts)
Product Line / CPU License OEM License
 QP/C $ 2,995.–1 $17,970.– ask for pricing
 QP/C++ $ 3,995.–1 $23,970.– ask for pricing
 QP-nano $ 1,495.–1 $ 8,970.– ask for pricing
1see volume discounts for multiple Single Product Licenses purchased with one License Agreement
Volume Discounts for Single Product Licenses
Number of Single Products 1 2 3 4 5 or more
  Volume Discount 0% 5% 10% 15% 20%
Example: 3 Single Product Licenses for QP/C. License fee before the volume discount: 3*$2,995 = $8,985. Volume discount for 3 Single Product Licenses = 10% * $8,985 = $898. Total price after the volume discount = $8,985 - $898 = $8,087.

Extended Support
Support Type First Year Subsequent Year
 Unlimited e-mail Support and free software upgrade2 Included in the License Fee $1,000 + 10%
of the total License Fee
2requires a valid commercial license

License Purchasing Procedure

The steps for obtaining a Quantum Leaps commercial license are as follows:

  1. A Customer fills out and submits the License Request Form.
  2. For one of our standard licenses, Quantum Leaps will reply via e-mail with the attached Licensing Agreement to be filled out and signed by the Licensee.
  3. For a Custom License, Quantum Leaps negotiates a custom-tailored Licensing Agreement and pricing.
  4. The Customer sends filled out and signed Licensing Agreement to Quantum Leaps by fax, or via regular mail.
  5. After receiving the signed Licensing Agreement Quantum Leaps issues an invoice to the customer.
  6. Upon receiving payment confirmation or a copy of a purchase order, Quantum Leaps signs the customer's copy of the Licensing Agreement, assigns a unique License Number, and sends the customer's copy back to the customer by fax as well as to the customer's postal address.

Commercial License Request Form

Please fill out the information below, required fields are color-coded and marked with a *.
NOTE: The information you provide will be handled with outmost confidentiality.
License Request Form
 First Name: *  Mr. Mrs.
 Last Name: * 
 E-mail Address: * 
 Phone:  
 Job Function:  
 Company/
 Institution: * 
 Street Address: * 
 City: * 
 State/Province: * 
 ZIP/Postal Code: * 
 Country: * 
 Company's Website:  
 Application Type:  
 QP™ Framework Type: * 
 QP/C
 QP/C++
 QP-nano
 License Type: * 
 Single Product License
 Product Line License
 OEM License
 Anticipated
 Production
 Date: *  
 already in production    within 3 months    within 6 months
 within 1 year    more than 1 year
 Target CPU:  
 Compiler:  
 RTOS/Kernel:  
 if "Other" please specify:
 Questions/
 Comments:  
 Quantum Leaps
 Partner Referral:  
 If QP was recommended by a Quantum Leaps Partner, please provide his/her name:
 Notification:    I'd like to be notified via e-mail about new product releases and upcoming events related to Quantum Leaps software.

Last updated: February 27, 2012