Textbooks:
· Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems, A Cyber-Physical Systems Approach, ISBN 978-0-557-70857-4, 2011.
· Jane Liu, Real-time Systems, Prentice Hall; ISBN: 0130996513, 2000
Reference material:
Giorgio C. Buttazzo, Hard Real-Time Computing Systems, Springer, ISBN: 978-0387231372,2004
Course Goals:
The course provides the opportunities for students to learn major issues in Real-time Computing. The main subjects to be discussed in the course are scheduling and model-base development. The goals are:
1. To understand and be skillful in the analysis of scheduling algorithms for real-time computing, including the techniques to evaluate worst-case delays and utilization bounds.
2. To be able to apply model-driven development approaches to construct target execution environment for simulation analysis and rapid prototyping, and to verify real-time requirements.
Prerequisites
1. CSE230 Computer Organization
2. CSE420 Computer Architecture I
3. CSE 430 Operating Systems
Course Content: (75minutes/lecture)
· Introduction: characteristics of embedded applications, concurrency and timing constraints, embedded system development environment. (1 lecture) [Slide_Introduction]
· Embedded software and thread programming: task model and specification, event loop, never-ending tasks, periodic and aperiodic tasks, thread synchronization, inter-task communication. (2 lectures)[Slide_Scheduling_basic]
· Scheduling algorithms and schedulability analysis: rate-monotonic scheduling, EDF, resource sharing, priority inheritance, sporadic servers, multiprocessor scheduling, and emerging issues in scheduling for real-time computing. (12 lectures)[Slide_Scheduling Analysis][Slide_Resource_control][Slide_Aperiodic]
· Model-driven development: Simulink model construction, code generation, embedded target platform, synchronous execution model, and RTOS support. (3 lectures)[Slide_Simulink_model_development]
· Model of computation including finite state machine, timed automata, temporal logic, model checking, and reachability analysis (7 lectures)[Slide_Model_construction][Slide_Model_checking][Slide_UPPAAL_models]
· WCET analysis (1 lectures) [Slide_WCET]
Project Assignments:
· Assignment 1-- Real-time Tasks Models in Linux (Program real-time tasks on Linux environment, including periodic and aporadic tasks, event handling, priority inheritance, etc,and use Linux trace tools to view and analyze real-time scheduling.) [Instructions]
· Assignment 2-- Schedulability Analysis(implement schedulability testing approaches for EDF and fixed priority scheduling algorithmsand conduct a comparative analysis using synthetic tasks sets.)
· Assignment 3-- Software-In-The-Loop Simulation and Code Generation(build Simulink models for a 6-degree robot and a robot controller and use a mouse in Linux target to control the position of robot end-effector.) [Instructions]
Survey Reports:
To develop a survey report individually on the selected subjects of real-time embedded systems. [Project_outline]
· Toyota’s Unintended Acceleration
· RTOS for Automotive Systems
· Real-time Communication and Schedulability of CAN Bus
· AFDX Avionics Network
· Real-time Hypervisor and Virtualization
· RTSJ (Real-time Specification for Java) and SCJ (Safety Critical Java)
· Scheduling in Multi-core Real-time Embedded Systems