Program Equivalence in the Erlang Actor Model

This paper presents the formal semantics of concurrency in Core Erlang, an intermediate language for Erlang, along with a notion of program equivalence (based on barbed bisimulation) that is able to model equivalence between programs that have different communication structures but the same observab...

Full description

Saved in:
Bibliographic Details
Main Authors: Péter Bereczky, Dániel Horpácsi, Simon Thompson
Format: Article
Language:English
Published: MDPI AG 2024-10-01
Series:Computers
Subjects:
Online Access:https://www.mdpi.com/2073-431X/13/11/276
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:This paper presents the formal semantics of concurrency in Core Erlang, an intermediate language for Erlang, along with a notion of program equivalence (based on barbed bisimulation) that is able to model equivalence between programs that have different communication structures but the same observable behaviour. The novelty in our formalisation is its extent: it includes semantics for messages and exit and link signals, in addition to most of Core Erlang’s sequential features. Furthermore, unlike previous studies, this work formalises message receipt using primitive operations, consistent with the standard as of Erlang/OTP 23. In this novel formalisation, we show some generally applicable program equivalences (such as process identifier renaming and silent evaluation) and present a practical case study featuring the equivalence of sequential and concurrent list processing.
ISSN:2073-431X