Fairness and Observed Communication Semantics for Session-Typed Languages

04/02/2021
by   Ryan Kavanagh, et al.
0

Observed communication semantics provide an intuitive notion of equivalence for communicating programs. We give the first observed communication semantics for a session-typed programming language with general recursion. This language, Polarized SILL, also supports channel and code transmission, synchronous and asynchronous communication, and functional programming. We present a framework inspired by testing preorders for defining simulations based on observed communications. We show that the "external" simulations coincide with barbed precongruence. Polarized SILL is defined using a multiset-rewriting-style substructural operational semantics. To ensure that our observed communication semantics is well-defined, we introduce fairness for multiset rewriting systems. We construct a fair scheduler and we give sufficient conditions for traces to be fair.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset