Course Project Information, COMP 408 (Spring 1997)

For the course project, you will verify a sizeable problem or system using both model-checking and theorem-proving. You may either choose your own problem or select one from the project list. You are encouraged to find your own problem to work on. If you do, be sure to clear it with the instructor before proceeding!

There are four components to the course project:

Project Proposal

Project proposals are due in class on Wednesday, March 12.
Note: You should not work on the verification aspects of the project until after I have graded your project proposal. Therefore, if you want to work on the verification aspects of your project during the break, you must turn in your project proposal before break.
Write your proposal assuming that I know nothing about the system you are verifying. Your proposal should cover the following points: In grading these proposals, I am looking to see how well you can describe a verification problem to others and how realistic you are about where the different types of verification can be applied to your chosen problem. I expect these proposals to be formal papers and will grade them for English usage and writing style accordingly. Spell-check and proofread your proposal, and write it as clearly and compactly as possible.

Verification of Problem

The goal of this project is to get you to explore the practical differences between theorem proving and model checking. I expect you to use both approaches in your verification. Therefore, your verification should follow one of two general formats:
  1. Use the approaches interactively to verify the design. The interaction between the approaches should be natural for the problem. For example, for the systolic array element, we could have verified the behavior of a single stage using model checking, then verified how the results from the individual stages compose into a result on the entire circuit using theorem proving. It would not have been natural to simply pick some properties to theorem prove and some to model check, unless those you verified using theorem proving were not amenable to model checking due to the size of the design.

  2. Use each approach separately to verify the design. In this case, your project is more of a case study in different approaches and I expect your final report to compare and contrast the practicality of the two approaches relative to your design in some detail.


In class on April 23, you will give a 30 minute presentation on your course project. Your presentation should include The goal of these presentations is to have you all learn from each others' experiences on the projects. The emphasis of your presentation should therefore be on the verification and modeling aspects of the project, particularly the aspects you found most interesting, challenging, etc.

You can do your presentation either using the overhead projector or using handouts and the whiteboard.

Final Project Report

Your final project report will summarize your experience in verifying your problem. The report should contain the following items: As with the proposals, these reports are intended to be formal papers. They will be graded for English usage and writing style accordingly.