Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
4-2016
Abstract
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.
Discipline
Programming Languages and Compilers | Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Proceedings of the 19th International Conference on Fundamental Approaches to Software Engineering (FASE 2016), Eindhoven, Netherlands, April 2-8
Volume
9633
First Page
31
Last Page
48
ISBN
9783662496640
Identifier
10.1007/978-3-662-49665-7_3
Publisher
Springer
City or Country
Eindhoven, Netherlands
Citation
CORRODI, Claudio; HEUßNER, Alexander; and POSKITT, Christopher M..
A graph-based semantics workbench for concurrent Asynchronous programs. (2016). Proceedings of the 19th International Conference on Fundamental Approaches to Software Engineering (FASE 2016), Eindhoven, Netherlands, April 2-8. 9633, 31-48.
Available at: https://ink.library.smu.edu.sg/sis_research/4907
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1007/978-3-662-49665-7_3