Exam

Date

Exam will be held on june 7th, 2012.

Description

Exam is oral, 20 minutes per student including voting. Grades are given by the 7-step scale. There is no preparation time. When entering, each student draws a question from a pool and after a short break, to gather the thoughts and take a deep breath, the student immediately starts elaborating on the answer(s). All materials are allowed during the exam. If a student wants to demonstrate a Promela program, the student must herself bring a laptop along with the necessary software. Furthermore, there is no time to wait for a laptop to boot or searching for software or files, so the laptop must be up and running, with the necessary software running, when entering. Furthermore, Spin/Promela demonstrations may not take up more than 5 minutes of the 15 minutes allocated for examining each student (20 minutes – 5 minutes of voting).

Exam questions

  1. SPIN
    Discuss what SPIN is, what it can be used for, and how one can specify and verify temporal qualities of a (distributed) system.
    (Notes, cheat sheet, material on LTL[5])

  2. Reasoning about global state distributed systems and the problems involved
    Discuss how one can model global state, the problems in reasoning about the way system events unfold, and how system events influence local and global state.
    (“Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms”[4], page 1-6 (section 1-4)).

  3. Monitoring distributed computations and consistent observations
    Discuss strategies for monitoring distributed computations, the problems involved and how an observer of distributed computations draws valid conclusions about system global state.
    (“Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms”[4], page 6-10 (section 5-6)).

  4. Observing distributed computations
    Discuss how an observer may construct and continuously update an image of system global state and the necessary requirements.
    (“Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms”[4], page 10-14 (section 7-9)).

  5. Constructing the causal precedence relation
    Discuss how an observer can use vector clocks to construct a causal precedence relation for observed events.
    (“Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms”[4], page 14-20 (section 10-11)).

  6. Distributed snapshots
    Discuss how an observer may use the Chandy-Lamport algorithm to obtain snapshots of system global states, and the properties of such snapshots.
    (“Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms”[4], page 22-26 (section 13)).

  7. Properties of global predicates
    Discuss the temporal properties of predicates on global state and our possibilities of evaluating them.
    (“Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms”[4], page 26-34 (section 14.1-14-2)).

  8. Detecting Possibly and Definitely
    Discuss general methods an observer has for detecting predicates Possibly() and Definitely() in a distributed system.
    (“Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms”[4], page 34-36 (section 14.3)).