This course studies aspects of real-time and embedded systems that have an effect on the system's performance.
The scheduling algorithm is an important design choice in real-time systems. It can effect the system's ability to meet real-time performance requirements. Scheduling algorithms for real-time systems have been studied extensively. In real-time courses, students often student scheduling algorithms from a theoretic perspective. In this course, students will implement in a commercial real-time operating system a selection of scheduling algorithms and measure their performance.
Controlling physical systems is an ultimate test platform for a real-time system. This section of the course will introduce real-time control systems and Z-transforms. Typical control systems courses study controller as mostly a math exercise. Students are often left without an intuitive sense for simple controllers, and have no experience actually implementing in a real system a controller defined using Z-transforms. The intention of this section of the course is to provide that intuitive insight into control systems that an implementer would need, rather than the in-depth knowledge needed by a control system engineer. Students will develop implementations of controllers for a simulation of a physical system. The experiments will include tuning of the parameters for a simple Proportional-Integral-Derivative (PID) controller, and measurement of the controller's performance.
Embedded systems are where the hardware and software worlds meet. The boundary between these two worlds is not fixed. To satisfy system requirements, the system designer can move processing between general purpose processors and custom designed hardware. There will be an introduction into VHDL as a hardware design tool. Students will complete a small individual VHDL assignment that extends an in-class exercise which is done.
The last section of the course is devoted to a research project. The instructor will provide several research topic areas, and will form teams based on student preferences to work in particular topic areas. The topic areas are somewhat open-ended requiring each team to define more specific goals for their project. Each week, teams report on their progress to the class and in discussions with the instructor. Final project demonstrations and reports will be due during finals week.
Week | Monday | Wednesday |
1
|
Course Logistics and Overview QNX Introduction |
Scheduling |
2
|
Scheduling etudes 2 - test fixture ideas homework due at start of class Scheduling project teams formed |
Scheduling etudes 3 - test fixture ideas due at start of class Scheduling test fixture architecture discussion |
3
|
Advanced RM Schedulability test assignment due at start of class; program demonstrations (grads required; ugrads extra credit) |
|
4 |
Scheduling project due at start of class Real-time control project teams formed |
|
5 |
Exam #1 (study guide) Real-time control framework discussion |
FPGA Devices and Introduction to VHDL |
6
|
Research project preferences due at start of class Trends in Real-Time and Embedded Systems (grad activity) |
|
7
|
Real-time control project submission due at start of class Research project teams formed |
|
8
|
Project description due at start of class |
Individual VHDL project demonstrations |
9
|
Exam #2 (study guide) |
Research project progress reports |
10
|
Research project progress reports | Presentations on trends in real-time and embedded systems |
Finals
|
Research project demonstrations (4 hour block including the scheduled final time) |
The table below shows the percentage contribution to your total grade of each component in the course.
Component | Percentage Undergraduate |
Percentage
Graduate |
Notes
|
Real-Time Scheduling Project | 20 | 15 | |
Advanced Rate-Monotonic Analysis (grad activity) | 5 | ||
Exam #1 | 10 | 10 | |
Individual VHDL exercise | 5 | 5 | |
Real-Time Control project | 15 | 15 | |
Trends in Real-Time and Embedded Systems (grad activity) | 5 | ||
Exam #2 | 10 | 10 | |
Research project | 30 | 30 | |
Discussions and Class exercises | 10 | 5 |
The following standard 10 point grading scale will be used for assigning letter grades.
A | >= 90 |
B | >= 80 |
C | >= 70 |
D | >= 60 |
F | < 60 |