# zbMATH — the first resource for mathematics

Operational semantics of a weak memory model with channel synchronization. (English) Zbl 1417.68093
Summary: There exists a multitude of weak memory models supporting various types of relaxations and synchronization primitives. On one hand, such models must be lax enough to account for hardware and compiler optimizations; on the other, the more lax the model, the harder it is to understand and program for. Though the right balance is up for debate, a memory model should provide what is known as the SC-DRF guarantee, meaning that data-race free programs behave in a sequentially consistent manner.
We present a weak memory model for a calculus inspired by the Go programming language. Thus, different from previous approaches, we focus on buffered channel communication as the sole synchronization primitive. Our formalization is operational, which allows us to prove the SC-DRF guarantee using a standard simulation technique. Contrasting against an axiomatic semantics, where the notion of a program is abstracted away as a graph with memory events as nodes, we believe our operational semantics and simulation proof can be clearer and easier to understand. Finally, we provide a concrete implementation in $$\mathbb{K}$$, a rewrite-based executable semantic framework, and derive an interpreter for the proposed language.
##### MSC:
 68Q55 Semantics in the theory of computing
CakeML; K Prover
Full Text: