skip to main content
article

An overview of embedded system design education at berkeley

Published:01 August 2005Publication History
Skip Abstract Section

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.

References

  1. Artist. http://www.artist-embedded.org/overview/.]]Google ScholarGoogle Scholar
  2. Balarin, F. et al. 1997. Polis: A Design Environment for Control-Dominated Embedded Systems. Kluwer, Boston, MA.]]Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. Berry, G. and Gonthier, G. 1992. The esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19, 2, 87--152.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bryant, R. E. 1986. Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35, 8 (Aug.), 677--691.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. CS294. http://www.cs.berkeley.edu/~culler/cs294-f03/.]]Google ScholarGoogle Scholar
  14. CS294w. http://www.cs.berkeley.edu/~adj/cs294-1.f00/.]]Google ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. dSpace. http://www.dspaceinc.com/ww/en/inc/products/sw/targetli.htm.]]Google ScholarGoogle Scholar
  17. EE249. http://www-cad.eecs.berkeley.edu/~polis/class.]]Google ScholarGoogle Scholar
  18. EE290A. http://www-cad.eecs.berkeley.edu/respep/research/classes/ee290a/fall02/.]]Google ScholarGoogle Scholar
  19. EE290N. http://embedded.eecs.berkeley.edu/concurrency/.]]Google ScholarGoogle Scholar
  20. EE290O. http://www.cs.uni-salzburg.at/~ck/teaching/eecs290o-spring-2002.]]Google ScholarGoogle Scholar
  21. EECS20N. http://ptolemy.eecs.berkeley.edu/eecs20/index.html.]]Google ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Giotto. http://embedded.eecs.berkeley.edu/giotto/.]]Google ScholarGoogle Scholar
  25. Harel, D. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 3 (June), 231--274.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle Scholar
  29. IXP1200. http://www.intel.com/design/network/products/npfamily/ixp1200.htm.]]Google ScholarGoogle Scholar
  30. Kopetz, H. and Grunsteidl, G. 1994. Ttp-a protocol for fault-tolerant real-time systems. Computer 27, 1, 14--23.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle Scholar
  32. Lee, E. A. 2000. Designing a relevant lab for introductory signals and systems. Proc. of the First Signal Processing Education Workshop.]]Google ScholarGoogle Scholar
  33. Lee, E. A. and Messerschmitt, D. G. 1987. Synchronous data flow. In Proceedings of the IEEE.]]Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. Lee, E. A. and Varaiya, P. 2000. Introducing signals and systems---the Berkeley approach. Proc. of the First Signal Processing Education Workshop.]]Google ScholarGoogle Scholar
  36. Lee, E. A. and Varaiya, P. 2003. Structure and interpretation of signals and systems. Addison-Wesley, Reading, MA.]]Google ScholarGoogle Scholar
  37. 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 ScholarGoogle Scholar
  38. Liberty. http://liberty.cs.princeton.edu/software/lse/.]]Google ScholarGoogle Scholar
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. Lygeros, J., Tomlin, C., and Sastry, S. 1999. Controllers for reachability specifications for hybrid systems. In Automatica, Special Issue on Hybrid Systems.]]Google ScholarGoogle Scholar
  41. 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 ScholarGoogle Scholar
  42. Mathworks. http://www.mathworks.com/products/rtw/.]]Google ScholarGoogle Scholar
  43. Matlab. http://www.mathworks.com/.]]Google ScholarGoogle Scholar
  44. Mescal. http://embedded.eecs.berkeley.edu/mescal.]]Google ScholarGoogle Scholar
  45. 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 ScholarGoogle Scholar
  46. Nexperia. http://www.semiconductors.philips.com/products/nexperia/.]]Google ScholarGoogle Scholar
  47. Passerone, R. 2004. Semantic foundations for heterogeneous systems. Ph.D. thesis, University of California, Berkeley.]] Google ScholarGoogle Scholar
  48. PATH. http://www.path.berkeley.edu/.]]Google ScholarGoogle Scholar
  49. PicoRadio. http://bwrc.eecs.berkeley.edu/research/pico_radio.]]Google ScholarGoogle Scholar
  50. Pinto, A., Carloni, L., and Sangiovanni-Vincentelli, A. 2002. Constraint-driven communication synthesis. In Proceedings of the Design Automation Conference 2002 (DAC'02).]] Google ScholarGoogle Scholar
  51. 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 ScholarGoogle Scholar
  52. PtolemyII. http://ptolemy.eecs.berkeley.edu.]]Google ScholarGoogle Scholar
  53. Sangiovanni-Vincentelli, A. 2002. Defining platform-based design. EEDesign of EETimes.]]Google ScholarGoogle Scholar
  54. 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 ScholarGoogle Scholar
  55. 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 ScholarGoogle Scholar
  56. Teja. http://www.teja.com/.]]Google ScholarGoogle Scholar
  57. 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 ScholarGoogle Scholar
  58. Xilinx. http://www.xilinx.com.]]Google ScholarGoogle Scholar
  59. 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 ScholarGoogle Scholar
  60. 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 ScholarGoogle Scholar

Index Terms

  1. An overview of embedded system design education at berkeley

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 4, Issue 3
      August 2005
      238 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/1086519
      Issue’s Table of Contents

      Copyright © 2005 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 August 2005
      Published in tecs Volume 4, Issue 3

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader