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.
Overview of embedded and hybrid systems
Heterogeneous modeling and design using formal models of computation
Finite state machines/statecharts
Data flow models
Other models of computation
Modeling Hybrid Systems
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.