Coursera
Coursera Logo

University of Colorado Boulder - Real-Time Embedded Systems Theory and Analysis 

  • Offered byCoursera

Real-Time Embedded Systems Theory and Analysis
 at 
Coursera 
Overview

Duration

60 hours

Total fee

Free

Mode of learning

Online

Difficulty level

Advanced

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Real-Time Embedded Systems Theory and Analysis
 at 
Coursera 
Highlights

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Course 2 of 4 in the Real-Time Embedded Systems Specialization
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Advanced Level C programming skills, some prior experience with an operating system, and prior embedded hardware experience is a plus.
  • Approx. 60 hours to complete
  • English Subtitles: French, Portuguese (European), Russian, English, Spanish
Read more
Details Icon

Real-Time Embedded Systems Theory and Analysis
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • This course can also be taken for academic credit as ECEA 5316, part of CU Boulder?s Master of Science in Electrical Engineering degree.
  • This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system. By the end of this course the learner will be able to full derive the fixed priority rate monotonic least upper bound for feasibility as well as justifying the rate monotonic policy and will be able to compare to dynamic priority scheduling including earliest deadline first and least laxity policies.
  • At the end of this course learners will be able to fully derive and explain the math model for the rate monotonic least upper bound as well as performing timing diagram analysis for fixed and dynamic priority software services. Tools to provide analysis will be learned (Cheddar) to automate timing analysis and to compare to actual performance.
  • Specific objectives include:
  • ? Rate monotonic theory (complete math models)
  • ? Differences between fixed priority rate monotonic policy and dynamic priority earliest deadline first and least laxity policies
  • ? Scheduling theory and practice writing code for multi-frequency executives, priority preemptive RTOS services, and real-time threaded services on traditional operating systems (Linux)
  • ? Building a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b using sequencing and methods to log and verify agreement between theory and practice
  • ? Timing diagram generation and analysis using Cheddar
Read more

Real-Time Embedded Systems Theory and Analysis
 at 
Coursera 
Curriculum

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 with a Full Utility 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

Other courses offered by Coursera

– / –
3 months
Beginner
– / –
20 hours
Beginner
– / –
2 months
Beginner
– / –
3 months
Beginner
View Other 6715 CoursesRight Arrow Icon
qna

Real-Time Embedded Systems Theory and Analysis
 at 
Coursera 

Student Forum

chatAnything you would want to ask experts?
Write here...