A Graph-Based Semantics Workbench for Concurrent Asynchronous Programs

Corrodi, Claudio; Heußner, Alexander; Poskitt, Christopher M. (2016). A Graph-Based Semantics Workbench for Concurrent Asynchronous Programs. In: Stevens, Perdita; Wąsowski, Andrzey (eds.) Fundamental Approaches to Software Engineering. FASE 2016. Lecture Notes in Computer Science: Vol. 9633 (pp. 31-48). Berlin, Heidelberg: Springer Berlin Heidelberg 10.1007/978-3-662-49665-7_3

[img] Text
Seiten aus 10.1007_978-3-662-49665-7.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (1MB) | Request a copy

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.

Item Type:

Conference or Workshop Item (Paper)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Corrodi, Claudio

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

ISBN:

978-3-662-49665-7

Series:

Lecture Notes in Computer Science

Publisher:

Springer Berlin Heidelberg

Language:

English

Submitter:

Oscar Marius Nierstrasz-Margiotta

Date Deposited:

30 Jan 2017 11:28

Last Modified:

28 Mar 2018 09:34

Publisher DOI:

10.1007/978-3-662-49665-7_3

Uncontrolled Keywords:

scg-pub snf-asa2 scg16 jb16

BORIS DOI:

10.7892/boris.94639

URI:

https://boris.unibe.ch/id/eprint/94639

Actions (login required)

Edit item Edit item
Provide Feedback