A Reactive Interpretation of Session-Based Concurrency (In Progress Paper)
In communication-centric software systems, distributed services concurrently interact by following precise protocols. One approach to certify protocol correctness uses behavioral types to abstract protocols and statically check inter- acting programs. Behavioral types have been widely studied for programming calculi such as the π-calculus, which lack constructs for specifying reactive behavior, an increasingly relevant feature in many real-life interaction scenarios.
In this paper, we explore the use of the synchronous reactive programming paradigm as a uniform foundation for communication-centric programs. We focus on session types, a widely studied class of behavioral types, and on session-based concurrency, its associated computation model. We present an interpretation (formal translation) of session-based concurrency into ReactiveML, a synchronous reactive language. Our approach uniformly integrates communication, and timed and reactive behavior in concurrent programs which are more natural and concise than π-calculus specifications. To our knowledge, this is the first implementation of sessions in a synchronous reactive programming language.
Tue 1 Nov
|10:30 - 10:55|
|10:55 - 11:20|
|11:20 - 11:45|
|11:45 - 12:10|
I Now Pronounce You Reactive and Consistent: Handling Distributed and Replicated State in Reactive ProgrammingLink to publication DOI