Bulletin of EATCS

Concurrent Structures in Game Semantics

Simon Castellan, The Concurrency Column by Nobuko Yoshida

Abstract

Game semantics is a powerful tool to design intensional denotationalsemantics of complex programming languages, leading to notions of syntaxfreenormal forms and fully abstract models. In game semantics, programsbecome strategies, ie. set of plays, on a game given by their type.Traditionally, game semantics represents plays as sequences of moves.This representation forces to reduce concurrency to interleavings. In thispaper, we develop a framework of game semantics based on event structures– a partial order representation of concurrency, extending the work ofRideau and Winskel [19]. This causal representation allows to retain moreintensional behaviour on concurrent programs. We demonstrate the benefitsof this approach by developing a notion of concurrent and nondeterministicinnocence, which an open problem despite the existence of many game semanticsmodels of concurrent languages. We show that, our innocence alongwith an extension of well-bracketing, can capture the essence of parallel andnondeterministic computation.