Concurrent Typestate-Oriented Programming in Java

04/02/2019
by   Rosita Gerbo, et al.
0

We describe a generative approach that enables concurrent typestate-oriented programming in Java and other mainstream languages. The approach allows programmers to implement objects exposing a state-sensitive interface using a high-level synchronization abstraction that synchronizes methods with the states of the receiver object in which those methods have an effect. An external tool takes care of generating all the boilerplate code that implements the synchronization logic. Behavioral types are used to specify object protocols. The tool integrates protocol conformance verification with the synchronization logic so that protocol violations are promptly detected at runtime.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/12/2022

On using VeriFast, VerCors, Plural, and KeY to check object usage

Typestates are a notion of behavioral types that describe protocols for ...
research
10/23/2018

Refining Santa: An Exercise in Efficient Synchronization

The Santa Claus Problem is an intricate exercise for concurrent programm...
research
11/06/2020

A Precedence-Driven Approach for Concurrent Model Synchronization Scenarios using Triple Graph Grammars

Concurrent model synchronization is the task of restoring consistency be...
research
03/28/2018

Deadlock-Free Typestate-Oriented Programming

Context. TypeState-Oriented Programming (TSOP) is a paradigm intended to...
research
02/23/2018

Stateful Behavioral Types for ABS

It is notoriously hard to correctly implement a multiparty protocol whic...
research
09/17/2020

Typestates to Automata and back: a tool

Development of software is an iterative process. Graphical tools to repr...
research
02/13/2018

A Concurrent Constraint Programming Interpretation of Access Permissions

A recent trend in object oriented (OO) programming languages is the use ...

Please sign up or login with your details

Forgot password? Click here to reset