Overview talk and summary talk at the end of the semester.
Brief Overview: This 3 unit course will provide an introduction to embedded software engineering which is a young research discipline on design methodologies for embedded software development. The course begins with an introduction to real-time operating system concepts and real-time communication protocols. Techniques like rate-monotonic scheduling and earliest deadline first as well as real-time protocols like TTP and CAN will be illustrated. The second half of the course emphasizes the pros and cons of the two fundamentally important paradigms of event-triggered and time-triggered systems. An introduction to the two high-level embedded programming languages Esterel and Giotto will be presented. Esterel is a synchronous reactive language with an event-triggered semantics whereas Giotto has a time-triggered semantics. Giotto has recently been developed at UC Berkeley. Example programs in Esterel and Giotto will be implemented on Lego Mindstorm robots. Each week, a one and a half hour lecture will be presented and a one and a half hour discussion will be held.
Goal of the course: Learn how to: evaluate applications with real-time requirements, identify adequate programming paradigm and platform, implement applications with real-time requirements.
Discussions:
Student | Discussion | Project | Video |
Elaine Cheong: | RapidRMA | Code Generation | Code Generation AVI, MPG |
Benjamin Horowitz: | Scheduling of Hybrid Task Sets | Pendulum | Pendulum AVI, MPG |
Paul Griffiths: | CAN (Official Home Page) | Scheduled Computation | Scheduled Computation AVI, MPG |
Jason Souder: | Byteflight (Official Home Page) | Scheduled Computation | Scheduled Computation AVI, MPG |
Carlo Cloet: | Fieldbusses | Synchronous Computation AVI, MPG | |
Daniel Jhin Yoo: | LegOS 0.2.4 | Tutebot | Tutebot1 AVI, MPG; Tutebot2 AVI, MPG |
Steve Neuendorffer: | Real-Time Java | Code Generation | Code Generation AVI, MPG |
Alvin AuYoung: | Real-Time Operating Systems | Tutebot | Tutebot1 AVI, MPG; Tutebot2 AVI, MPG |
Shawn Shaffert: | WCET Estimation | Pendulum | Pendulum AVI, MPG |
Jeff Ustin: | Wet Scheduling | Synchronous Computation AVI, MPG |
Presentation of the class projects is scheduled for the 11th of May, 2001, 2-5pm, in 299 Cory Hall.
Literature:
Prerequisites: C programming experience, basic knowledge of operating system concepts.
Homework: Each student prepares a one and a half hour discussion on a special topic. An Esterel and a Giotto program running on Lego Mindstorms is due at the end of the course.
Grading: Grades will be based on the discussion and the programs.
Restrictions: 12 Lego Mindstorm robots available.
Mailing list: eecs290o@eecs.berkeley.edu
Instructor: Christoph Kirsch