February 2026

Making Reliable Distributed Systems in the Presence of Software Errors

paper

Joe Armstrong, PhD Thesis · December 2003

  • Joe Armstrong’s PhD thesis defining the principles behind Erlang/OTP: concurrency-oriented programming, process isolation, and error recovery through supervision
  • Argues that reliable systems must be built from unreliable components by isolating failures and encoding recovery strategies declaratively
  • Introduces the six rules of Erlang: isolation, everything is a process, error detection across processes, fault detection is built-in, processes can be upgraded, and failures are handled by other processes