Processes, Systems & Tests: Defining Contextual Equivalences

Clément Aubert
(School of Computer and Cyber Sciences, Augusta University, Georgia, USA)
Daniele Varacca
(LACL, Université Paris-Est Créteil, France)

In this position paper, we would like to offer and defend a template to study equivalences between programs—in the particular framework of process algebras for concurrent computation. We believe that our layered model of development will clarify the distinction that is too often left implicit between the tasks and duties of the programmer and of the tester. It will also enlighten pre-existing issues that have been running across process algebras such as the calculus of communicating systems, the pi-calculus—also in its distributed version—or mobile ambients. Our distinction starts by subdividing the notion of process in three conceptually separated entities, that we call Processes, Systems and Tests. While the role of what can be observed and the subtleties in the definitions of congruences have been intensively studied, the fact that not every process can be tested, and that the tester should have access to a different set of tools than the programmer is curiously left out, or at least not often formally discussed. We argue that this blind spot comes from the under-specification of contexts—environments in which comparisons occur—that play multiple distinct roles but supposedly always stay the same.

In Julien Lange, Anastasia Mavridou, Larisa Safina and Alceste Scalas: Proceedings 14th Interaction and Concurrency Experience (ICE 2021), Online, 18th June 2021, Electronic Proceedings in Theoretical Computer Science 347, pp. 1–21.
Published: 2nd October 2021.

ArXived at: https://dx.doi.org/10.4204/EPTCS.347.1 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org