18-649 Elevator Design Project

Portfolio Layout


*Please submit all project-related questions to {email} -- thanks!
Change Log:
25th Jan 2011 : updated Scenario 8A in file scen_sd.html
25th Feb 2011: updated passenger requirements in file requirements2.html
30th April 2011: udpated passenger statechart to reflect the new simulator changes in requirements2.html

General Guidelines

Change Log

Whenever part of the portfolio is updated, we will make a list of the updates here and post an announcement on Blackboard.  For some documents (like the requirements II document), you will probably want to manually copy the changes into your current portfolio.  If you have not modified the template, you can just copy the new file from the template into your portfolio.

Portfolio Template

The portfolio template provides a framework of HTML files and directories which you will fill in over the semester.  Most of the required files are included in the template, but you will likely add supporting files, such as image files, test files, and test results.  The template is intended to be consistent with all the project instructions.  If you find a discrepancy between this document and the template or between the template and instructions in some project writeup, please email the staff list to resolve the issue.

The following list shows the subfolders and the contents of each folder.  Consult the file stubs in the portfolio template for details.  To see how these files are mapped to the projects, check the portfolio-project-matrix.

Formatting Your Portfolio

Except for code files, all of your portfolio submissions shall be in the form of HTML documents with inline images, unless otherwise noted in the project writeups.  Your submissions must be formatted as follows:

File Headings

Each file in your portfolio shall include a heading with your team information

Including Code in Your Portfolio

The elevatorcontrol/ subdirectory is where you will include the code for your project.  You should include all the java files from the simulator.elevatorcontrol package (even the ones we provided, since you may end up modifying them later).  You should not include class files (yours or those provided by the course staff).  Make sure that all java files in your handin are listed and hyperlinked in the elevatorcontrol/package.html file, and that each file has a description.  Make sure your code files include the appropriate headings.

The portfolio includes logging features that allow the logging for different modules to be turned on and off through the use of verbose parameters and commandline flags.  You MUST use this logging framework and you MUST NOT print anything to the command line otherwise.  Basically, if the verbose options are disabled, the controllers should not print anything to the screen.  The purpose behind this requirement is to keep your code from generating huge log files when we run tests on your elevator, although it is to your advantage to follow these instructions because the logging output slows the tests significantly.  If you fail to follow these directions, you may have points deducted from your project grade.

If you want to verify that the grading TAs will be able to compile your code, you can recreate the steps that they will follow when grading your project:
  1. Download the latest required simulator tarball from the course website.
  2. Unpack the simulator.
  3. Copy the entire contents of your elevatorcontrol/ directory (in the portfolio) into the code/simulator/elevatorcontrol/ folder (of the simulator).  Make sure you overwrite any of the existing files of the same name with the files from your portfolio.
  4. Run 'make' in the code directory and see if the simulator compiles without errors.
  5. Run any unit, integration, or acceptance tests required by the project writeup.

Complete and Consistent Design

The following is a partial list of the characteristics your portfolio should exhibit:

Handing in your Portfolio

You will start out at the beginning of the semester with the portfolio template.  You will build on this template every week.  For each project, you should submit the entire portfolio (even the incomplete parts).  We will only grade the parts relevant to the current project, although the nature of the design process is such that we will be looking back at previous design phases to make sure that your design remains consistent and correct.  You will submit your portfolio into the handin directories on the course AFS spaces. 

See the Project FAQ for details.


Back to course home page