Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

Course Overview

Course Length: 
1 Day

Most efforts to improve software quality focus exclusively on process improvements, such as adoption of coding standards and better use of static analysis tools, code reviews, and testing. But poor software quality also results from bad decisions about the architecture of that software. Thus software architecture is an area for your team to understand better and architecture improvements can be among the easiest ways to increase software quality.

This course teaches software architecture with a focus specifically on real-time and embedded software.


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

  • Architecture Defined
    • What is Software Architecture?
    • Three Competing Schools
    • Attributes of Good Firmware Architecture
    • The Real-Time Hierarchy
  • Real-Time Operating Systems
    • Preemptive Scheduling
    • Avoiding Race Conditions
    • Meeting Deadlines
    • Semaphores, Mailboxes, and Message Queues
    • Avoiding Starvation and Deadlock
    • Multithreaded Programming Principles
  • RTOS Alternatives
    • Implications of Preemption
    • Foreground-Background
    • Interrupt-Driven Systems
    • Run-to-Completion
    • Cyclic Executive
    • Protothreads
  • Event-Driven Programming
    • Reactive Programming
    • Event Queues
    • Active Objects
    • State Machine Frameworks


  • Embedded software developers
  • Embedded system architects
  • Technical managers


Attendees should be generally familiar with the terminology of real-time embedded systems.

Related Courses

Find out More

To find out more about our upcoming public trainings, go to our Training Calendar.

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

Recording Policy

All Barr Group Training Public and On-site courses may not be audiotaped, videotaped or photographed without consent from Barr Group's executive team.  Barr Group reserves the right to record portions or all of a training course for instructional purposes.  As a result, attendees present may also appear on the recording.