CSC 2108 : Automated Verification

Assignment 3

Due: March 24, class time

You are to specify and verify the behavior of the controller system from Assignment 1 using Concurrency Workbench (CWB). You should create a CCS specification that describes the behavior of the system in terms of two parallel agents. One agent accepts requests (sensor information) from the environment and forwards them to the second agent. The second agent services requests (i.e., changes the lights and arrows). Below is the requirements specification of the system.

Input
Inputs to the system consist of sensor information. Assume that all sensors are "latched", i.e., once triggered, sensors remain "on" until the controller specifically resets them.

Output
The output of the system should be the observable actions of the controller - colors of the three lights and two errors.

Required Behavior (1)
Use the CWB model checker to prove the properties of the controller: that lights change colors in the appropriate manner, that each request(tripped sensor) will eventually be serviced, etc. Use properties of assignment 1. You may want to use macros, as shown in the CWB journal paper. Additionally, consider the LTL properties of assignment 2 that you could not express in CTL. Can these be expressed using Mu-calculus?

Required Behavior (2)
Create a CCS specification that describes the set of action-sequences you expect your traffic-controller system to have (e.g., trip sensor, get green light); this specification should only consist of one agent. Use the CWB to verify that your controller specification and this specification of action-sequences are observationally equivalent.

Presentation
Please turn in your models, properties you were able to verify, sequences of required behavior and results of all verification. You may want to use Unix command script to capture output of CWB during the interactive session. Make sure that your models are adequately commented and contain names of members of your group. Also, make sure that you insert English comments explaining the meaning of your properties. Finally, answer the following questions: Please send me a copy of your CWB model and properties.