Tutorials given at conferences:
Tutorial at PPoPP 2014: Programming Distributed Algorithms
Tutorial at SPLASH 2014: Programming Distributed Algorithms
Tutorial at PODC 2017: HighLevel Specification of Distributed Algorithms ( slides)
Tutorial at PODC 2019: From Classical to Blockchain Consensus: What are the Exact Algorithms? ( slides)
Tutorial at RV 2020: Assurance of Distributed Algorithms and Systems: Runtime Checking of Safety and Liveness ( slides, with a demo in video, code, tutorial paper) Tutorial at PLDI 2023: HighLevel Executable Specification and Reasoning for Improving Distributed Algorithms (to present) Additional writeups are yet to be provided.
Please refer to the following papers for now:
From Clarity to Efficiency for Distributed Algorithms (OOPSLA 2012)
(DistAlgo language, compilation, optimization, implementation, and experiments with a dozen examples)
HighLevel Executable Specifications of Distributed Algorithms (SSS 2012)
(Methods for writing highlevel specifications, with parts of multiPaxos as a main example)
From Clarity to Efficiency for Distributed Algorithms (arXiv 2014, revised 2017, TOPLAS 39(3) 2017)
(Extended description of DistAlgo language and optimization method, with a formal operational semantics)
Moderately Complex Paxos Made Simple: HighLevel Specification of Distributed Algorithms (arXiv 2017, PPDP 2019)
(Basic Paxos and MultiPaxos algorithms for distributed consensus written at a high level in DistAlgo, code, video for PODC 2021 on liveness studied in a separate paper)
Lamport's distributed mutual exclusion algorithm in DistAlgo
