Key Concepts

Embedded software developers in a wide range of industries independently discover patterns for building concurrent software that is safer, more flexible and easier to understand than “naked” threads and the myriad of blocking mechanisms of a traditional Real-Time Operating System (RTOS).

The following sections explain the key concepts related to this increasingly popular, reactive architecture, and specifically how they apply to real-time embedded systems, which are targeted by the Quantum Leaps frameworks and tools.

Category: Key Concepts
share on:
Share on reddit
Share on linkedin
Share on twitter
Share on email

Format:

Post Title (link)
Published-date | # Comments | Update-date
key concepts

Reactive Systems

The main common characteristic of Real-Time Embedded (RTE) systems is that they constantly interact with the external world. Such systems, termed reactive, do not transform inputs into outputs, but rather are supposed to maintain a

Read More »
key concepts

Sequential Programming

Most embedded systems are traditionally programmed in a sequential manner, where the expected sequence of events is hard-coded.Recommended video playlist “RTOS”:https://www.youtube.com/embed/TEq3-p0GWGI Traditional Approach: Sequential Programming A sequential program explicitly waits in-line, for the expected events

Read More »
key concepts

Event-Driven Programming

Embedded systems need a program structure that can respond to a multitude of possible event sequences, any of which can arrive at unpredictable times. This program structure is generally called event-driven programming.Recommended video playlist “Event-Driven

Read More »
key concepts

Active Object (Actor)

Active Objects combine event-driven programming with multithreading. They naturally implement and automatically enforce the best practices of concurrent programming.Recommended video “Beyond the RTOS – Part 2”:https://www.youtube.com/embed/U1pHSkftzhwRecommended video playlist “Object-Oriented Programming”:https://www.youtube.com/embed/dSLodtKuung Best Practices of Concurrent Programming

Read More »
key concepts

Real-Time Embedded Framework

A Real-Time Embedded Framework (RTEF) is an implementation of the Active Object design pattern specifically designed for real-time embedded systems. RTEF provides the event-driven infrastructure for executing Active Objects based on a real-time kernel (RTOS

Read More »
key concepts

Hierarchical State Machine (HSM)

The behavior of each Active Object in the QP™ real-time embedded frameworks is specified by means of a hierarchical state machine (UML statechart), which is a very powerful and effective and elegant technique of designing

Read More »
key concepts

Model-Based Design

Model-Based Design (MBD) is a software development process in which the primary focus and products are software models rather than directly code. MBD holds promise of being the first true quantum leap in software development

Read More »
key concepts

Software Tracing

Software tracing is a method for obtaining diagnostic information about the embedded software in a live environment without the need to stop the application to get the system feedback. Software tracing always involves some form

Read More »