TY - JOUR
T1 - Processes against tests
T2 - On defining contextual equivalences
AU - Aubert, Clément
AU - Varacca, Daniele
N1 - Funding Information:
The tone and scope of this essay may suggest that it is a retrospective analysis that cannot impact the future. But the exciting feedback we received from our reviewers, the discussions during the Combined 27th International Workshop on Expressiveness in Concurrency and 17th Workshop on Structural Operational Semantics—where our first draft [91] was presented—the 14th Interaction and Concurrency Experience (particularly with Ilaria Castellani, Alceste Scalas and Emilio Tuosto), and with colleagues (among which David Baelde and Ross Horne) anchored it into concrete and timely questions. The authors wish to thank the organizers of EXPRESS/SOS 2020 and ICE 2021 for organizing those welcoming, open venues (especially considering they had to switch to virtual events), the aforementioned colleagues, and express their deep gratitude to the reviewers who kindly shared their exciting comments, suggestions and insights with us, pushing us to considerably improve this paper.
Publisher Copyright:
© 2022 Elsevier Inc.
PY - 2022/11
Y1 - 2022/11
N2 - In this 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 π-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 process terms, (completed) processes and tests, and by stressing the importance of formalizing the completion of process terms and the instrumentation that results from placing a (completed) process into a test. 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 term 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–in this respect, the theory of monitor is a counter-example that we discuss and compare to our approach. We argue that this blind spot comes from the under-specification of contexts—environments in which comparisons occur—that play multiple distinct roles but are generally—at least, on the surface of it—given only one definition that fails to capture all of their aspects.
AB - In this 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 π-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 process terms, (completed) processes and tests, and by stressing the importance of formalizing the completion of process terms and the instrumentation that results from placing a (completed) process into a test. 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 term 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–in this respect, the theory of monitor is a counter-example that we discuss and compare to our approach. We argue that this blind spot comes from the under-specification of contexts—environments in which comparisons occur—that play multiple distinct roles but are generally—at least, on the surface of it—given only one definition that fails to capture all of their aspects.
KW - Concurrency
KW - Process algebra
KW - Process semantics
KW - Testing equivalences
UR - http://www.scopus.com/inward/record.url?scp=85134301700&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85134301700&partnerID=8YFLogxK
U2 - 10.1016/j.jlamp.2022.100799
DO - 10.1016/j.jlamp.2022.100799
M3 - Article
AN - SCOPUS:85134301700
SN - 2352-2208
VL - 129
JO - Journal of Logical and Algebraic Methods in Programming
JF - Journal of Logical and Algebraic Methods in Programming
M1 - 100799
ER -