The main point of this class is a large language-related
project. I envision two types of project:
- Use one of the languages discussed in the class to implement some
part of an embedded system and report on the results.
- Build a piece of software that synthesizes, analyzes, or
implements one of the languages discussed in class.
The outcome of your project will be a workshop-class
paper, meaning it should be scholarly, accurate, and brief, but it
does not have to be polished. Ideally, it should be in a form
suitable for submission, but actually submitting it to a workshop or
conference is not required.
Like all academic papers, the contents of the writeup should be
your own and appropriate credit (i.e., citations) given where you have
used or adapted other's work.
The in-class presentation on project ideas.
- Hierarchy browser for the Verilog language. Use the
compiler/simulator as a starting point.
- A compiled event-driven simulator for the Esterel language.
- A performance comparison of simulating a large design in
Verilog and System C.
- An environment that can run Kahn Process Networks.
- A simulator for your favorite assembly language. Make it fast.
- A simplified Verilog simulator.
- A comparison of the concurrency models and their implementation
in Java, POSIX threads, Ada, Verilog, etc.
- A limited Java-to-C translator.
- A limited C++-to-C translator.
- Model a simple processor (e.g., an 8051) in both C and Verilog.
Compare simulation speeds.
- Performance analysis of one of the publicly-available RTOSes.
- A comparison of the various real-time Linux kernels that have
- Performance comparison of algorithms implemented in Java and C
across many platforms, compilers.
- Use Esterel Studio to model a wristwatch and explore its
abilities and limitations.
Project Report Format|
Make your project report look like a conference paper:
- Six pages maximum, including figures tables, and references.
This is a hard limit: edit text to reduce the size of your paper.
- Minimum 10 point font
- Two column
- Include, in the following order
- Related work
- One to three "meat" sections that describe your project
- Experimental results, if appropriate
- Cite all work you are mimicking, extending, or comparing yourself
- Use a numbered style for citations, e.g.,
- S. Edwards, T. Ma, and R. Damiano. Using a Hardware Model
Checker to Verify Software. In Proceedings of the 4th
International Conference on ASIC, Shanghai, China, October
- Stephen A. Edwards. Languages for Digital Embedded
Systems. Kluwer, 2000.
- S. Edwards, L. Lavagno, E. Lee, and
A. Sangiovanni-Vincentelli. Design of embedded Systems:
Formal models, validation, and synthesis. Proceedings of
the IEEE 85(3):366-390, March, 1997.
- I prefer to receive the final report in PDF , but
Postscript will also be accepted. Let me know if you have
difficulty generating either. Project reports will be posted on
the class website for posterity unless you specifically ask me
Project Writeup Grading|
Out of 100 points for the literature survey, 50 are specific to it:
Out of 100 points for the final project writeup, 50 are specific:
- Summary and analysis of existing work in the field
- Plans for the implementation portion of the project
The remaining 50 points for both writeups are the same:
- Formal modeling
- Description of context of research: its relevance and potential impact
- Description of objectives
- Meet page limit
- Format of references and in-text citations
- Identify at least three relevant, key papers
- Electronic version of the paper