Protocol Validation



µCRL is a specification language based on process algebra together with abstract data types. The toolset of µCRL allows the user to automatically transform a µCRL specification into a graph representing process behaviour. The French toolset CADP can be used to analyse this graph.

First an overview is given of abstract data types and process algebra. The specification language µCRL is explained in detail. Next network protocols like the Bounded Retransmission Protocol, the IEEE 1394 Tree Identify Protocol, the Sliding Window Protocol and the Needham-Schroeder Protocol are treated. In the lectures these protocols will be explained and specified algebraically, while in the labs these protocols are analysed using the µCRL and CADP toolsets.

Model checking is an automated technique to verify properties of process graphs. Several model checking logics will be explained, together with model checking algorithms. In the labs, model checking will be applied on some of the protocols, using CADP.

There is a homework exercise, consisting of an analysis of the Sliding Window Protocol, using the µCRL and CADP tools.

There is a set of lecture notes, which can be downloaded from the web. Relevant literature is: