Treffer: Concurrent Typestate-Oriented Programming in Java
Title:
Concurrent Typestate-Oriented Programming in Java
Authors:
Source:
EPTCS 291, 2019, pp. 24-34
Publication Year:
2019
Collection:
Computer Science
Subject Terms:
Document Type:
Report
Working Paper
DOI:
10.4204/EPTCS.291.3
Access URL:
Accession Number:
edsarx.1904.01286
Database:
arXiv
Weitere Informationen
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.
Comment: In Proceedings PLACES 2019, arXiv:1904.00396