ESE 519: Real-Time & Embedded Systems, Fall 2009


Instructor: Rahul Mangharam ()


 

Course Objectives [PDF]

The primary objectives of this course are to:

Introduction

The use of distributed wireless embedded networks has surged in popularity in recent years with applications ranging from environmental monitoring, to people- and object-tracking in both cooperative and hostile environments. This course is targeted at understanding and obtaining hands-on experience with the state of the art in such wireless sensor networks which are often composed using relatively inexpensive sensor nodes that have low power consumption, low processing power and bandwidth. The course will span a variety of topics ranging from radio communications, network stack, systems infrastructure including QoS support and energy management, programming paradigms, distributed algorithms and example applications. Some guest lectures may be given.

Each discussion-oriented lecture will be preceded by the reading of 1-2 papers, resulting in a rich collection of papers by the end of the semester. Early in the semester, hands-on exercises will be used to teach the programming of FireFly sensor nodes by using the 'nano-RK' power-aware sensor real-time operating system (RTOS) and using 802.15.4 radio communications. Then, project groups of no more than 3 students will define, design, implement and test an embedded network project. Final in-class project presentations will be supplemented by a written report. A final exam may be conducted to evaluate the students' understanding of the materials covered. Grading criteria will include classroom participation, course project content and report, quizzes and a final exam.

 


Prerequisites

Programming in C/C++, ESE 350 or equivalent, one course on computer networks and senior or graduate standing. Prior hands-on experience with network programming, operating systems and assembly language are essential. Exceptions can be made only with the explicit permission of the instructor.

Topics

Part I: Wireless Embedded Networks

  • Introduction
 
• Applications

Part II: Component Technologies
  • Sensors
  • Physical Layer
  • Sensor Platforms
  • Link and Routing Protocols


Part III: System Infrastructure and Development
  • Clock Synchronization
  • Power Management
  • Security
  • Topology Control
  • Programming Abstractions
  • Storage


Part IV: Scheduling Theory and Algorithms
  • Real-Time Operating Systems
  • Fixed Priority and Dynamic Scheduling
  • Aperiodic and Sporadic Task Scheduling
  • Priority Inversion and Task Synchronization


Part V: Applications
  • Localization
  • Data Dissemination
  • Mobility
  • Distributed Control

  • Future Directions


Grading

There will be several homework assignments, an exam, and a term project. A significant component of the evaluation will be based on the design and implementation of the term project.

 

Last updated on 02/02/09. Maintained by Rahul Mangharam