EECE 353-01    Real-Time Systems
 
T. John Koo, Ph.D.
 
5306 Stevenson Center
Monday & Wednesday
2:10pm-3:25pm


Real-time systems are computing systems that must react to the dynamic environments under timing constraints.  Real-time systems are pervasive since many societal-scale infrastructure systems, such as manufacturing systems, power networks and transportation systems, require real-time computing. The correctness of the systems depends on not only how correct the computation is but also how accurate the computation can satisfy the timing constraints.  However, most of the real-time systems are still designed and implemented using low-level programming and empirical techniques. The resulting real-time systems produced can be highly unpredictable. The consequences of a failure can be catastrophic, such as the accidents happened on the Mars Polar Lander, the Ariane rocket and the Patriot Missile system.

This course focuses on the analysis and design of real-time systems. The course covers topics on system modeling using the tagged signal models and timed models of computation [1], specifications and scheduling techniques for real-time tasks [2], simulation and verification of real-time systems, software architecture and language for constructing real-time systems [3,4,5]. Special attention is paid to computational and simulation tools for real-time systems. Applications ranging from robotics, embedded control systems, drive-by-wire systems, space missions, telecommunication systems, industrial automation, and middleware software systems will be covered. 

[1] E. A. Lee and A. Sangiovanni-Vincentelli, "A Framework for Comparing Models of Computation," IEEE Trans. CAD, Vol. 17, No. 12, December 1998.

[2] Giorgio C. Butazzo, Hard Real-Time Computing Systems, 2nd Edition, Springer, 2005.

[3] H. Kopetz, “The Time Triggered Architecture,” Proceedings of the IEEE,  Vol. 91, No. 1, January 2003.

[4] Thomas A. Henzinger, Benjamin Horowitz, and Christoph M. Kirsch, “Giotto: A Time-Triggered Language For Embedded Programming,” Proceedings of the IEEE,  Vol. 91, No. 1, January 2003.

[5] B. Horowitz, J. Liebman, C. Ma, T. J. Koo, A. Sangiovanni-Vincentelli, S. Sastry, “Platform-Based Embedded Software Design and System Integration for Autonomous Vehicles,” Proceedings of the IEEE, Vol. 91, No. 1, January 2003.

Prerequisite: consent of instructor.

Instructor Information

Name: T. John Koo, Ph.D.

Office: FGH 376

Office Hours: Wednesday 3:30pm-4:30pm

Email: john.koo@vanderbilt.edu

URL: http://www.vuse.vanderbilt.edu/~kootj/


Textbook

Embedded System Design, Peter Marwedel, Kluwer Academic Publishers, 2003.


Recommended Texts

Hard Real-Time Computing Systems, Giorgio C. Butazzo, Kluwer, 2nd Edition, Springer, 2005
Real-Time Systems, Jane W. S. Liu, Prentice Hall.
Real-Time Systems and Software, Alan C. Shaw, Wiley.
Real-Time Systems: Design Principles for Distributed Embedded Applications, Hermann Kopetz.
Computer as Components, Principles of Embedded Computing System Design, Wayne Wolf, Morgan Kaufmann.

Prerequisites

Students should have basic concepts in Scheduling, Programming and System Science.


Grading

Homework 20%
Mini Project 30%
Project 50%
   

Class Schedule

January 16 Introduction

Lecture Presentation 1
T. John Koo  
January 18 Modeling: Models of Computation

Lecture Presentation 2
T. John Koo Lecture
 
January 23 Modeling: Models of Computation
Modeling: Hybrid/Timed Automata

Lecture Presentation 3
T. John Koo Lecture
 
January 25 Modeling: Hybrid/Timed Automata T. John Koo Lecture
Reading Assignment:

1. Axel Jantsch and Ingo Sander. Models of computation and languages for embedded system design. IEE Proceedings on Computers and Digital Techniques, 152(2):114-129, March 2005. Special issue on Embedded Microelectronic Systems; Invited paper.

2. Edward A. Lee and Alberto Sangiovanni-Vincentelli . A Framework for Comparing Models of Computation, IEEE Transactions on CAD, Vol. 17, No. 12, December 1998.
January 30 Analysis: Hybrid/Timed Automata

 
T. John Koo Lecture +  Discussion

Tool: Ptolemy II
February 1 Analysis: Hybrid/Timed Automata

 
T. John Koo Lecture + Discussion

