Course Descriptions and Syllabi

CS 376: Embedded and Hybrid Systems

FALL 2012


Catalog Description: Recent advances in information and micro-scale technologies are enabling a new generation of embedded systems with large numbers of sensors, actuators, and integrated computation that can sense the world around them and respond to it. Transportation information systems will make travel faster and safer. Smart robots will explore uncharted and hostile terrain. Large sensor nets will perform detailed environmental and pollution monitoring. Appliances will be able to self-diagnose and repair, predict aging components, and proactively alert for replacement parts. These are embedded systems that involve multiple modes of operation in uncertain environments, heterogeneous software and hardware components, and distribution across multiple agents communicating over networks. The design of such embedded systems requires heterogeneous models of computation for addressing the specification, validation, and synthesis problems.

The class introduces students to multiple models of computation including finite state machines, timed discrete-event systems, continuous systems, and synchronous data flow and will study their use in practical embedded system applications. We also investigate hybrid models of computation that can describe the interaction between the software systems and the physical world. Hybrid systems combine time-driven and event-driven dynamics and have been used as models in numerous applications such as robotics, automotive systems, avionics, manufacturing, process control, communication systems among others. Software tools and applications to modern engineering systems will be emphasized.

The class materials are based on lecture notes and a list of recent papers and book chapters. The instructor will post the list of papers and reading material by topic as they are introduced in the lectures. Electronic copies of the papers and the other reading material will be available on Oak. Grades for the course will be based on home work assignments, a midterm exam, and a project.



Basic programming skills and familiarity with basic concepts from computer science and systems theory. Most programming assignments can be done using Matlab.



  1. Introduction to Hybrid and Embedded systems

Overview of embedded and hybrid systems

Heterogeneous modeling and design using formal models of computation


  1. Models of Computation

Finite state machines/statecharts

Discrete-event systems

Petri nets

Continuous-time/discrete-time systems

Data flow models

Other models of computation  

  1. Hybrid Systems

Modeling Hybrid Systems  

Hybrid automata

Hybrid Bond Graphs

Simulation of hybrid systems

Verification of hybrid systems

Details of the Fall 2012 Course Description and course materials for CS 376 is on the OAK system. You need your VUnet ID and password to access this material.