Embedded Systems Course Proposal

advertisement
Detailed Syllabus for EECS 124: Introduction to Embedded
Systems
Edward A. Lee, Sanjit A. Seshia, and Claire J. Tomlin
Description:
This course introduces students to the basics of models, analysis tools, and
control for embedded systems operating in real time. Students learn how to
combine physical processes with computation. The course has a strong
laboratory component, with emphasis on a semester-long sequence of projects.
Topics to be covered include the following:
1. Models of computation: finite state machines, ordinary differential
equations, hybrid systems, data flow
2. Basic analysis, control, and systems simulation: Bisimulations,
reachability analysis, controller synthesis
3. Interfacing with the physical world: sensor/actuator modeling and
calibration, concurrency in dealing with multiple real-time streams,
handling numerical imprecision in software
4. Mapping to embedded platforms: real-time operating systems,
execution time analysis, scheduling, concurrency
5. Distributed embedded systems: Protocol design, predictable
networking, security
Targeted students: upper-level undergraduates
Prerequisites: EECS 20, EECS 61C, EECS 70 or Math 55
Project ideas:
There will be two key projects:
1. LabView project: This project is designed to help students use the lecture
material in models of computation, basic analysis, simulation and control,
and sensor modeling and calibration, to get “quick results” in an interesting
project involving both hardware and software, yet using an inadequate
model of computation. The project will involve characterizing an off-theshelf accelerometer, and learning how to infer position from the
accelerometer output. One idea is to mount the accelerometer on a
bicycle wheel and construct a picture of the resulting trajectory. Can
involve some basic digital filtering.
2. Microcontroller project: This project can use the same accelerometer as a
key sensor in designing a “writing wand”, in which the students will
eventually design and implement software on a handheld microcontroller
connected to the wand. Students will learn about implementation issues
either on an RTOS such as QNX or a direct C-image on bare hardware.
This project will explore the consequences of choices of model of
computation. Students are expected to have the wand “write” legibly.
Additional challenges could include: adding sound to the wand and
studying the persistence of vision/sound; networking the wands together
to study distributed real time computing.
An additional project could be:
3. Software-based: In this project, students will write a few modules that fit
into a mostly-complete simulator of a large, distributed embedded system.
They will experiment with concepts in control, communication, modularity,
verification, security, etc. in the context of an industrial-scale application.
Examples: Boeing DemoSim, “Airbus-like” code, Flight simulator
connected to simple autopilot “hardware in the loop”
Syllabus (week-by-week)
Week, Lecture Number
Topic of Lecture
W1, L1
Course introduction;
Introduction to Finite
state machines
(FSMs)
W1, L2
FSMs
W2, L3
Ordinary differential
equations (ODEs)
W2, L4
ODEs
W3, L5
Hybrid systems
W3, L6
Data flow
W4, L7
Sensors/Actuators
W4, L8
Sensors/Actuators
W5, L9
Multiple real-time
streams
W5, L10
Bisimulations for
FSMs
W6, L11
Model checking:
Reachable sets for
FSMs
W6, L12
Reachable sets for
ODEs
W7, L13
Control design for
FSMs and ODEs
Milestones
Labs
Labview
Nintendo Wiilike lab intro
Writing Wand
lab intro
W7, L14
Control design for
FSMs and ODEs
W8, L15
Numerical
imprecision in SW
W8, L16
Numerical
imprecision in SW
W9, L17
Real-time OS
W9, L18
Real-time OS
W10, L19
Execution time
analysis, static
analysis
W10, L20
Scheduling
W11, L21
Scheduling
W11, L22
Concurrency
W12, L23
Concurrency
W12, L24
W13, L25
Protocol design for
distributed
embedded systems
W13, L26
Networking
W14, L27
Security
W14, L28
W15, L29
Final Exam
Download