Abstract
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.
- Artist. http://www.artist-embedded.org/overview/.]]Google Scholar
- Balarin, F. et al. 1997. Polis: A Design Environment for Control-Dominated Embedded Systems. Kluwer, Boston, MA.]]Google Scholar
- Balarin, F. et al. 1999. Synthesis of software programs for embedded control application. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.]]Google ScholarDigital Library
- Balarin, F., Watanabe, Y., Hsieh, H., Lavagno, L., Passerone, C., and Sangiovanni-Vincentelli, A. 2003. Metropolis: An integrated electronic system design environment. IEEE Computer.]] Google Scholar
- Baleani, M., Gennari, F., Jiang, Y., Patel, Y., Brayton, R. K., and Sangiovanni-Vincentelli, A. 2002. HW/SW partitioning and code generation of embedded control applications on a reconfigurable architecture platform. In Proceedings of the 10th International Symposium on Hardware/Software Codesign (CODES), Estes Park, Colorado.]] Google Scholar
- Berry, G. and Gonthier, G. 1992. The esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19, 2, 87--152.]] Google ScholarDigital Library
- Borkar, S., Cohn, R., Cox, G., Gleason, S., and Gross, T. 1988. Warp: An integrated solution of high-speed parallel computing. In Supercomputing '88: Proceedings of the 1988 ACM/IEEE Conference on Supercomputing. IEEE Computer Society Press. 330--339.]] Google Scholar
- Brayton, R. K., Rudell, R., Sangiovanni-Vincentelli, A., and Wang, A. R. 1987. Mis: A multiple-level logic optimization system. IEEE Trans. Comput.-Aided Design Integrated Circuits 6, 6 (Nov.), 1062--1081.]]Google ScholarDigital Library
- Bryant, R. E. 1986. Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35, 8 (Aug.), 677--691.]] Google ScholarDigital Library
- Carloni, L. P. 2004. Latency-Insensitive Design. Ph.D. thesis, University of California at Berkeley, Electronics Research Laboratory, College of Engineering, Berkeley, CA 94720. Memorandum No. UCB/ERL M04/29.]] Google Scholar
- Caspi, P., Pilaud, D., Halbwachs, N., and Plaice, J. A. 1987. Lustre: A declarative language for real-time programming. In POPL '87: Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. ACM Press, New York. 178--188.]] Google Scholar
- Caspi, E., Chu, M., Huang, R., Yeh, J., Wawrzynek, J., and DeHon, A. 2000. Stream computations organized for reconfigurable execution (score). In FPL '00: Proceedings of the The Roadmap to Reconfigurable Computing, 10th International Workshop on Field-Programmable Logic and Applications. Springer-Verlag. 605--614.]] Google Scholar
- CS294. http://www.cs.berkeley.edu/~culler/cs294-f03/.]]Google Scholar
- CS294w. http://www.cs.berkeley.edu/~adj/cs294-1.f00/.]]Google Scholar
- de Kock, E. A., Essink, G., Smits, W. J. M., van der Wolf, P., Brunel, J.-Y., Kruijtzer, W. M., Lieverse, P., and Vissers, K. A. 2000. Yapi: Application modeling for signal processing systems. Proceedings of the Design Automation Conference.]] Google Scholar
- dSpace. http://www.dspaceinc.com/ww/en/inc/products/sw/targetli.htm.]]Google Scholar
- EE249. http://www-cad.eecs.berkeley.edu/~polis/class.]]Google Scholar
- EE290A. http://www-cad.eecs.berkeley.edu/respep/research/classes/ee290a/fall02/.]]Google Scholar
- EE290N. http://embedded.eecs.berkeley.edu/concurrency/.]]Google Scholar
- EE290O. http://www.cs.uni-salzburg.at/~ck/teaching/eecs290o-spring-2002.]]Google Scholar
- EECS20N. http://ptolemy.eecs.berkeley.edu/eecs20/index.html.]]Google Scholar
- Ferdinand, C. and Wilhelm, R. 1998. On predicting data cache behavior for real-time systems. In Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems. Springer-Verlag, 16--30.]] Google Scholar
- Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., and Culler, D. 2003. The nesc language: A holistic approach to networked embedded systems. SIGPLAN Not. 38, 5, 1--11.]] Google ScholarDigital Library
- Giotto. http://embedded.eecs.berkeley.edu/giotto/.]]Google Scholar
- Harel, D. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 3 (June), 231--274.]] Google ScholarDigital Library
- Henzinger, T. A., Horowitz, B., and Kirsch, C. M. 2003. Giotto: A time-triggered language for embedded programming. Proceedings of the IEEE 91, 84--99.]]Google ScholarDigital Library
- Henzinger, T. A. and Kirsch, C. M. 2002. The embedded machine: Predictable, portable real-time code. In Proceedings of the International Conference on Programming Language Design and Implementation. ACM Press, New York, 315--326.]] Google Scholar
- Horowitz, B. Liebman, J., Ma, C., Koo, J., Sangiovanni-Vincentelli, A., and Sastry, S. 2003. Platform-based embedded software design and system integration for autonomous vehicles. In Proceedings of the IEEE.]]Google Scholar
- IXP1200. http://www.intel.com/design/network/products/npfamily/ixp1200.htm.]]Google Scholar
- Kopetz, H. and Grunsteidl, G. 1994. Ttp-a protocol for fault-tolerant real-time systems. Computer 27, 1, 14--23.]] Google ScholarDigital Library
- Koushanfar, F., Davare, A., Nguyen, D. T., Potkonjak, M., and Sangiovanni-Vincentelli, A. 2003. Distributed localized algorithms and protocols for power minimization in networked embedded systems. In ACM/IEEE International Symposium On Low Power Electronics and Design.]]Google Scholar
- Lee, E. A. 2000. Designing a relevant lab for introductory signals and systems. Proc. of the First Signal Processing Education Workshop.]]Google Scholar
- Lee, E. A. and Messerschmitt, D. G. 1987. Synchronous data flow. In Proceedings of the IEEE.]]Google Scholar
- Lee, E. A. and Sangiovanni-Vincentelli, A. L. 1998. A framework for comparing models of computation. IEEE Trans. Comput.-Aided Design Integrated Circuits 17, 12 (Dec.), 1217--1229.]]Google ScholarDigital Library
- Lee, E. A. and Varaiya, P. 2000. Introducing signals and systems---the Berkeley approach. Proc. of the First Signal Processing Education Workshop.]]Google Scholar
- Lee, E. A. and Varaiya, P. 2003. Structure and interpretation of signals and systems. Addison-Wesley, Reading, MA.]]Google Scholar
- Li, Y.-T. S. and Malik, S. 1995. Performance analysis of embedded software using implicit path enumeration. In Workshop on Languages, Compilers and Tools for Real-Time Systems. 88--98.]] Google Scholar
- Liberty. http://liberty.cs.princeton.edu/software/lse/.]]Google Scholar
- Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM 20, 1, 46--61.]] Google ScholarDigital Library
- Lygeros, J., Tomlin, C., and Sastry, S. 1999. Controllers for reachability specifications for hybrid systems. In Automatica, Special Issue on Hybrid Systems.]]Google Scholar
- Martin, G. and Salefski, B. 1998. Methodology and technology for design of communications and multimedia products via system-level ip integration. In Proceedings of the Conference on Design, Automation and Test in Europe. IEEE Computer Society.]]Google Scholar
- Mathworks. http://www.mathworks.com/products/rtw/.]]Google Scholar
- Matlab. http://www.mathworks.com/.]]Google Scholar
- Mescal. http://embedded.eecs.berkeley.edu/mescal.]]Google Scholar
- Murata, T. 1989. Petri nets: Properties, analysis and applications. In Proceedings of the IEEE. 541--580. NewsletterInfo: 33. Published as Proceedings of the IEEE, 77, 4.]]Google Scholar
- Nexperia. http://www.semiconductors.philips.com/products/nexperia/.]]Google Scholar
- Passerone, R. 2004. Semantic foundations for heterogeneous systems. Ph.D. thesis, University of California, Berkeley.]] Google Scholar
- PATH. http://www.path.berkeley.edu/.]]Google Scholar
- PicoRadio. http://bwrc.eecs.berkeley.edu/research/pico_radio.]]Google Scholar
- Pinto, A., Carloni, L., and Sangiovanni-Vincentelli, A. 2002. Constraint-driven communication synthesis. In Proceedings of the Design Automation Conference 2002 (DAC'02).]] Google Scholar
- Pnueli, A. 1977. The temporal logic of programs. In Proceedings of the 18th IEEE Symposium on the Foundations of Computer Science (FOCS-77). IEEE, IEEE Computer Society Press, Providence, Rhode Island, 46--57.]]Google Scholar
- PtolemyII. http://ptolemy.eecs.berkeley.edu.]]Google Scholar
- Sangiovanni-Vincentelli, A. 2002. Defining platform-based design. EEDesign of EETimes.]]Google Scholar
- Sangiovanni-Vincentelli, A., Carloni, L., Bernardinis, F. D., and Sgroi, M. 2004. Benefits and challenges for platform-based design. In Proceedings of the 41st Annual Conference on Design Automation. ACM Press, New York, 409--414.]] Google Scholar
- Shah, N., Plishker, W., and Keutzer, K. 2004. NP-Click: A Programming Model for the Intel IXP1200, 1 ed. Vol. 2. Elsevier, Chapter 9, 181--201.]]Google Scholar
- Teja. http://www.teja.com/.]]Google Scholar
- Vachharajani, M., Vachharajani, N., Penry, D. A., Blome, J., and August, D. I. 2004. The liberty simulation environment, version 1.0. Performance Evaluation Review: Special Issue on Tools for Architecture Research 31, 4 (Mar.).]] Google Scholar
- Xilinx. http://www.xilinx.com.]]Google Scholar
- Zimet, L., Kao, S., Amir, A., and Sangiovanni-Vincentelli, A. 2004. An embedded system for an eye detection sensor. In Computer Vision and Image Understanding: Special Issue on Eye detection and Tracking.]]Google Scholar
- Zivojnovic, V., Pees, S., and Meyr, H. 1996. Lisa---machine description language and generic machine model for hw/sw co-design. IEEE Workshop on VLSI Signal Processing.]]Google Scholar
Index Terms
- An overview of embedded system design education at berkeley
Recommendations
Undergraduate embedded system education at Carnegie Mellon
Embedded systems encompass a wide range of applications, technologies, and disciplines, necessitating a broad approach to education. We describe embedded system coursework during the first 4 years of university education (the U.S. undergraduate level). ...
Teaching Method Practicing on Embedded Software Engineering Curriculum
TRUSTCOM '11: Proceedings of the 2011IEEE 10th International Conference on Trust, Security and Privacy in Computing and CommunicationsServing as a part of the engineering education, curriculum reform plays an important role in higher education reforms. This paper presents the reform practice on curriculum of "Intel Atom Platform Embedded Application and Practice" and "Software Test ...
Comments