CS
522, Embedded Systems
Autumn 2007 - 2008Instructor Purandar Bhaduri, ext: 2360 (Email: pbhaduri) Teaching Assistants Chokshi Devesh Bharatkumar (Email: chokshi) Prerequisites CS203 (Discrete Maths)
CS 221 (Digital Design)
CS 222 (Computer
Organization and Architecture).
Textbook P. Marwedel, Embedded System
Design. Springer Verlag, 2006. (Available in Indian edition from New Age International, The author’s course
material (including lecture slides). Reference
Books You may refer to the following books for additional reading. 1. W. Wolf, Computers as
components: principles of embedded computing system design. Morgan Kaufmann,
2005. 2. G.C. Buttazzo, Hard real-time computing systems: predictable scheduling algorithms and applications. Kluwer Academic Publishers, 2005. Other
Sources 1. ARTIST Network
of Excellence on Embedded Systems Design is an excellent source
containing a wealth of material on research on embedded systems. In
particular, look at the Dissemination
and Course
Material Available Online page. 2. Lecture Slides of Reinhard von Hanxleden on
Modeling Reactive Systems (2004
and 2005). 3. EE249 Course at Berekeley (Design of Embedded Systems: Models,
Validation and Synthesis, Fall 2007) with lecture notes
by Alberto L. Sangiovanni-Vincentelli. 4. The
synchronous hypothesis and synchronous languages, D. Potop-Butucaru,
R. De Simone, J.-P. Talpin, in The
Embedded Systems Handbook, CRC Press, 2005. See also, The
Synchronous Languages Twelve Years Later, A. Benveniste
et al, Proc. of the IEEE, 91(1), special issue on Embedded Systems,
64-83, Jan 2003. 5. Esterel a. The ESTEREL
Language (see the link on main papers
and read “The
Foundations of Esterel” and “The Esterel
Primer”.) b. Esterel
Studio from Esterel Technologies 6. The original
Statecharts model proposed by David Harel a.
Statecharts:
A Visual Formulation for Complex Systems, David Harel, Science of Computer Programming 8(3): 231-274
(1987) b.
STATEMATE: A Working
Environment for the Development of Complex Reactive Systems, David
Harel, Hagi Lachover, Amnon Naamad, Amir Pnueli, Michal Politi,
Rivi Sherman, Aharon Shtull-Trauring, Mark Trakhtenbrot,
IEEE Trans. Software Eng. 16(4): 403-414 (1990) 7.
UML and a. The UML Resource Page from OMG. b. UML
2.0 Tutorial by Ileana Ober. c. Unified
Modeling Language 2.0 by Harald Störrle and Alexander Knapp. d. Introductory
chapter from the book Real-Time UML
Workshop for Embedded Systems by Bruce Powel Douglass, Elsevier. e. "Executable Object Modeling with Statecharts", D. Harel and E. Gery, Computer 30:7 (July 1997), IEEE Press, 31-42 (cover feature). f.
Slides on “ g. "UML Statecharts", Brunce Powel Douglass, Embedded Systems Programming, January 1999, pp. 22-42. h. "Class 505/525: State machines and Statecharts", Bruce Powel Douglass, Proceedings of Embedded Systems Conference, San Francisco 2001. i.
Rhapsody:
A Complete Life-Cycle Model-Based Development System, Eran
Gery, David Harel, Eldad Palachi, IFM 2002, pp
1-10. 8. Free copy of Real-Time Systems:
Specification, Verification and Analysis, Mathai
Joseph, Ed. Prentice-Hall, 1995. Some
Important Papers 1. Design of Embedded Systems: Formal Methods, Validation and Synthesis, S. Edwards, L. Lavagno, E. Lee, A. Sangiovanni-Vincentelli, Proceedings of the IEEE, vol. 85 (n.3) - March 1997, pp 366-290. 2.
System
level design paradigms: Platform-based design and communication synthesis,
A. Pinto et al, ACM Transactions
on Design Automation of Electronic Systems 11(3): 537-563 (2006). See also, Platform-Based
Design for Embedded Systems, L. Carloni et al,
in R. Zurawski (Ed.), The Embedded Systems
Handbook, CRC Press , 2005 and System design:
traditional concepts and new paradigms, A. Ferrari and A. Sangiovanni-Vincentelli, International
Conference on Computer Design 1999 (ICCD '99), pp 2-12. 3. The embedded systems design challenge, Thomas A. Henzinger and Joseph Sifakis, Proceedings of the 14th International Symposium on Formal Methods (FM), Lecture Notes in Computer Science 4085, Springer, 2006, pp. 1-15. 4. From
Control Loops to Real-Time Programs, P. Caspi and O. Maler,
Handbook of Networked and Embedded Control Systems, 395-418, 2005. 5. Real
Time Scheduling Theory: A Historical Perspective,
L. Sha et al, Real-Time Systems 28(2-3): 101-155 (2004).
6. Scheduling algorithms for
multiprogramming in a hard-real-time environment, C.L. Liu and J.W. Layland, J. ACM Vol. 20 (1), 1973, pp.
46–61.
7. Liu and Layland's schedulability test revisited, Raymond R. Devillers and Joël Goossens, Inf. Process. Lett.
73(5-6): 157-161 (2000). 8.
Giotto:
A Time-triggered Language for Embedded Programming, T. A. Henzinger, B.
Horowitz, and C. M. Kirsch, Proceedings of the IEEE 91:84-99, 2003. See also
the Giotto page at 9.
The
time-triggered architecture, H. Kopetz and G.
Bauer, Proceedings of the IEEE, 91(1):112--126, January 2003. 10. Timed Automata, R. Alur, NATO-ASI 1998 Summer School on
Verification of Digital and Hybrid Systems. See also, Timed
Automata: Semantics, Algorithms and Tools, J. Bengtsson
and W. Yi, Lectures on Concurrency and Petri Nets 2003, pp 87-124 and Foundation
for Timed Systems, P. Bouyer, ARTIST2 Summer
School on Component & Modelling, Testing & Verification, and Static
Analysis of Embedded Systems, Sept 29 - Oct 2, 2005. Software 1.
Esterel
Studio is installed on the Linux server loktak. To
get an account on the machine please contact Ferdous.
The command to invoke the program is ‘estudio’.
For online help, follow the link Help -> Esterel Studio Manuals. Public
domain Esterel tools are available from INRIA. 2.
Rhapsody is also installed on loktak. You can invoke the tool by typing any of the
following commands: RhapsodyInC (for C), RhapsodyInCpp (for C++) or RhapsodyInJ
(for Java). The command Rhapsody is the same as RhapsodyInCpp.
For online help, click on the Documentation tab, or alternatively, look at
the documents in /app/rhapsody-install/Doc/pdf_docs/listofbooks.pdf. Homework
Policy No late submissions will
be accepted! The work must be done on your own. Two or more identical or near
identical solutions will get zero credit Homeworks 1.
Homework # 1 Due date extended
to 1 August. Seminar Please prepare for a 30
min. presentation on a topic relevant to embedded systems research. You have to
submit a 5 page report as well. Work in groups of two. Here are some suggested topics. You may
choose your own topic, but please notify me. Please choose your topics by 24
September and email your choice to me along with the name of your group
members. The presentations will be at end of the course. |
|