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.

Concurrent Typestate-Oriented Programming in Java

GERBO, ROSITA;Luca Padovani
2019-01-01

Abstract

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.
2019
Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software
Praga, Repubblica Ceca
7 aprile 2019
291
24
34
http://eptcs.web.cse.unsw.edu.au/paper.cgi?PLACES2019.3.pdf
Rosita Gerbo; Luca Padovani
File in questo prodotto:
File Dimensione Formato  
paper.cgi.pdf

Accesso aperto

Descrizione: articolo principale
Tipo di file: PDF EDITORIALE
Dimensione 222.9 kB
Formato Adobe PDF
222.9 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/1696170
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? 2
social impact