Q1+Q2 2008, 10 ECTS
Project report
Write a report (around 10 pages of text) about the project you have been doing and hand it in along with your project. The report should make someone who has not seen your code yet able to understand the ideas in the project, including the optimization and representation techniques used for the implementation. The report should as a minimum cover the following points:
- Instructions on how to run your code
- The status of your work. What can your VM do? For example:
- How much of the client language do you support and what did you leave out?
- How far did you get compared to your original plans and how did your plans change during the quarter.
- An account of the architecture of the VM. Which parts does the code contain and how do they fit together?
- A description of the techniques used to implement the VM. For example:
- How do you represent the runtime state of the program?
- What are the pros and cons of your particular choice of representation?
- Which of the optimization techniques described during the first quarter of the have you implemented for you VM and how did you have to modify these techniques to put them to use for your VM and your client language?
- What were the tree most interesting conclusions you had while implementing the VM? For example:
- Did some of the applied techniques work particulary good or bad for your project?
- Performance measures for running some test programs on your VM (perhaps comparing your VM with a particular optimization enabled to your VM with the same optimization disabled), including:
- Memory benchmarks
- CPU time benchmarks
- Relate and compare your work to the Course Objectives as given on the front page
- Conclusions on your work
You must hand in your report and (a zip file containing) your code using the online handin system in the login section of this web page no later than December 17th 23:59. This is a hard deadline and the system will not accept any late handins.
