Concurrent Typestate-Oriented Programming in Java

Rosita Gerbo
(Università di Torino)
Luca Padovani
(Università di Torino)

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.

In Francisco Martins and Dominic Orchard: Proceedings Programming Language Approaches to Concurrency- and Communication-cEntric Software (PLACES 2019), Prague, Czech Republic, 7th April 2019, Electronic Proceedings in Theoretical Computer Science 291, pp. 24–34.
Published: 2nd April 2019.

ArXived at: http://dx.doi.org/10.4204/EPTCS.291.3 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org