Course Overview

Course Length: 
2 Days

Once learned, the technique of event-driven programming is a fun and easy way to write reliable and maintainable embedded software. Unfortunately, most embedded programmers either haven't heard of event-driven programming or don't know how to use it properly.

This course trains programmers to architect firmware with an event focus and shows the many benefits of using state machine frameworks to implement the resulting design. Attendees will also learn UML's statechart notation and a variety of best practices for effective event-driven programming in C (contact us about C++ options).

Topics covered in this course include:

  • Reactive Programming
  • UML Statecharts
  • Design Patterns
  • Frameworks
  • Other Related Topics 

This course is appropriate for:

  • Embedded software developers
  • Embedded software architects

Prerequisites:  Attendees should already be familiar with the C and/or C++ programming language before taking this course.

Requirements:  Each student will need a computer, such as a laptop, running XP or a newer version of Windows with an available USB port and administrator privileges. (Windows over Mac OS X generally works.)

Explore this course:

Find out more:


The following is a summary of the major course topics and should not be considered the section-by-subsection lecture breakdown.

Reactive Programming

  • Events and Reactions
  • Event Queues
  • State Machines
  • Run-to-Completion
  • Active Objects

UML Statecharts

  • States and Transitions
  • Guard Conditions
  • Actions and Reactions
  • Entry and Exit Actions

Design Patterns

  • Ultimate Hook
  • Reminder
  • Deferred Event
  • Orthogonal Component
  • Transition to History


  • Inversion of Control
  • Event Delivery
  • Garbage Collection
  • Time and Power

Related Topics

  • Common Pitfalls
  • Preemption and Priority
  • Software Tracing
  • Debug and Test

Related Courses

Find out More

Contact us now to find out more about this course or to enquire about an on-site training at your company.

Recording Policy

Barr Group's courses may not be audiotaped, videotaped, or photographed without consent from Barr Group's executive team.