The correctness of concurrencies in (reversible) concurrent calculi

Research output: Contribution to journalArticlepeer-review

Abstract

This article designs a general principle to check the correctness of the definition of concurrency (a.k.a. independence) of events for concurrent calculi. Concurrency relations are central in process algebras, but also two-sided: they are often defined independently on composable and on coinitial transitions, and no criteria exist to assess whether they “interact correctly”. This article starts by examining how reversibility can provide such a correctness of concurrencies criterion, and its implications. It then defines, for the first time, a syntactical definition of concurrency for CCSK, a reversible declension of the calculus of communicating systems. To do so, according to our criterion, requires to define concurrency relations for all types of transitions along two axes: direction (forward or backward) and concomitance (coinitial or composable). Our definition is uniform thanks to proved transition systems and satisfies our sanity checks: square properties, sideways diamonds, but also the reversible checks (reverse diamonds and causal consistency). We also prove that our formalism is either equivalent to or a refinement of pre-existing definitions of concurrency for reversible systems. We conclude by discussing additional criteria and possible future works.

Original languageEnglish (US)
Article number100924
JournalJournal of Logical and Algebraic Methods in Programming
Volume136
DOIs
StatePublished - Jan 2024

Keywords

  • Concurrency
  • Formal semantics
  • Process algebra
  • Reversibility

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Software
  • Logic
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'The correctness of concurrencies in (reversible) concurrent calculi'. Together they form a unique fingerprint.

Cite this