Stateful Behavioral Types for ABS

02/23/2018
by   Eduard Kamburjan, et al.
0

It is notoriously hard to correctly implement a multiparty protocol which involves asynchronous/concurrent interactions and the constraints on states of multiple participants. To assist developers in implementing such protocols, we propose a novel specification language to specify interactions within multiple object-oriented actors and the side-effects on heap memory of those actors; a behavioral-type-based analysis is presented for type checking. Our specification language formalizes a protocol as a global type, which describes the procedure of asynchronous method calls, the usage of futures, and the heap side-effects with a first-order logic. To characterize runs of instances of types, we give a model-theoretic semantics for types and translate them into logical constraints over traces. We prove protocol adherence: If a program is well-typed w.r.t. a protocol, then every trace of the program adheres to the protocol, i.e., every trace is a model for the formula of its type.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/30/2019

Behavioral Program Logic and LAGC Semantics without Continuations (Technical Report)

We present Behavioral Program Logic (BPL), a dynamic logic for trace pro...
research
02/28/2020

Behavioural Types for Memory and Method Safety in a Core Object-Oriented Language

We present a type-based analysis ensuring memory safety and object proto...
research
11/23/2021

Deconfined Global Types for Asynchronous Sessions

Multiparty sessions with asynchronous communications and global types pl...
research
04/02/2019

Concurrent Typestate-Oriented Programming in Java

We describe a generative approach that enables concurrent typestate-orie...
research
06/12/2019

Lifestate: Event-Driven Protocols and Callback Control Flow

Developing interactive applications (apps) against event-driven software...
research
06/12/2019

Lifestate: Event-Driven Protocols and Callback Control Flow (Extended Version)

Developing interactive applications (apps) against event-driven software...
research
04/22/2020

Efficient Trace Encodings of Bounded Synthesis for Asynchronous Distributed Systems

The manual implementation of distributed systems is an error-prone task ...

Please sign up or login with your details

Forgot password? Click here to reset