Real-Time Embedded Systems Theory and Analysis

  • 0.0
Approx. 60 hours to complete

Course Summary

Learn about real-time systems, embedded systems, and analysis techniques for developing efficient and reliable software in this course.

Key Learning Points

  • Understand the fundamentals of real-time and embedded systems
  • Learn about scheduling and synchronization
  • Analyse and optimize software for real-time systems

Related Topics for further study


Learning Outcomes

  • Develop real-time and embedded systems software
  • Analyse software for real-time systems
  • Optimise software for real-time systems

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of programming
  • Familiarity with C or C++

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced

Similar Courses

  • Real-Time Systems
  • Embedded Software and Hardware Architecture

Related Education Paths


Notable People in This Field

  • Edward Lee
  • Sanjoy Baruah

Related Books

Description

This course can also be taken for academic credit as ECEA 5316, part of CU Boulder’s Master of Science in Electrical Engineering degree.

Knowledge

  • Methods to analyze dynamic prioirty real-time service feasibility
  • Methods to control unbounded priority inversion problems
  • Avoiding and recovering from deadlock
  • Avoiding and recovering from unbounded priority inversion

Outline

  • Real-Time Scheduling and Rate Monotonic Least Upper Bound Derivation
  • Course Assumed Real-Time Knowledge and Overview
  • Code Walkthrough: Syslog for Tracing and Autograded Assignments
  • Rate Monotonic Fixed Priority Policy and Optimality (Review)
  • Rate Monotonic Scheduling within the Least Upper Bound
  • Challenges with and Alternatives to Fixed Priority RM Policy
  • Deadline Monotonic Extensions to Rate Monotonic Policy
  • Deadline Driven Scheduling: using Dynamic Priority Alternatives
  • RM LUB Derivation - Introduction
  • Two Cases that Drive the RM Least Upper Bound
  • RM Least Upper Bound Intersection Point
  • RM Least Upper Bound Derivation - Conclusion
  • Necessary and Sufficient Feasibility by Worst-Case Analysis (Exact Test)
  • Exact Feasibility for Rate Monontoic Policy with Scheduling Point
  • Exact Feasibility for Rate Monotonic using Completion Test
  • EXTRA HELP: Home Lab Set Up
  • Read, Review and Understand Derivations in Original RMA Paper (Liu & Layland)
  • Optional: Rate Monotonic Exact Analysis
  • Module 1 | Key steps in the RM least upper bound derivation
  • Service Design Feasibility Analysis Practice and Methods of Implementation
  • Comparison of RM Policy to Round Robin
  • RM Fixed Priority Scheduling Examples with Timing Diagrams
  • More Complex RM Timing Diagrams
  • Timing Diagram with a Harmonic Case
  • Timing Diagram Example Comparing RM and EDF
  • POSIX RT Extension Support
  • General Design Pattern Part-1: AMP RT Functions, Services and Systems
  • General Design Pattern Part-2: Mulit-Core, Multi-Service AMP Systems
  • Implementation Pattern: Periodic Services with POSIX RT Threads, Interval Timers and Signals
  • Message Queues for Synchronization and Data Sharing
  • Code Walkthrough: POSIX RT Feature Demonstration
  • Methods to Determine Worst Case Execution Time (WCET)
  • Methods for WCET Speed-up to Meet Deadlines
  • Service Request Period Jitter and Drift
  • RT Extensions to POSIX - 1003.1 in Linux, QNX, Solaris, FreeBSD, etc.
  • Optional Resources for POSIX 1003.1 RT Extensions
  • Module 2 | Service implementation and admission to real-time using RMA, scheduling point, completion test
  • Dynamic priority Earliest Deadline First and Least Laxity First
  • Advantages of Dynamic Priorities and When to use EDF
  • Disadvantages of Dynamic Priorities and When EDF should not be used
  • Advantages of Dynamic, Adaptive Scheduling: When to use LLF
  • Disadvantages of Dynamic Adaptive Scheduling: When LLF should not be used
  • Final Comparison of EDF and LLF Failure Modes and Recovery
  • Cheddar Tool Introduction and Overview
  • Rate Monotonic vs. EDF - Judgement Day Paper
  • Module 3 | Earliest Deadline First , Least Laxity First
  • Synchronization and Bounded vs. Unbounded Blocking
  • Note on Linux Methods of Synchronizaiton Compared to RTOS
  • Bounded blocking for service release
  • Bounded blocking and Execution Efficiency impact on RT systems
  • Definition of unbounded blocking and examples of root causes
  • Code Walkthrough: Circular Wait - Deadlock Demonstration
  • Code Walkthrough: Can you think of a simple way to break deadlock after a timeout?
  • Review of semaphore use and necessity of Critical Section (C.S.)
  • Code Walk-through: Unbounded Priority Inversion Demonstration
  • Priority Inheritance, Priority Ceiling, and Priority Ceiling Emulation
  • Mars Pathfinder Problem - Rolling Reset 3 Days prior to closest approach to Mars
  • Mars Pathfinder Root Cause Analysis
  • Mars Pathfinder - Bug Localization and the Fix
  • Priority Inversion (Unbounded) and Priority Inheritance Protocol
  • Module 4 | Thread synchronization

Summary of User Reviews

Real-time Embedded Theory Analysis course on Coursera has received positive reviews from many users. The course covers the essential concepts of real-time embedded systems and their analysis. One key aspect that many users appreciated is the hands-on exercises that helped them to apply the learned concepts in real-world scenarios.

Pros from User Reviews

  • Hands-on exercises for practical application
  • Clear explanations of complex concepts
  • Great instructor support
  • Good pace for beginners
  • Useful course content

Cons from User Reviews

  • Some technical issues with the platform
  • Not enough depth in some topics
  • Could benefit from more real-world examples
  • Some assignments were too difficult
  • Not suitable for advanced learners
English
Available now
Approx. 60 hours to complete
Sam Siewert
University of Colorado Boulder
Coursera

Instructor

Share
Saved Course list
Cancel
Get Course Update
Computer Courses