The embedded software industry is in the midst of a major IoT revolution. Tremendous amount of new development lies ahead. This new software needs an actual architecture that is inherently safer, truly event-driven and at a higher level of abstraction than the usual shared-state concurrency and blocking based on a traditional Real-Time Operating System (RTOS).
Quantum Leaps' real-time frameworks and tools provide such a modern, reusable, event-driven architecture based on active objects (actors), hierarchical state machines, software tracing, unit testing, graphical modeling and automatic code generation. While others only talk about these modern techniques, we actually offer a comprehensive suite of embedded software and host-based tools wrapped around our QP™ real-time frameworks that have been battle-tested and proven in real-life systems.
The QP™ real-time 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, compilers and development boards, as well as 3rd-party RTOSes and operating systems (including embedded Linux and Windows embedded).
Our QP™ real-time frameworks, the QM™ modeling tool and our unique QTools™ collection address high-reliability applications across a wide variety of markets, such as IoT, medical, consumer, defense, industrial, communication, transportation, robotics 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.
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 QP™ 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.
"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."
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.
"Simply put, designing software using the QP™ framework lets you code the way you think..."
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.
"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."
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™ embedded 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.
Without using QP™, I don't believe we could have delivered on our given schedule dates with the same level of quality."
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.
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."
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.
"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."
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.
"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!"