Published April 2, 2019 | Version v1

Concurrent Typestate-Oriented Programming in Java

  • 1. Università di Torino

Description

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.

Files

1904.01286v1.pdf

Files (228.3 kB)

Name Size
md5:53d3d6128d42814abdc40b523043368a
228.3 kB Preview Download

Additional details

Funding

European Commission
BEHAPI - Behavioural Application Program Interfaces 778233