18-649 Project 11

Due Thursday, April 9th, 2009 11:59 PM

Please submit all project-related correspondence to


Changelog:

In this project, you will complete your testing and develop a network schedule for your design.

In addition to these tasks, there is one more major change.  Consider this scenario: at your most recent project meeting your boss informs you that the marketing department has decided to change the target audience for your elevator product (didn't you get the memo?).  Now, the elevator not only has to exhibit even better passenger delivery performance, but it also has to be safe and deliver passengers when some components fail.  In order for you to meet your new performance requirements, your boss has gotten approval to use new, top-of-the-line drive motors which accelerate at the same rate, but have a much higher to speed.    Consult projects 12 and 13 (once they are posted) to review the new reliability requirements.

Assignment:

This assignment has three parts:  upgrade for the high speed drive, network scheduling, and complete testing of your design.

Before you begin, be sure you download the latest release of the simulator from the download page.  The new release contains the drive modifications and some necessary upgrades for the network schedule analysis.

1. High Speed Drive Modification

Modify your design to work with the new drive speed parameters:

Pay special attention to how this affects the stopping distance and commit point computations.  You may also want to consider if this modification will impact your network schedule.   You should log the change to the design requirements as an issue and record all related changes accordingly.

2. Network Schedule

Develop a network schedule using Rate Monotonic Analysis (RMA) with harmonic periods and deadline = period.  Sometimes this is called Deadline Monotonic Analysis or Deadline Monotonic Scheduling.  For details, refer to the lecture material on scheduling and the two CAN lectures.

2.1.  Message Dictionary

You will start by constructing a message dictionary table.  You message IDs shall have a structure given here:

Message ID Breakdown Size (bits)
Criticality (always 01) 2
Message ID 11
Source Node ID 8
Replication ID 8
Total # of bits 29

Note that you may assign arbitrary values for the Message and Source Node IDs within the constraints dictated by the RMA schedule.

Your message dictionary will be similar to the tables shown in the simulator development overview, although all message IDs (even for the module messages) should be contained in a single table.  Each row of the table shall describe a message type, including messages sent by the modules and smart sensors. 

The message dictionary table shall have the following columns (the columns must be in the order listed below!  The values in the underlined columns must be consistent between the two tables.):

2.2.  Network Schedule Analysis

Next, construct a network schedule analysis table.  The table shall have a row corresponding to each row of the message dictionary table. 

The table shall have the following columns (the columns must be in the order listed below!  The values in the underlined columns must be consistent between the two tables.):

Columns marked with an asterisk (*) must contain an extra row at the bottom that contains the total of all values in the column.

You can find a template for the two tables here:  network-schedule-template.xls.  Consult the technical notes page for some Excel hints.  If the Excel file you provide uses formulas in the network analysis, then we will be able to follow your analysis and provide partial credit if there are errors.

A few more notes about scheduling and the tables:

Some further notes regarding adding, removing, and combining messages:
*You may only add messages after obtaining permission from a the course staff.

2.3  Network Translator Updates

In order to meet the bandwidth requirements of the system, you will need to rewrite your message translators to match the reduced the size of the CAN payloads in your network schedule.  At this point, you will need to stop using the BooleanCanPayloadTranslator and IntegerCanPayloadTranslator, which are very inefficient.  You may implement your new translators any way you want, but remember that all your code must be included in the elevatorcontrol package and that no modifications to the rest of the simulator may be included in your submission. 

You will also need to modify the elevatorcontrol.MessageDictionary file with the CAN IDs required by your schedule.

Make sure your implementation matches the network schedule you have defined in the previous step.

2.3. Compare your analysis with simulation results

Run one or more acceptance tests with the "-b 140" flag and record the network utilization.  Use this (with the bandwidth) to compute the actual number of bits/s used by the controllers in your design.  Record the simulation results along with the total best- and worst-case total bandwidth in the summary HTML file and include 1-2 paragraphs (no more than 500 words) of discussion that addresses the following points:

Notes: 

3. Complete Testing of your Design

Modifications to your design may require modifications to your tests.  You should make all the changes necessary to have a complete and consistent design package. 

In particular, you will need to modify the unit and integration tests to use the new CAN IDs.  The technical notes page contains a script that can replace the old CAN IDs with the new ones in all your test files with one command. 

Once you have made all necessary changes to your design, you should run all tests, including:
Because of the design changes in this project, you are not required to pass all tests for Project 11.  However, your test logs must be complete and up-to-date.  Any test that does not pass must have the related faults documented in detail (as described in Project 10).  Remember that every time a failed test results in a change to the design, you must document the fact that the test failed and record the resulting changes in the issue log .
NOTE:  You will be required to pass all tests for Project 12.  We strongly advise you NOT to put the work off until next week! 


Handing In Results

Each team shall submit exactly one copy of the assignment.

In addition to the rest of the design, you will complete the Network Schedule page of the portfolio template.  You must also include the Excel file containing your network analysis and link it into the Network Schedule page.

In addition, your submission shall follow format, directory, and other aspects of organization specified in previous projects. By this point in the semester you know the drill...

Make sure everything in your project is updated and consistent across the entire design. Pay attention to what the course staff has told you in the lectures, recitations, office hours, and in the feedback from previous projects, and address the issues they point out.


Grading Criteria:

This project counts as one team grade. Points are assigned as follows:

This project assignment is worth 105 points:

Note: above points include relevant updates to traceability, change log, defect tracking, etc.

Note: we are no longer awarding points for having a complete and consistent design package, nor just for following instructions. Those should be a given at this point. However, TAs can deduct points from the project for failing to following turn-in directions or having an end-to-end design package with blatant gaps.


Back to course home page