Deterministic simulation of a distributed system in testing

I’m starting this thread only for the sake of discussion. I’m curious about what other people think about the problem.

It starts with this blog post.

I have the impression that Akka is not fully practicing it yet, given this bug

The user API of Akka definitely doesn’t offer enough abstraction to build a controlled simulation of an actor system with many actors (with different protocols).
Now I can easily unit test each actor’s protocol thanks to createTestProbe from the test kit. But I can’t test two protocols interacting together.

This is a hard problem. I now can’t think of any good abstraction that can do the work.
I’d like to hear more opinions.