CSC2108F : Automated Verification

Assignment 2, Part 1: SMV

Due: Wednesday, October 17, classtime.

You can work on this part of the assignment with a partner

You are to specify and verify the behavior of a simple elevator system. The system consists of one elevator that services a building with three floors. Each floor has a request button that a user presses to get the elevator to come to that floor and open its doors. Inside the elevator, there is one request button for each of the three floors; passengers press these buttons to get the elevator to go to a particular floor and open its doors. If the elevator moves between floors, it should do so within one time unit (e.g., the elevator should not move for two consecutive states between floors $i$ and $i+1$). However, the elevator cannot move between floors 1 and 3 in one time unit. There is an OpenDoor button, in addition to call and destination buttons of the elevator. If the OpenDoor button is pressed when the elevator is not moving, then the door should open (remain open) for an extra time unit, i.e., for an extra state. However, a user should not be able to keep the door open indefinitely if the elevator has other requests to service.

Specify the behavior of your elevator system in the SMV input language. The following properties need to be re-written as CTL formulae.

Think of and add at least one more CTL property (not equivalent to the ones presented above) that is vital to the correct operation of your elevator system.

Using the NuSMV model checker, verify that your specification satisfies all of these properties. See the end of this document for specific requirements to the model and to the documentation. Hint: It is easier to create an elevator that does not have an OpenDoor capability first, and then add it into the model.

Instructions:

Presentation You may work by yourself or in groups of two. Warning: It may take you longer if you work on your own.

You must complete the assignment before class time on October 18 because we will discuss the assignment in class. We will need two groups to volunteer presenting the models of the elevator on October 18. If you are interested in presenting, let me know. I am looking for a 10-12-minute presentation from each presenting group.