Performance Engineering of Real-Time and Embedded Systems


Overview

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.

Course Syllabus

Term Schedule

Week Monday Wednesday
1
Course Logistics and Overview
QNX Introduction

Scheduling

Scheduling project
Advanced Schedulability Test (grads required; ugrads extra credit)

Scheduling etudes 1 - scheduling exercise

Scheduling etudes 2 - test fixture ideas homework

2

Scheduling etudes 2 - test fixture ideas homework due at start of class

QNX Primitives

Scheduling project teams formed
Scheduling project
Scheduling etudes 3

Scheduling etudes 3 - test fixture ideas due at start of class

Scheduling project

Scheduling test fixture architecture discussion

3

Advanced RM Schedulability test assignment due at start of class; program demonstrations (grads required; ugrads extra credit)

Scheduling project

Scheduling project

4

Scheduling project

Scheduling project due at start of class

Exam #1 review

Real-time control project teams formed

Z-transform introduction
Z-transform Realization Exercise

5

Exam #1 (study guide)

Research project discussion

Real-time control framework discussion
PID controller fundamentals

Real-time control project

FPGA Devices and Introduction to VHDL
Individual VHDL exercise
Individual VHDL exercise etudes

6

Real-time control project

Research project preferences due at start of class

Trends in Real-Time and Embedded Systems (grad activity)

Real-time control project

7

Real-time control project submission due at start of class

Research project teams formed
Research projects start
Project Brainstorming

Research project

8

Project description due at start of class

Research project progress reports

Individual VHDL project demonstrations
Individual VHDL project due at 11:59pm

Exam #2 review

Research project progress reports

9

Exam #2 (study guide)

Research project progress reports

Research project progress reports
10
Research project progress reports Presentations on trends in real-time and embedded systems

Research project progress reports

Finals
Research project demonstrations (4 hour block including the scheduled final time)

Course Grading

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

Lecture Notes

Information on working with QNX and the lab facilities


$Id: index.html 135 2013-03-03 20:32:56Z se463 $