Modern Embedded Systems Programming

The embedded software industry is in the midst of a major IoT revolution. Tremendous amount of new development lays ahead. This new software needs an actual architecture that is inherently safer, more extensible, and easier to understand than the usual shared-state concurrency and blocking based on a traditional Real-Time Operating System (RTOS).

Quantum Leaps' software frameworks and tools provide such a modern, reactive, event-driven architecture based on active objects (actors), hierarchical state machines, software tracing, graphical modeling and automatic code generation.

Welcome to the 21st Century!

Embedded Frameworks

QP/C QP™/C

Lightweight open source reactive framework in C. Recommended for 16- and 32-bit MCUs with RAM > 1KB, such as ARM Cortex-M.


QP/C++ QP™/C++

Lightweight open source reactive framework in C++. Recommended for 16- and 32-bit MCUs with RAM > 1KB, such as ARM Cortex-M.


QP-nano QP™-nano

Ultra-lightweight open source reactive framework in C. Recommended for low-end 8- and 16-bit MCUs with RAM < 1KB, such as MSP430 and AVR.


Supported Embedded Processors

The QP™ embedded frameworks are highly portable and have been ported to many embedded processors in the past. In recent years, however, we focused on the incredibly popular  ARM Cortex-M  CPU family, whereas we support Cortex-M0/M0+, Cortex-M3, Cortex-M4 with FPU, and Cortex-M7 with FPU. We also support MSP430 low-power CPU and AVRmega (QP-nano™ only). Please refer to the "Ports" sections in the QP/C Reference Manual, QP/C++ Reference Manual and QP-nano Reference Manual for the specific lists of currently supported CPUs and development boards, as well as 3rd-party RTOSes, and desktop operating systems.

Host-Based Tools

QP-nano QM™

Freeware, "low-ceremony" graphical modeling tool and automatic code generator based on hierarchical state machines (UML statecharts) and the QP frameworks. Available for Windows, Linux, and MacOS hosts.



QTools QTools™ Collection

Collection of various open source tools for QP, including:

QSPY QP/Spy™ Software Tracing for QP/C or QP/C++ applications
QUTest QUTest™ Unit Testing Harness for QP/C or QP/C++ applications
QWIN QWin™ GUI for prototyping embedded devices on Windows

Supported Desktop Operating Systems

The QM™ modeling tool and the QTools™ collection run on all three host operating systems (Windows, Linux, and macOS). However, we recommend Windows, because we use it as the main platform for development and testing of our host-based tools.

Our Customers and Markets

Our QP™ reactive frameworks, the QM™ modeling tool and our unique QTools™ collection address high-reliability applications across a wide variety of markets, such as medical, consumer, IoT, defense, industrial, communication, transportation, semicondurctor IP, and many others. In each of these application areas, our elegant software and modern design philosophy have distinct advantages and have been commercially licensed worldwide by hundreds of companies large and small.

Consumer Electronics

The extremely high volumes typical of electronic consumer products combined with intense price competition makes low per-unit cost essential to the success in this market. But today's consumer electronic products outgrow the venerable "main+ISR" software structure due to rapidly growing complexity associated with rich user interfaces, ubiquitous connectivity, and low-power requirements. The lightweight, event driven, open source (royalty-free) QP™ reactive frameworks are ideal for combining hard real-time functions with stateful user interfaces and communication stacks, for only a fraction of the RAM footprint and cost of a conventional RTOS.

EIM Controls

I used the traditional RTOS approach for about 10 years. With the real-time debug log of QP/Spy™ and the ability to see what is going on in the logic flow, the code is very easy to debug and modify. It makes the code very modular and deterministic... You end up talking about the codes logic flow, and not the semantics of the software. QP™ is a great product."

Paul Walker, Software Engineer, EIM Controls, Inc.

Medical Devices

Software that controls medical devices must go through stringent certification process to ensure maximum safety and reliability. To manage the process, the medical device industry increasingly turns to formal methods, such as software modeling as the means to maintain and objectively prove traceability from requirements specification, through system design, to final implementation. The QM™ modeling and code generation tool, based on the UML concepts of hierarchical state machines (UML statecharts) and active objects, directly supports the modern modeling approach. Additionally, the QP/Spy™ software tracing instrumentation embedded in the QP™ frameworks provides the ready-to-use software tracing infrastructure for unit testing, verification and validation.

