Event-Driven Programming and Hierarchical State Machines
Most embedded systems are event-driven by nature. Yet, conventional embedded software architectures - from "superloops" to real-time operating systems - typically aren't. The goal of this session is to help embedded system developers make the transition from sequential to the modern event-driven programming, which can be a very difficult paradigm shift. The class introduces event-driven programming concepts, such as the inversion of control ("Hollywood principle"), blocking versus non-blocking code, run-to-completion (RTC) execution semantics, and a real-time framework as an alternative to a conventional RTOS. Next, it introduces the modern hierarchical state machines (UML state charts) and shows how to code them directly in C without complex code-generation tools. Finally, it explains how concurrent state machines can be combined into robust systems through the use of a lightweight real-time framework.
|
|
Presented: 10/15/2008, 9:30 AM
Length: 60 Minutes
Course Material:
|