Session-Based Concurrency, Reactively
This paper concerns formal models for the analysis of communication-centric software systems that feature declarative and reactive behaviors. We focus on session-based concurrency, the interaction model induced by session types, which uses (variants of) the \(\pi \)-calculus as specification languages. While well-established, such process models are not expressive enough to specify declarative and reactive behaviors common in emerging communication-centric software systems. Here we propose the synchronous reactive programming paradigm as a uniform foundation for session-based concurrency. We present correct encodings of session-based calculi into ReactiveML, a synchronous reactive programming language. Our encodings bridge the gap between process specifications and concurrent programs in which session-based concurrency seamlessly coexists with declarative, reactive, timed, and contextual behaviors.
We thank Ilaria Castellani, Cinzia Di Giusto, and the anonymous reviewers for useful remarks and suggestions. This work has been partially sponsored by CNRS PICS project 07313 (SuCCeSS) and EU COST Actions IC1201 (BETTY), IC1402 (ARVI), and IC1405 (Reversible Computation).
- 7.Cano, M., Arias, J., Pérez, J.A.: Session-based Concurrency, Reactively (Extended Version) (2017). http://www.jperez.nl/publications
- 8.Dardha, O., Giachino, E., Sangiorgi, D.: Session types revisited. In: Proceedings of the PPDP 2012, pp. 139–150 (2012)Google Scholar
- 15.Mandel, L., Pasteur, C., Pouzet, M.: ReactiveML, ten years later. In: Falaschi, M., Albert, E. (eds.) Proceedings of the PPDP 2015, pp. 6–17. ACM (2015)Google Scholar
- 16.Mandel, L., Pouzet, M.: ReactiveML: a reactive extension to ML. In: Proceedings of the PPDP 2005, pp. 82–93. ACM (2005)Google Scholar