Stephen A. Edwards Columbia University Crown
  Languages for Embedded System Design:
The Project
Home Project Projects FAQ Flyer Bulletin Board
 The Project
  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.
  Writeup 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.

 Project Ideas
  10 slide Powerpoint File 2 page PDF File (for Acrobat) The in-class presentation on project ideas.
  • Hierarchy browser for the Verilog language. Use the Icarus Verilog 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 become available.
  • 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
    • Abstract
    • Introduction
    • Related work
    • One to three "meat" sections that describe your project
    • Experimental results, if appropriate
    • Conclusions
    • References
  • Cite all work you are mimicking, extending, or comparing yourself with.
  • 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 22-25, 2001.
    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 not to.
 Project Writeup Grading
  Out of 100 points for the literature survey, 50 are specific to it:
Summary and analysis of existing work in the field
Plans for the implementation portion of the project
Out of 100 points for the final project writeup, 50 are specific:
Formal modeling
The remaining 50 points for both writeups are the same:
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

Copyright © 2001 Stephen A. Edwards Updated Wed Dec 19 18:45:29 EST 2001 All Rights reserved