Project

The 1-week goal is for each team to develop, and describe on the wiki, the architecture of their component. In particular:

The 2-week goal will consist in developing precise interfaces for these components. Turn in the assignment in the wiki.

Reading

Read lecture 3 and lecture 4 on Verisoft, as well as the POPL 97 paper. Of the lectures, you don't need to study every detail: you just need to be familiar with what we covered in class.

Problem Set

The following problems are related to Verisoft. Please turn in solutions on sheets of paper, stapled together; write your name on your assignment.

Problem 1: Dining Philosophers

Consider an instance of the dining philosophers problem with n philosophers, numbered 0, ..., n-1. Between philosophers i and i+1 mod n is chopstick i, and there are two operations on the chopstick:

Give the independence relation I. For independence, use the definition at page 18 of lecture 3.

Problem 2: Talking Philosophers

Consider an instance of the talking philosophers problem with n philosophers, numbered 0, ..., n-1. Between philosophers i and i+1 mod n is a channel C_i, so that i can talk to i+1 mod n. Each channel can hold at most 4 messages, and is organized as a FIFO. There are two operations on the channel:

Consider the state s, where each channel contains exactly two messages, and consider the dependency table between send and recv given at page 27 of lecture 3. Is there a persistent set T that is neither empty, nor it consists of all transitions? Either give one such set, or prove that there is none.

Problem 3: Supping Philosophers

In this problem, there are again n philosophers, but each one of them has a soup dish in front. Each philosopher has a spoon, which can be either in the soup, or out of it. Basic table manners require that philosophers dip their spoons only in their own dishes. Thus, philosopher i, for 0 <= i < n has two operations on the dish:

Questions:

  1. With reference to lecture 3, page 20, how many traces of length m there are from a state?

  2. Again with reference to lecture 3, how many Mazurkiewicz's traces (i.e., equivalence classes of traces) there are of length m from a state?

In both cases, you can answer using big-Oh notation as a function of m. Example: rather than 4m2 + 3m - 1 you can answer O(m2). If you find this problem too difficult, you may want to solve it first for n=2, then for n=3.

CMPE 276 Fall 2006/Assignment 2 (last edited 2006-10-23 09:31:26 by LucaDeAlfaro)