219 research outputs found
The Way We Were: Structural Operational Semantics Research in Perspective
This position paper on the (meta-)theory of Structural Operational Semantic
(SOS) is motivated by the following two questions: (1) Is the (meta-)theory of
SOS dying out as a research field? (2) If so, is it possible to rejuvenate this
field with a redefined purpose?
In this article, we will consider possible answers to those questions by
first analysing the history of the EXPRESS/SOS workshops and the data
concerning the authors and the presentations featured in the editions of those
workshops as well as their subject matters.
The results of our quantitative and qualitative analyses all indicate a
diminishing interest in the theory of SOS as a field of research. Even though
`all good things must come to an end', we strive to finish this position paper
on an upbeat note by addressing our second motivating question with some
optimism. To this end, we use our personal reflections and an analysis of
recent trends in two of the flagship conferences in the field of Programming
Languages (namely POPL and PDLI) to draw some conclusions on possible future
directions that may rejuvenate research on the (meta-)theory of SOS. We hope
that our musings will entice members of the research community to breathe new
life into a field of research that has been kind to three of the authors of
this article.Comment: In Proceedings EXPRESS/SOS2023, arXiv:2309.0578
Processes, Systems \& Tests: Defining Contextual Equivalences
In this position paper, we would like to offer and defend a new 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 as
diverse 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 itself in three conceptually separated
entities, that we call \emph{Processes}, \emph{Systems} and \emph{Tests}.While
the role of what can be observed and the subtleties in the definitions of
congruences have been intensively studied, the fact that \emph{not every
process can be tested}, and that \emph{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 takes
place -- that play multiple distinct roles but supposedly always \enquote{stay
the same}.We illustrate our statement with a simple Java example, the
\enquote{usual} concurrent languages, but also back it up with
-calculus and existing implementations of concurrent languages as
well
Revisiting sequential composition in process calculi
International audienceThe article reviews the various ways sequential composition is defined in traditional process calculi, and shows that such definitions are not optimal, thus limiting the dissemination of concurrency theory ideas among computer scientists. An alternative approach is proposed, based on a symmetric binary operator and write-many variables. This approach, which generalizes traditional process calculi, has been used to define the new LNT language implemented in the CADP toolbox. Feedback gained from university lectures and real-life case studies shows a high acceptance by computer-science students and industry engineers
- …