University of Calgary
Rob Kremer
Individual Assignment 1: Static Protocols

CPSC 601.68/599.68: Agent Communication
Winter 2008
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 bulkof 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 gereralized protocol for a simple retail purchasing application. 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 Buyer is paying by credit card and the credit card is rejected? That would be failure on the part of the buyer in the "Buyer: Paying for item" place (or is in the "Seller: Accepting Payment" place?). What if the buyer refused to pay the amount? What if the seller found out he had unexpectedly none of the item in stock? What if communication simply failed (eg: if this is an internet transaction and one of the messages simply got lost)?

Your job is make 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 (eg: "Here's my Amex card."/"We don't accept Amex."/"Well, then, here's my VISA card.") 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 2008-01-15 10:02
Rob Kremer