NIPRO

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

Rich Wooley, Sofware Engineer, Nipro Diabetes Systems, Florida

Defense & Aerospace

With human lives at stake the military and aerospace systems are under similar strict certification requirements as the medical devices and many benefits of the QP™ frameworks and the QM™ modeling tool for medical devices apply equally to the defense and aerospace applications. The certifiability of QP™ frameworks is enhanced by their open source character, excellent and detailed documentation, strict adherence to coding standards as well as compliance with MISRA safety standards and support for static analysis tools such as PC-lint.

Moog Fernau

"The software team here at Moog Fernau have all found your platform to be simply outstanding to work with, and we look forward to future projects where we can call on the raw power, strong reliability and high efficiency of the QP™ framework and its accompanying tools to aid us in our designs. There is nothing out there that we know of that lets us translate what we see in our heads so directly into code on the screen."

Moog Fernau software team, UK

Industrial & Transportation

In the industrial control, process automation, and transportation systems markets interoperability is key. Due to the "thin-wire" communication style inherent in the event-driven paradigm, the QP™ reactive framework are easy to distribute among many interconnected nodes. The QP™ family provides the commonality of architecture and the naturally resulting interoperability from the simple devices all the way to complex distributed systems running multiple instances of our QP™ frameworks on variety of platforms, including Linux (POSIX) and Windows (Win32). Specifically for transportation systems, all versions of the QP™ frameworks comply with the Motor Industry Software Reliability Association (MISRA) standards.

General Dynamics

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

Communication & Internet of Things

In the last decade, connectivity and especially wireless connectivity in embedded devices has become ubiquitous. Designers of ultra low-power systems, such as wireless sensor networks (the "Things" in IoT), love the event-driven QP™ frameworks for their extremely small footprint, especially in RAM, and inherently low-power characteristics, where the CPU is used only for processing events and otherwise can be put into a low-power sleep mode.

Honeywell

"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."

Chad Koster, Software Engineer, Honeywell

Semiconductor IP

Semiconductor Intellectual Property (IP) cores are at the heart of today's most innovative and exciting electronics products. More and more of these highly complex System-on-Chip (SoC) devices contain one or even more processor cores that require firmware. With the RAM footprint below 1KB, the event-driven QP™ frameworks are ideal for such cost-sensitive, resource constrained, event-driven environments. Also, in the deeply-embedded SoC applications the firmware must be subject to the same reliability standards as the silicon itself due to the very high costs associated with every tape-out. To achieve such highest levels of reliability the firmware developers need to apply the disciplined formal design methods based on modeling, which is exactly what QP™ frameworks provide. Additional QP™ advantage here is that the underlying state machine concepts are already familiar to the designers working on the hardware-software boundary.

Apple Computer, Inc.

"I recently rewrote a major piece of code to utilize 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

Other Industries

The applicability of active object (actor) frameworks goes beyond a conventional RTOS. An actor framework can do all things that an RTOS can do, but due to the inversion of control, an event-driven framework can offer benefits that no conventional RTOS can match. For example, zero-copy and publish-subscribe event delivery provided in QP™. Actually, the benefits of the lightweight, efficient, and robust actor frameworks extend even beyond embedded systems, because most computer systems today are event-driven. The ability of running on top of "big" operating systems such as Linux or Windows opens quite new possibilities for applying QP™ in traditionally IT-type applications.

STRATOS

"QP™ has been really valuable for us—we've had a great experience working with Quantum Leaps frameworks and tools. It's been a big help in terms of delivering high-quality software within our clients' budgets, so thank you!"

Jason Machacek, Software Engineer, Stratos Product Development LLC, Seattle WA

News & Updates


QP
QP
QM3
QP/C/C++ 5.9.3 and QM 4.0.3 improve design reuse through sub-machines

Learn more about sub-machines in QM™


Embedded.fm
QP and ARM Cortex-R
New Application Note: QP™ and ARM Cortex-R

AppNote
New Application Note: QP/C++ Performance Tests and Results

QP and ARM Cortex-M
New Application Note: QP™ and ARM Cortex-M

Beyond the RTOS
New Presentation: Beyond the RTOS: A Better Way to Build Real-Time Embedded Software

QP/QM Overview
New Presentation: Overview of QP™ Frameworks and QM™ Modeling Tool


Newsletter Subscription

Also Check This