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