

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Three assignments from an electrical and computer engineering (ece) graduate course (598) on formal hardware/system-on-chip (soc) verification. The assignments involve modeling and verifying properties of an elevator system, a cache coherence protocol, and a security protocol using given tools and methodologies. The elevator system assignment requires modeling the system using given variables and functions, and verifying properties such as the elevator door being closed during travel and servicing pending requests. The cache coherence protocol assignment involves verifying freedom from deadlock and safety properties using the given smv model and cache.pdf description. The security protocol assignment involves checking for vulnerability to a lowe attack using the given promela description in nsl.txt.
Typology: Assignments
1 / 2
This page cannot be seen from the preview
Don't miss anything!


Model the system described below:
An elevator system is to drive a cabin which can service four floors, numbered 0 to 3. The cabin can move up and down between the floors. At each floor, there is a position detector reporting when the cabin has safely reached the corresponding floor. The cabin door can be opened and closed. There are sensors to report if the door is completely open or completely closed. Finally, there are request buttons at each floor and in the cabin, by which users can request the elevator to travel to the different floors.
A set of variables/functions you might want to use, is given in the table:
Signal Meaning
at[i] req[i] is_open is_closed
The cabin is at floor i. There is a pending request to visit floor i. The elevator door is completely open. The elevator door is completely closed. do_open do_close do_up do_down
Open the elevator door. Close the elevator door. Move the cabin upwards. Move the cabin downwards.
Verify the properties:
A cache coherence protocol is described in cache.pdf. The SMV model derived from this is given in the file gccp.txt. It models a single cluster of 3 processors with one memory block.
Verify the following properties:
Security protocols are notoriously difficult to debug. nsl.txt is a Promela description of a 3-agent model based on a protocol designed by Needham and Schroeder, with a potential attack by the intruder agent (Lowe attack).
A Lowe attack is defined as: ‘Whenever an agent B engages in a session of the protocol as a responder and B believes that the initiator is A, then the secret generated by B is not known only to A and B.’
Check if the given model is vulnerable to a Lowe attack.
Correction:
Change line 171 in nsl.txt. msg2 should be replaced with msg. The corrected line is :: icp_type = = msg3 -> network! msg3(bob, intercepted);