CPN Modelling Project

The project is concerned with CPN modelling and the aim is to make a number of modifications and extensions to the CPN model of the simple protocol described in [1].

The project is to be conducted in group of 1-2 persons. Each group is required to write a 5-10 page report documenting the model that has been constructed. The report must be sent by email on November 27. Each group is also required to email their final CPN model to João M. Fernandes

The project consists of 2 tasks, and all groups are required to do both tasks.

Task 1: Packet Generation

The initial marking of the place PacketToSend specifies a fixed number of packets that are to be transmitted by the protocol. When modelling the sliding window protocols in task 2, more packets will be required to explore the models.

Modify the CPN model of the simple protocol such that there is a transition that adds a packet to PacketToSend whenever it occurs. The i'th packet should be given sequence number i and the data content "i". The latter makes it easy to check that the packets are delivered in the correct order by the receiver.

Task 2: Go-Back-N Window Protocol

The simple protocol is a stop-and-wait protocol: The sender keeps sending the same packet until the matching acknowledgement is received. In sliding window protocols [2], it is possible for the sender to transmit several packets to the receiver before receiving an acknowledgement.
The sliding window refers to imaginary boxes at the sender and the receiver. This window can hold packets and sets the upper limit on the number of packets that can be transmitted before needing an acknowledgement. Packets may be acknowledged at any point without waiting for the window to fill up and can be transmitted while the window is not full.

Modify the CPN model based on Chap. 10 (sections 10.2 & 10.3) of [2] such that it models a Go-Back-N Protocol. It should only be necessary to modify the Sender part of the CPN model.

Use simulation to validate the correctness of the protocol.

Note that [2] considers the case of a network where overtaking of frames (packets in our terminology) is not possible and that sequence numbers are bounded. We will allow overtaking of packets on the network in the CPN model, and therefore unbounded sequence numbers 0,1,2,3,4,5,6,7,8,... can be used when modelling the Go-Back-N Window Protocol.

This animation illustrates the principles of the Go-Back-N protocol.

References

[1] K. Jensen, L. M. Kristensen, L. Wells: Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems. STTT 9(3-4): 213-254 (2007)

[2] B. A. Forouzan: Data Communications and Networking 2nd Edition, McGraw-Hill, 2001.


Last modified: Mon Nov 12 17:17:14 WET DST 2007