A semantics comparison workbench for a concurrent, asynchronous, distributed programming language

A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over time---whether to improve performance, or to extend them to...

Full description

Saved in:
Bibliographic Details
Main Authors: CORRODI, Claudio, HEUßNER, Alexander, POSKITT, Christopher M.
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2017
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/4857
https://ink.library.smu.edu.sg/context/sis_research/article/5860/viewcontent/Corrodi_Heussner_Poskitt.FAOC.2017__1_.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-5860
record_format dspace
spelling sg-smu-ink.sis_research-58602020-01-23T07:08:40Z A semantics comparison workbench for a concurrent, asynchronous, distributed programming language CORRODI, Claudio HEUßNER, Alexander POSKITT, Christopher M. A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over time---whether to improve performance, or to extend them to new language features---potentially affecting behavioural and safety properties of existing programs. This is exemplified by SCOOP, a message-passing approach to concurrent object-oriented programming that has seen multiple changes proposed and implemented, with demonstrable consequences for an idiomatic usage of its core abstraction. We propose a semantics comparison workbench for SCOOP with fully and semi-automatic tools for analysing and comparing the state spaces of programs with respect to different execution models or semantics. We demonstrate its use in checking the consistency of properties across semantics by applying it to a set of representative programs, and highlighting a deadlock-related discrepancy between the principal execution models of SCOOP. Furthermore, we demonstrate the extensibility of the workbench by generalising the formalisation of an execution model to support recently proposed extensions for distributed programming. Our workbench is based on a modular and parameterisable graph transformation semantics implemented in the GROOVE tool. We discuss how graph transformations are leveraged to atomically model intricate language abstractions, how the visual yet algebraic nature of the model can be used to ascertain soundness, and highlight how the approach could be applied to similar languages. 2017-11-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4857 info:doi/10.1007/s00165-017-0443-1 https://ink.library.smu.edu.sg/context/sis_research/article/5860/viewcontent/Corrodi_Heussner_Poskitt.FAOC.2017__1_.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University concurrent asynchronous programming distributed programming with message passing operational semantics runtime semantics graph transformation systems verification/analysis parameterised by semantics concurrency abstractions object-oriented programming software engineering SCOOP GROOVE Programming Languages and Compilers Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic concurrent asynchronous programming
distributed programming with message passing
operational semantics
runtime semantics
graph transformation systems
verification/analysis parameterised by semantics
concurrency abstractions
object-oriented programming
software engineering
SCOOP
GROOVE
Programming Languages and Compilers
Software Engineering
spellingShingle concurrent asynchronous programming
distributed programming with message passing
operational semantics
runtime semantics
graph transformation systems
verification/analysis parameterised by semantics
concurrency abstractions
object-oriented programming
software engineering
SCOOP
GROOVE
Programming Languages and Compilers
Software Engineering
CORRODI, Claudio
HEUßNER, Alexander
POSKITT, Christopher M.
A semantics comparison workbench for a concurrent, asynchronous, distributed programming language
description A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over time---whether to improve performance, or to extend them to new language features---potentially affecting behavioural and safety properties of existing programs. This is exemplified by SCOOP, a message-passing approach to concurrent object-oriented programming that has seen multiple changes proposed and implemented, with demonstrable consequences for an idiomatic usage of its core abstraction. We propose a semantics comparison workbench for SCOOP with fully and semi-automatic tools for analysing and comparing the state spaces of programs with respect to different execution models or semantics. We demonstrate its use in checking the consistency of properties across semantics by applying it to a set of representative programs, and highlighting a deadlock-related discrepancy between the principal execution models of SCOOP. Furthermore, we demonstrate the extensibility of the workbench by generalising the formalisation of an execution model to support recently proposed extensions for distributed programming. Our workbench is based on a modular and parameterisable graph transformation semantics implemented in the GROOVE tool. We discuss how graph transformations are leveraged to atomically model intricate language abstractions, how the visual yet algebraic nature of the model can be used to ascertain soundness, and highlight how the approach could be applied to similar languages.
format text
author CORRODI, Claudio
HEUßNER, Alexander
POSKITT, Christopher M.
author_facet CORRODI, Claudio
HEUßNER, Alexander
POSKITT, Christopher M.
author_sort CORRODI, Claudio
title A semantics comparison workbench for a concurrent, asynchronous, distributed programming language
title_short A semantics comparison workbench for a concurrent, asynchronous, distributed programming language
title_full A semantics comparison workbench for a concurrent, asynchronous, distributed programming language
title_fullStr A semantics comparison workbench for a concurrent, asynchronous, distributed programming language
title_full_unstemmed A semantics comparison workbench for a concurrent, asynchronous, distributed programming language
title_sort semantics comparison workbench for a concurrent, asynchronous, distributed programming language
publisher Institutional Knowledge at Singapore Management University
publishDate 2017
url https://ink.library.smu.edu.sg/sis_research/4857
https://ink.library.smu.edu.sg/context/sis_research/article/5860/viewcontent/Corrodi_Heussner_Poskitt.FAOC.2017__1_.pdf
_version_ 1770575065506643968