A library for safe Concurrent, Distributed programming

A library for safe Concurrent, Distributed programming

Bachelor Thesis, Master Thesis

The STG group at TU Darmstadt has formalised the calculus of structured interactions (CoSI) and the type theory of Essential Multiparty Session Types (EMST) to describe and statically validate safe and deadlock free interactions in concurrent, distributed systems. Multiparty session types is a well-established type theory that is highly attracting the attention of the programming language and software engineering communities.

The CoSI and EMST aim to establish the foundations of session types and their transition to practice.

In this project, the bachelor or master student will participate in the design and prototyping of CoSI and global types constructs, devising a library for a mainstream class-based language. The library must support constructs for structuring interactions: session initiation, external and internal choice, matching, and session channels, and the runtime environment that will deal with various characteristics of initiation.The student will use Scribble as a description language for our global types. Scribble is designed based on the ideas and typing strategy underlying the original MST. The amount of work will be properly partitioned in relation to the degree (bachelor or master).

The ideal student has taken a course or has prior industry or research experience in programming languages and/or compilers.