Simulation and Analysis of Distributed Systems in Klaim