Client-Server Sessions in Linear Logic

10/26/2020
by   Zesen Qian, et al.
0

We introduce coexponentials, a new set of modalities for Classical Linear Logic. As duals to exponentials, the coexponentials codify a distributed form of the structural rules of weakening and contraction. This makes them a suitable logical device for encapsulating the pattern of a server receiving requests from an arbitrary number of clients on a single channel. Guided by this intuition we formulate a system of session types based on Classical Linear Logic with coexponentials, which is suited to modelling client-server interactions. We also present a session-typed functional programming language for server-client programming, which we translate to our system of coexponentials.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/11/2022

On the Fair Termination of Client-Server Sessions

Client-server sessions are based on a variation of the traditional inter...
research
08/15/2018

Multiparty Classical Choreographies

We present Multiparty Classical Choreographies (MCC), a language model w...
research
04/20/2022

Lowering Barriers to Application Development With Cloud-Native Domain-Specific Functions

Creating and maintaining a modern, heterogeneous set of client applicati...
research
03/21/2020

An Online Framework to Interact and Efficiently Compute Linear Layouts of Graphs

We present a prototype online system to automate the procedure of comput...
research
11/27/2020

IntegriScreen: Visually Supervising Remote User Interactions on Compromised Clients

Remote services and applications that users access via their local clien...
research
09/20/2022

Carbon: An Asynchronous Voting-Based Payment System for a Client-Server Architecture

We present Carbon, an asynchronous payment system. To the best of our kn...
research
10/29/2018

Implementing Linking in Multiparty Sessions (Extended Abstract)

The fast growth of service-oriented programming (SOP) is evident in this...

Please sign up or login with your details

Forgot password? Click here to reset