University of Calgary
Rob Kremer
Individual Assignment 1: Static Protocols

CPSC 601.68/599.68: Agent Communication
Fall 2011
Department of Computer Science
Computer
Science

Note: This is an individual assignment. You may brainstorm with other students, but the bulk of the work and the bulk of the ideas must be your own. That entails that you may not share a drawing by copy-and-paste or by any other means. If you do work with other students (or anybody else) you must cite that collaboration explicitly in your handed-in assignment. This is good practice in any circumstances.

The assignment is to write a protocol for a "purchase" transaction as discussed in class. The basic protocol is given as a petri net, below. The black part is the basic protocol is the black part, I've given you a hint with the blue part.

But you'll notice that it isn't very realistic: it doesn't account for many (most?) of the situations that might arise, such as communication failure, refusals, or other failures. For example, what if the customer's credit card is refused? (Instead of just failing, we could try again with the same credit card, another credit card, or another method of payment. But we probably shouldn't allow trying the same credit card 50 times!) What if the customer changes his mind and doesn't want the product in the middle of the transaction? What if it turns out the seller only speaks Swahili and the customer only speaks English and the customer can't understand the payment request? What if a large truck goes by and some one of the communications in the protocol isn't heard by one of the parties? Etc, etc, etc.

Your job is to augment this petri net to make it as complete as possible, accounting for as many "failure modes" as possible. You might even correct the basic protocol if you see fit. Some of the failures will simply be failures, but others will be recoverable. You should consider at least 4 modes of failure at any point in the net: lost message (timeout?), not understood, refusal, and failure (can't comply).

Here is the diagram as a power point slide, which might be convenient if you want to work with it using power point, but pencil and paper would be fine too.

Warning: I don't expect you to spend more than two hours on this assignment. The diagram can be very big, and you may not complete in two hours, but you should demonstrate to me that you know what you're doing. You might just indicate which parts are incomplete and still need work.


UofC
CPSC 601.68/599.68: Agent Communication
Department of Computer Science

Last updated 2011-09-15 21:53
Rob Kremer