Homework 1 and 2
Due date: 2/8/06
February 6 Analysis: Timed Automata
Lecture Presentation 4
 
T. John Koo Lecture
 
February 8 Analysis: Timed Automata

 
T. John Koo Lecture
 
February 13 Analysis: Timed Automata

 
T. John Koo Lecture
 
February 15 Analysis: Timed Automata

 
T. John Koo Lecture
 
February 20 Tool: Timed Automata
UPPAAL Presentation
 
Tivadar Szemethy Lecture

Tool: UPPAAL
February 22 Tool: Timed Automata
Times Presentation
 
Tivadar Szemethy Lecture

Tool: Times
February 27 Embedded Hybrid Systems
Workshop on Hybrid and Embedded Systems
 
T. John Koo Lecture
 
March 13 Verification: Timed Automata
Lecture Presentation 5
 
T. John Koo Lecture
Homework 3
Due date: 3/20/06

Reading Assignment:
1. Edward A. Lee and Haiyang Zheng, Operational Semantics of Hybrid Systems

2. R. Alur and D.L. Dill. Automata-Theoretic Verification of Real-Time Systems

March 20 Verification: Timed Automata

 
T. John Koo Lecture
 
March 22 Verification: Timed Automata

 
T. John Koo Lecture
Reading Assignment:
J. Lygeros Lecture Notes on Hybrid Systems, Notes for an ENSIETA short course, Feb 2004.
March 27 Scheduling: Basic Concepts

 
T. John Koo Lecture
 
March 29 No Class
 
 
 
April 3 Presentation Group 1  
April 5 Scheduling
Aperiodic Task Scheduling
T. John Koo Chapter 4
 
April 10 Presentation Group 2  
April 12 Scheduling
Periodic Task Scheduling
T. John Koo Chapter 4
 
April 17 Presentation Group 3  
April 19 Scheduling
RTOS
Tivadar Szemethy Chapter 4
 
April 24 Presentation Group 4  
April 26 Presentation Group 5  
May 1      
May 3 Final Presentation T. John Koo  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Mini-Projects

Group 1

Safety-Critical Operating Systems, David Kleidermacher and Mark Griglock, Embedded Systems Design, 08/31/01
POSIX in Real-Time, Kevin M. Obenland, Embedded Systems Design, 03/15/01
Deadline Scheduling, Peter Dibble, Embedded Systems Design, 03/04/01

Daniel Loveless, Christoper Holt, Faisal Al-Hammadi
Group 2

Introduction to Priority Inversion, Michael Barr, Embedded Systems Design, 04/01/02
"Re: What Really Happened on Mars?," Reeves, Glenn, Risks-Forum Digest, Volume 19: Issue 58, January 1998.
"Re: Priority Inversion and early Unix," Reeves, Glenn, Risks-Forum Digest, Volume 19: Issue 58, January 1998. 

Indranil Roychoudhury, Sandeepan DasGupta, Matthew Eby
Group 3 Liu, C.L. and J.W. Layland, "Scheduling Algorithms for Multi-Programming in a Hard Real-Time Environment," Journal of the Association of Computer Machinery (ACM), Vol. 20, No. 1, Jan. 1973, pp. 46-61. Tareq Hossain, Julian Farquharson, Oluwole Amusan
Group 4 M. Spuri and G. Buttazzo, "Scheduling Aperiodic Tasks in Dynamic Priority Systems", Real-Time Systems, vol. 10, pp. 179--210, 1996. Andrew Kelly, Enrique Montes, Megan Casey
Group 5 G. Buttazzo, "Rate Monotonic vs. EDF: Judgment Day," Real-Time Systems, vol. 29, pp. 5--26, 2005. Graham Hemingway, Atakan Varol, Theron Brown

 

 

 

 

 

 

 

 

 

 

 

 


Projects

Group 1

Anders Rune Jensen, Lau Bech Lauritzen, and Ole Laursen, "Optimal Task Graph Scheduling with Binary Decision Diagrams," This was for the Dat4 semester project in semantics and verification, completed May 2004.

TBA
Group 2

Y. Abdeddaim, A.  Kerbaa, O. Maler, "Task Graph Scheduling Using Timed Automata," Parallel and Distributed Processing Symposium, 2003. Proceedings. International 22-26 April 2003 Page(s):8 pp.

TBA

 

 

 

 


Final Project Presentation : May 3
Final Project Report : May 4
 


Interesting Reading in Embedded System Design


Useful Links