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

Sign in with Google

×

Use your Google Account to sign in to DeepAI

×

Consider DeepAI Pro