Skip to content

Latest commit

 

History

History
35 lines (18 loc) · 1.39 KB

README.md

File metadata and controls

35 lines (18 loc) · 1.39 KB

golang_Dining_Cryptographers

Implement the network of dining cryptographers problem with 3 cryptographers in the GO Programming language. You must adhere to the following requirements:

  1. Every cryptographer is its own process.

  2. Every coin is its own process

  3. The restaurant owner is its own process

  4. A table observer (yet another process) that sees the external events.

Deliverables:

  1. Your code

  2. Take the events that the table observer sees, and show that they satisfy the anonymity requirement.

  3. Allow cryptographer 0 to see all 3 coins. Write a routine for him to determine who pays, and show that your code works by asking one cryptographer to pay.

Note:

  1. http://cpansearch.perl.org/src/SHEVEK/Crypt-Dining-1.01/lib/Crypt/Dining.pm has a Pearl implementation, but it does not answer the turn-in parts of 2 and 3.

  2. Dining Philosophers have been implemented in GO at http://f.souza.cc/2011/10/go-solution-for-dining-philosophers.html.

  3. The GO programming language has an excellent online tutorial at http://golang.org, and lots of references.

OUR Resources

  1. Presentation: https://docs.google.com/presentation/d/1GntpaTXxO7v-u6xC6Sia2kuoIMUGsJih9BamSHPj1qA/edit?usp=sharing

  2. Report: https://docs.google.com/document/d/1htn1ZCYJIxkSddsJuXxN2BF59a2-XK1VdKB_Ra9SLxI/edit?usp=sharing

  3. Diagrams: https://drive.google.com/file/d/0BzKKQaf6n1hHOUk3bXdrUEFtR28/view?usp=sharing