About Theory and Analysis of Embedded Real-Time Systems course
This course may also be credited toward ECEA 5316, part of the CU Boulder Electrical Engineering Master of Science program. This course provides an in-depth and complete mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with monotonic rate tools, as well as comparisons with real-world performance for real-time scheduled threads on a native Linux system. By the end of the course, students will be able to fully derive the monotonic least upper bound for fixed-priority feasibility, justify the monotonic policy, and compare it to dynamic priority scheduling, including earliest-first and least-slack policies.
By the end of the course, students will be able to fully derive and explain the mathematical model for the monotonic least upper bound and perform timing analysis for fixed-priority and dynamic-priority software services. Analysis tools (Cheddar) that automate timing analysis and compare it with real-world performance will be explored. Specific tasks include: ● Rate monotonicity theory (full mathematical models) ● Differences between fixed priority rate monotonicity policies and dynamic earliest-first and least-slack priority policies ● Theory and practice of scheduling multi-frequency workers, preemptive RTOS services, and real-time stream services on traditional operating systems (Linux) ● Building a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b using sequence and logging techniques and checking the agreement between theory and practice ● Creating and analyzing timing diagrams using Cheddar