Revised March 18, 2008:

18-649 Project Assignment #2

Event-Based System: Scenarios and Sequence Diagrams

Due Thursday January 31, 2008, at 11:59 PM

Please submit all project-related correspondence to

This semester, your group will specify, design and build an elevator control system and use it to control a simulated elevator. You will learn of and deal with many of the details of building a distributed, real-time, embedded system.

For this part of the project you will begin to write your requirements for an Event-based System.  In project 3, you will construct your full requirements and traceability. Project 2 requires you to create scenarios for the elevator system, and draw out sequence diagrams. Follow the format of the "formula for behavioral requirements" you'll see in multiple lectures. A particularly important concern is that only one message can be used as the trigger for an action. If you need two messages to trigger an action, you will generally need to use multiple behavioral requirements and intermediate variables to do this. That having been said, the pre-written behaviors are already in time-triggered format so they can remain unchanged for later project phases. If you are wondering why this is all such a big deal, come to office hours and ask us.


Assignment:

We've done a lot of the work for you already!

First, we've provided a Use Case Diagram (CLICK HERE) , the Architecture Diagram (CLICK HERE), and the Elevator Behavioral Requirements (CLICK HERE).

From that use case diagram we've given you a Scenario and Sequence Diagram template (CLICK HERE). There are a few examples given in the template to get you started; you will be responsible for filling in the rest.

We want you to use UML (Unified Modeling Language) to develop your behavioral requirements.  Here is the procedure for developing your behavioral requirements by first creating sequence diagrams:

  1. Complete the Scenario and Sequence Diagram template by filling in a Scenario, Post-Conditions, and a Sequence Diagram for each of the Scenarios given. You should pick reasonable and useful post-conditions, and we realize that post-conditions will vary among different project teams. The Scenario is a brief statement of how a user might use the system -- the same idea as in Project 1. Post-Conditions tell the state of the system after the Scenario is completed. The Sequence Diagram graphically shows messages passed between objects in the system. Use only objects given in the Elevator Behavioral Requirements and obey the interface of each object (i.e. objects receive only documented messages and don't receive the rest; objects can only send documented messages and not others in the message dictionary). These restrictions are in place to get you headed in the right direction to create a highly distributed system.

    We've provided a couple examples to get you started. Feel free to leverage work done from Project 1 - realize, though, the Pre-Conditions are a little different and you are concerned with the behavior or the entire elevator system, not just the doors. Feel free to change the examples, as well - the examples given aren't very 'smart' and are sub-optimal in terms of performance.

    There are 12 sections total - we want each team member to complete at least three sections. Please have the author team member record his/her name in the section that he or she wrote. The project will be graded on a team basis, and collaboration is encouraged, but we want everyone to get a shot at it. Turn in the completed template with each section signed by the author. You are welcome and encouraged to complete additional scenarios and sequence diagrams that you think are relevant. You will almost certainly have to create more of them in later project phases to specify complete behavior for the elevator, so it won't hurt to get an early start.
  2. As in Project 1, a checklist of your work is required. We want to have traceability from your numbered scenarios to the sequence diagram. This is shown in the template given above. Have another member of your group check the following list of questions about the sequence diagram:
    1. Does each step in the scenario match an event in the sequence diagram?
    2. Are all arcs labeled with a valid command in the sequence diagram?
    3. Are all boxed items correct parts of the elevator architecture?

Please sign off and indicate any discrepancies.


Team Design Portfolio:

Each team shall maintain a design portfolio to organize all materials for the design package of its elevator system.  You are going to update this portfolio for every weekly assignment, so it is worth investing some time now to get things organized and easy to maintain.

1) Organize your design portfolio

Your project2 directory should contain the most up-to-date design package for your elevator system organized into the following directories.  This directory structure will develop as the semester progresses. This is to organize things for the rest of the course -- you'll be keeping this same organization and updating things for each subsequent project phase.

2) Ensure your design portfolio is complete and consistent.  The following is a partial list of the characteristics your portfolio should exhibit:


Handing In Results

Each team shall submit exactly one copy of the assignment.

Please include at the top of each file the assignment number, your group number, the names of your group members, and the file name.

Projects shall be submitted by copying all needed files into your group's directory in the course AFS space in the following directory:  /afs/ece/class/ece649/Public/project/group#/project#/
(group# is your group number and project# is the number of this project.  you may need to create this directory yourself)

Any submission that contains files with modification dates after the project deadline will be considered late and subject to a grade deduction (see course policy page for more information).

Submission shall be electronically in the form of a web page with text and in-lined images, in HTML 2.0 format, viewable from both MS Internet Explorer and Firefox. HTML 2.0 does NOT include java or javascript or some of the more esoteric functions (frames, etc.). However, you can include tables. (In other words, we want "plain-vanilla" html to eliminate problems printing and viewing.) Any drawings shall be in non-animated GIF format. (You can use other graphics formats at your own risk, but we must be able to view them in the web browsers mentioned above).  You can also submit your project in pdf format, but make sure it prints correctly on a postscript printer and that links work (we recommend using html for documents with links!).    A regular text editor should be sufficient for this assignment - you may want to make the traceability tables in Excel or Word and use the 'Save as HTML' or 'Save as Web Page' feature in the File menu. If you need some help with HTML please come to Office Hours :)

Additionally, the result should be easily readable when printed on a black-and-white laser printer. Each HTML file AND picture shall include the team number and names of all members of the team.


Grading (113 points):

This assignment counts as one team grade.
Grading will be as follows:

·  8 points for each Scenario, End Condition, and Sequence Diagram set needed in the template (there are 12 total).

·  1 point for each checklist (12 points total). Another person in the group must sign off on each sequence diagram as described above.

We want you to go through the process of developing the scenarios and sequence diagrams, and in project 3 use them to generate the behavioral requirements. Project 3 will require that you show traceability between them. Consistency and coherence are the two criteria we're looking for. Your UML diagrams do not have to be perfect. You should make your best effort to completely specify all behaviors for the software control objects. However, be warned that if you slack off here, you'll have a much harder time with later project phases because you'll have to do all the work eventually to create a completed system.  If you chose to create additional scenarios and sequence diagrams you should follow through with them as with the mandatory assignment. But we won't take off points for mistakes made that solely involve optional material.

  • 5 points: what can be improved about this project? Include even minor bugs so we know to fix them. If you found nothing, then so state.

  • Back to course home page