Mila Dalla Preda, Maurizio Gabbrielli, Saverio Giallorenzo, Ivan Lanense, and Jacopo Mauro


We illustrate our approach to develop and verify distributed, adaptive software systems. The cornerstone of our framework is the use of choreography languages, which allow us to obtain correctness by construction. Workflow Patterns are also used as abstract tools to design real systems, while techniques based on abstract interpretation and on dynamic verification are integrated in our framework to reduce the complexity of verification.

  • Link to the Paper, published in Science of Computer Programming 2014.