Maurizio Gabbrielli, Saverio Giallorenzo, Ivan Lanese, Jacopo Mauro
In Choreographic Programming, a choreography specifies in a single artefact the expected behaviour of all the participants in a distributed system. The choreography is used to synthesise correct-by- construction programs for each participant. In previous work, we defined Dynamic Choreographies to support the update of distributed systems at runtime. In this work, we extend Dynamic Choreographies to include new participants at runtime, capturing those use cases where the system might be updated to interact with new, unforeseen stakeholders. We formalise our extension, prove its correctness, and present an implementation in the AIOCJ choreographic framework.
- Link to the Paper, published in The Art of Modelling Computational Systems: A Journey from Logic and Concurrency to Security and Privacy, 2019, Springer.