Epistemic Logic

communication protocols, version 1



description

In communication between different agents, for instance in a computer network, communication protocols play an important role. When transmitting information back and forth, we need to make sure that messages from one agent to another do arrive at their destination. Consider, for instance, email or using FTP to send files.
During communication, it is possible that messages "get lost" (deletion). This is why the protocols need to guarantee that messages from the sender arrive at the receiver.

In this assignment, you will work on a logical approach to these communication protocols. First a few procotols are explained and demonstrated, then you can experiment with some of the rules used in these protocols.


Homework assignments

1. Read pages 39 - 44 from the book "Epistemic Logic for AI and Computer Science" and pages 11-14 from "Basics: the modal aproach to knowledge" (see the literature)

2. Review the demonstrations for the protocols A and B and explain why these protocols are safe from deletion errors. (A formal proof is not required.)

3. Experiment with both protocols by either removing or changing the following rules (you can apply changes by pressing the designated buttons)

a) Replace lines 3 and 4 of S in Protocol A by 'send(Xi)' and leave out lines 4 and 5 of R.
What is going wrong, and why?

b) In Protocol A, leave out line 4 of S and replace lines 4 and 5 of R by 'send(Xi) until Kr(Xi+1)'.

What is going wrong, and why? How is this different from Protocol B?

c) Leave out the fourth line of R in protocol B.

What is going wrong, and why?

d) Add an extra path from S to R which is slower. Use protocol B for this.

What is going wrong, and why?

e) Leave out the "color" from messages sent by S and R in protocol B.

What is going wrong, and why?

4. Solve exercise 1.21 from "Basics: the model approach to knowledge."

5. Optional extra assignment: review the demonstration of the TCP protocol. This protocol is safe from deletion errors as well, and moreover, it ensures that messages are put in the correct order.
Explain how this is done. Describe some of the differences between TCP and protocol B. Consider the number of messages that is being sent, or what should be saved by the sender and the receiver.


sources and auxiliary materials

Literature:
* pages 37-44 from "Epistemic Logic for AI and Computer Science", W. van der Hoek, J.J.Ch. Meyer, 1995
* section 1.5 from "Basics: the modal approach to knowledge", R. Verbrugge


Demonstrations:
  • demonstration Protocol A
  • demonstration Protocol B
  • demonstration Protocol TCP
  • Created by Freek Stulp

    Experimenting:
  • Protocol A
  • Protocol B


  • download the protocol applets





    The TCP applet was created by Freek Stulp.

    developer: Rineke Verbrugge (l.c.verbrugge@ai.rug.nl), RUG