  Implementing distributed systems is hard; choreographic programming aims to
make it easier. In this paper, we present the design of a new choreographic
programming language that supports isolated transactions among overlapping sets
of processes. The first idea is to track for every variable which processes are
permitted to use it. The second idea is to use model checking to prove
isolation.
