An overview of embedded system design education at berkeley

Embedded systems have been a traditional area of strength in the research agenda of the University of California at Berkeley. In parallel to this effort, a pattern of graduate and undergraduate classes has emerged that is the result of a distillation process of the research results. In this paper, we present the considerations that are driving our curriculum development and we review our undergraduate and graduate program. In particular, we describe in detail a graduate class (EECS249: Design of Embedded Systems: Modeling, Validation and Synthesis) that has been taught for six years. A common feature of our education agenda is the search for fundamentals of embedded system science rather than embedded system design techniques, an approach that today is rather unique.

[1]  Sharad Malik,et al.  Performance analysis of embedded software using implicit path enumeration , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[3]  Luca P. Carloni,et al.  Latency-insensitive design , 2004 .

[4]  Reinhard Wilhelm,et al.  On Predicting Data Cache Behavior for Real-Time Systems , 1998, LCTES.

[5]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Kurt Keutzer,et al.  NP-Click: A Programming Model for the Intel IXP1200 , 2004 .

[7]  Alberto L. Sangiovanni-Vincentelli,et al.  Constraint-driven communication synthesis , 2002, DAC '02.

[8]  Edward A. Lee,et al.  Structure and interpretation of signals and systems , 2002 .

[9]  Alberto Sangiovanni-Vincentelli,et al.  An embedded system for an eye-detection sensor , 2005, Comput. Vis. Image Underst..

[10]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[11]  Luciano Lavagno,et al.  Metropolis: An Integrated Electronic System Design Environment , 2003, Computer.

[12]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[13]  Edward A. Lee DESIGNING A RELEVANT LAB FOR INTRODUCTORY SIGNALS AND SYSTEMS , 2000 .

[14]  Christoph M. Kirsch,et al.  Giotto: a time-triggered language for embedded programming , 2003 .

[15]  Luciano Lavagno,et al.  Synthesis of software programs for embedded control applications , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[17]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[18]  John Wawrzynek,et al.  Stream Computations Organized for Reconfigurable Execution (SCORE) , 2000, FPL.

[19]  David I. August,et al.  The Liberty Simulation Environment, version 1.0 , 2004, PERV.

[20]  Alberto L. Sangiovanni-Vincentelli,et al.  Platform-based embedded software design and system integration for autonomous vehicles , 2003, Proc. IEEE.

[21]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[22]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[23]  BrewerEric,et al.  The nesC language , 2003 .

[24]  Thomas A. Henzinger,et al.  The embedded machine: predictable, portable real-time code , 2002, PLDI '02.

[25]  Nicolas Halbwachs,et al.  LUSTRE: a declarative language for real-time programming , 1987, POPL '87.

[26]  Edward A. Lee,et al.  INTRODUCING SIGNALS AND SYSTEMS - THE BERKELEY APPROACH , 2000 .

[27]  Alberto L. Sangiovanni-Vincentelli,et al.  Benefits and challenges for platform-based design , 2004, Proceedings. 41st Design Automation Conference, 2004..

[28]  Robert K. Brayton,et al.  HW/SW partitioning and code generation of embedded control applications on a reconfigurable architecture platform , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[29]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[30]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[31]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[32]  Felice Balarin Polis: a design environment for control-dominated embedded systems , 1996 .

[33]  Günter Grünsteidl,et al.  TTP - A Protocol for Fault-Tolerant Real-Time Systems , 1994, Computer.

[34]  Shekhar Y. Borkar,et al.  iWarp: an integrated solution to high-speed parallel computing , 1988, Proceedings. SUPERCOMPUTING '88.

[35]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[36]  John Lygeros,et al.  Controllers for reachability specifications for hybrid systems , 1999, Autom..

[37]  Roberto Passerone,et al.  Semantic foundations for heterogeneous systems , 2004 .

[38]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[39]  Heinrich Meyr,et al.  LISA-machine description language and generic machine model for HW/SW co-design , 1996, VLSI Signal Processing, IX.

[40]  Erwin A. de Kock,et al.  YAPI: application modeling for signal processing systems , 2000, Proceedings 37th Design Automation Conference.