A graph-based semantics workbench for concurrent Asynchronous programs

A number of novel programming languages and libraries have been proposed that offer simpler-to-use models of concurrency than threads. It is challenging, however, to devise execution models that successfully realise their abstractions without forfeiting performance or introducing unintended behaviou...

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 2016
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/4907
https://ink.library.smu.edu.sg/context/sis_research/article/5910/viewcontent/Corrodi_HP.FASE.2016.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-5910
record_format dspace
spelling sg-smu-ink.sis_research-59102020-02-13T07:44:58Z A graph-based semantics workbench for concurrent Asynchronous programs CORRODI, Claudio HEUßNER, Alexander POSKITT, Christopher M. A number of novel programming languages and libraries have been proposed that offer simpler-to-use models of concurrency than threads. It is challenging, however, to devise execution models that successfully realise their abstractions without forfeiting performance or introducing unintended behaviours. This is exemplified by Scoop—a concurrent object-oriented message-passing language—which has seen multiple semantics proposed and implemented over its evolution. We propose a “semantics workbench” with fully and semi-automatic tools for Scoop, that can be used to analyse and compare programs with respect to different execution models. We demonstrate its use in checking the consistency of semantics by applying it to a set of representative programs, and highlighting a deadlock-related discrepancy between the principal execution models of the language. 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, and how the visual yet algebraic nature of the model can be used to ascertain soundness. 2016-04-08T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4907 info:doi/10.1007/978-3-662-49665-7_3 https://ink.library.smu.edu.sg/context/sis_research/article/5910/viewcontent/Corrodi_HP.FASE.2016.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 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 Programming Languages and Compilers
Software Engineering
spellingShingle Programming Languages and Compilers
Software Engineering
CORRODI, Claudio
HEUßNER, Alexander
POSKITT, Christopher M.
A graph-based semantics workbench for concurrent Asynchronous programs
description A number of novel programming languages and libraries have been proposed that offer simpler-to-use models of concurrency than threads. It is challenging, however, to devise execution models that successfully realise their abstractions without forfeiting performance or introducing unintended behaviours. This is exemplified by Scoop—a concurrent object-oriented message-passing language—which has seen multiple semantics proposed and implemented over its evolution. We propose a “semantics workbench” with fully and semi-automatic tools for Scoop, that can be used to analyse and compare programs with respect to different execution models. We demonstrate its use in checking the consistency of semantics by applying it to a set of representative programs, and highlighting a deadlock-related discrepancy between the principal execution models of the language. 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, and how the visual yet algebraic nature of the model can be used to ascertain soundness.
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 graph-based semantics workbench for concurrent Asynchronous programs
title_short A graph-based semantics workbench for concurrent Asynchronous programs
title_full A graph-based semantics workbench for concurrent Asynchronous programs
title_fullStr A graph-based semantics workbench for concurrent Asynchronous programs
title_full_unstemmed A graph-based semantics workbench for concurrent Asynchronous programs
title_sort graph-based semantics workbench for concurrent asynchronous programs
publisher Institutional Knowledge at Singapore Management University
publishDate 2016
url https://ink.library.smu.edu.sg/sis_research/4907
https://ink.library.smu.edu.sg/context/sis_research/article/5910/viewcontent/Corrodi_HP.FASE.2016.pdf
_version_ 1770575092154105856