Chapter 4

Representing Distributed Algorithms

Syntax and Semantics

4.1 Introduction

This chapter introduces a minimal set of notations to represent distributed algorithms. These notations do not always conform to the syntax of popular programming languages like C or Java. They are only useful to appropriately specify certain key issues of atomicity, nondeterminism, and scheduling in a succinct way. The notations have enough flexibility to accommodate occasional use of even word specifications for representing actions. These specifications are only meant for a human user who is trying to implement the system or reason about its correctness. In [D76], Dijkstra argued about the importance of such a language to influence our thinking habits. This ...

Get Distributed Systems, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.