A Probabilistic Choreography Language for PRISM
Marco Carbone, Adele Veschetti
TL;DR
The paper addresses the challenge of modeling and verifying concurrent probabilistic systems by introducing a probabilistic choreographic language that expresses global interaction patterns. It defines formal syntax and operational semantics, develops a minimal PRISM fragment for code generation, and proves correctness of a translation (projection) from choreographies to PRISM models. A practical Java-based implementation and compiler demonstrate the end-to-end flow from choreography to PRISM code, enabling model checking of global specifications with standard PRISM analyses. Benchmarking across diverse protocols shows the approach yields concise, readable models that preserve the behavior of reference PRISM specifications, with insights into applicability and limitations. The work offers a usable, correct-by-construction path from high-level probabilistic choreography to provable, analyzable PRISM models, facilitating reliable design of distributed systems.
Abstract
We present a choreographic framework for modelling and analysing concurrent probabilistic systems based on the PRISM model-checker. This is achieved through the development of a choreography language, which is a specification language that allows to describe the desired interactions within a concurrent system from a global viewpoint. Using choreographies gives a clear and complete view of system interactions, making it easier to understand the process flow and identify potential errors, which helps ensure correct execution and improves system reliability. We equip our language with a probabilistic semantics and then define a formal encoding into the PRISM language and discuss its correctness. Properties of programs written in our choreographic language can be model-checked by the PRISM model-checker via their translation into the PRISM language. Finally, we implement a compiler for our language and demonstrate its practical applicability via examples drawn from the use cases featured in the PRISM website.
