The course discusses how time assumptions influence computation in distributed systems. It presents ways to implement timing assumptions (e.g., clock synchronization and synchronizers) and to use them. It discusses various ways to model uncertainties in the system and to cope with them (mainly in the presence of failures).
The course is research-oriented: It covers mostly recent papers, attempts to study a variety of problems within a unified framework and emphasises open problems.