Substructural Observed Communication Semantics

@inproceedings{Kavanagh2020SubstructuralOC,
  title={Substructural Observed Communication Semantics},
  author={Ryan Kavanagh},
  booktitle={EXPRESS/SOS},
  year={2020}
}
  • Ryan Kavanagh
  • Published in EXPRESS/SOS 27 August 2020
  • Computer Science
Session-types specify communication protocols for communicating processes, and session-typed languages are often specified using substructural operational semantics given by multiset rewriting systems. We give an observed communication semantics for a session-typed language with recursion, where a process's observation is given by its external communications. To do so, we introduce fair executions for multiset rewriting systems, and extract observed communications from fair process executions… 

Back to futures

The resulting language is highly expressive, allowing us to encode futures, fork/join parallelism, and monadic concurrency in the same framework, and give a formal account of linear futures, which have been used in complexity analysis by Blelloch and Reid-Miller.

Adjoint Logic with Applications

References

SHOWING 1-10 OF 28 REFERENCES

A Domain Semantics for Higher-Order Recursive Processes

This work gives polarized SILL a domain-theoretic semantics---the first denotational semantics for a language with this combination of features, and illustrates the semantics by validating expected program equivalences.

Manifest sharing with session types

This paper introduces sharing into a session-typed language where types are stratified into linear and shared layers with modal operators connecting the layers and retains session fidelity but not the absence of deadlocks.

Session-Typed Concurrent Contracts

This work proposes an analogous notion of concurrent contracts for languages with session-typed message-passing concurrency, which are partial identity processes that monitor the bidirectional communication along channels and raise an alarm if a contract is violated.

Observed Communication Semantics for Classical Processes

This work proposes a new operational semantics for CP based on the idea of observing communication and uses the standard relational denotational semantics of CLL to define an intuitively reasonable notion of observational equivalence.

A Message-Passing Interpretation of Adjoint Logic

This work presents a system of session types based on adjoint logic which generalize standard binary session types, and provides session fidelity and deadlock-freedom results for this system, from which it is derived a logically justified form of garbage collection.

Higher-Order Processes, Functions, and Sessions: A Monadic Integration

This paper uniformly integrating a Curry-Howard interpretation of linear sequent calculus as session-typed processes in a functional language via a linear contextual monad that isolates session-based concurrency through a logical foundation for higher-order session typed processes.

Polarized Substructural Session Types

The deep connection between session-typed concurrency and linear logic is embodied in the language SILL that integrates functional and message-passing concurrent programming. The exacting nature of

A Logical Foundation for Session-based Concurrent Computation

A general purpose concurrent programming language based on the logical basis of intuitionistic linear logic, combining functional programming with a concurrent, session-based process layer through the form of a contextual monad, preserving strong typing guarantees of type preservation and deadlock-freedom in the presence of general recursion and higher-order process communication.

Session Types as Intuitionistic Linear Propositions

This paper introduces a type system for the π-calculus that exactly corresponds to the standard sequent calculus proof system for dual intuitionistic linear logic, and provides the first purely logical account of all features of session types.