Carnegie Mellon University
Browse

Session-Typed Concurrent Contracts

Download (883.39 kB)
thesis
posted on 2021-10-20, 15:13 authored by Hannah GommerstadtHannah Gommerstadt
<div>Multi-process systems control the behavior of everything from datacenters storing our information to banking systems managing money. Each one of these processes has a prescribed role, their contract, that governs their behavior during the joint computation. When a single process violates their communication contract, the impact of this misbehavior can rapidly propagate through the system. This thesis</div><div>develops techniques for dynamically monitoring expressive classes of concurrent contracts. We provide multiple mechanisms to monitor contracts of increasing complexity.</div><div>In order to model message-passing concurrent computation, we use a session type system. First, we present a method for dynamic monitoring and blame assignment where communication contracts are expressed using session types. Second, we describe contract-checking processes that handle stateful contracts that cannot be expressed with a session type. These contract-checking processes are also able to encode type refinements. Third, we encode dependent types in our system which allow us to monitor complex invariants. Finally, we survey a number of other monitoring extensions including a mechanism to monitor deadlock.</div>

History

Date

2019-09-26

Degree Type

  • Dissertation

Thesis Department

  • Computer Science

Degree Name

  • Doctor of Philosophy (PhD)

Advisor(s)

Frank Pfenning Limin Jia

Usage metrics

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC