Jakša Vučković

Zuhlke Engineering

Why are Actors Great?

This is the second part of the introduction to actors. Here we do a hands on session to learn to take advantage of using actors to develop concurrent and distributed fault tolerant systems. We will teach how to use actors properly avoiding the major pitfalls that a lot of novices make on their first approach to the actor based model.

Full abstract

Concurrent and distributed development has always been notoriously difficult to test. Methods like ad-hoc correctness proofs, temporal logic and model checking have been used for decades, but have always had downsides which prevented them from going mainstream. In this workshop we build on the theory presented in 'why are actors terrible' and teach a more efficient and effective method for building testable actor based systems. The approach presented uses some properties of the actor model and builds on TDD, property based testing and model checking in order to allow effective testing of distributed systems.

The workshop will include some hands on development using java+akka (or scala+akka if preferred). Attendees will have to use their laptops or work in pairs. We will try to build and test a correct implementation of a simple distributed algorithm such as the two phase commit. Ideally it should be 4 hours but we can adapt. Attendees will learn how to take advantage of the benefits of the actor model.