Browse All Sessions
FREE Talk

Modern Embedded Software Goes Beyond the RTOS

Miro Samek Miro Samek
01:08:12
Talk

Modern Embedded Software Goes Beyond the RTOS

Miro Samek
01:08:12 EOC 2020
Miro Samek

Register Free to Watch

01:08:12

About This Session

Some of the most difficult problems with real-time and embedded programing are related to concurrent code execution as well as code organization, which all too often degenerates into "spaghetti code". These problems are usually intermittent, subtle, hard-to-reproduce, hard-to-isolate, hard-to-debug, and hard-to-remove. They pose the highest risk to the project schedule.

This session presents a set of best practices of concurrent programming, which are collectively known as the active object (or actor) design pattern. In this pattern, applications are built from event-driven, non-blocking, asynchronous, encapsulated threads (active objects), with the internal behavior of each active object controlled by a state machine.

While active objects can be implemented manually on top of a traditional RTOS, a better way is to use an active object framework. You will see how this leads to inversion of control, enables architectural reuse, and allows the framework to automatically enforce the best practices.

In the second part, the session will introduce modern hierarchical state machines as the powerful "spaghetti reducers". You will see how state machines complement active objects and enable graphical modeling and automatic code generation.

The session will utilize hands-on demonstrations using EFM32 Pearl-Gecko ARM Cortex-M4 board, the QP/C real-time embedded framework and the QM modeling and code-generation tool.

About Miro Samek

Miro Samek
Miro Samek is the founder and CEO of Quantum Leaps — a company providing modern embedded software based on event-driven active objects and hierarchical state machines as well as tools for visual modeling, automatic code generation, and testing of real-time embedded software. Miro authored two books, numerous articles, and spoke at several conferences. Recently, he has been teaching the popular YouTube "Modern Embedded Systems Programming" video course.

Title

Message