CSC 2108S : Automated Verification

Assignment 2

Due: Wednesday March 3, classtime

You are to specify and verify the behavior of a traffic controller described in Part 2 of Assignment 1.  Specify the behavior of the system in PROMELA,
making sure that the lights are represented by at least two asynchronous processes.

Rewrite the following properties in LTL or using PROMELA's assert statements:

Note that the above list may be incomplete. If you can think of other properties vital to the correct behavior of the controller,  please add them to this list.

Using the SPIN model checker, verify that your specification satisfies the above properties.

General Questions:


Presentation You may work my yourself or in groups of 2. Warning: It will take you much longer to complete the assignment if you work on your own.

You must complete the project before class time on March 3 because we will discuss the assignment in class.  E-mail me a working copy of the Promela specification including all of the LTL formulae and asserts you attempted to verify. Bring to class (to hand in) one hardcopy of your group's Promela specification and answers to questions.  Please make sure that your submission includes names of the group members.

I am looking for one group to volunteer to present their specifications in class on the due date.  If you are interested in presenting, let me know. I am looking for a 15-minute presentation.

People who are not taking the course for credit are still required to participate in the assignment. The goal of this course is to gain practical experience with specification and verification tools, and you can achieve this goal only by doing the assignments.

Finally, if you discover any typos or other problems with the assignment, please bring them to my attention.



chechik@cs.toronto.edu