SUBJECT

Title

Design of Distributed Systems

Type of instruction

lecture + practical

Level

master

Part of degree program
Credits

5

Recommended in

Semester 3

Typically offered in

Autumn semester

Course description

Students will be able to express and verify the properties of the distributed programs using

formal methods, apply different ways to create advanced compositions of simple programs, and solutions for interesting and difficult problems in a distributed way.

Dining/drinking philosophers, formal specification of distributed problems, properties of distributed systems, safety and progress properties of distributed programs, verification of safety critical properties, program compositions from components with proven properties, computing the value of an associative function, message channels, pipelined networks programming exercises where the students apply the learned methods in the practice.

Readings
  • Misra, J.: A discipline of multiprogramming: programming theory for distributed applications (Springer, 2001)
  • K. Mani Chandy and Jayadev Misra: Parallel Program Design: A Foundation (Addison-Wesley, Reading, MA, Reading, Mass., 1988)
  • Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers (Addison-Wesley 2002)
  • Schmidt, D., C. et al.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects (Wiley & Sons, 2000)