English

Caos: A Reusable Scala Web Animator of Operational Semantics (Extended With Hands-On Tutorial)

Programming Languages 2023-05-01 v1

Abstract

This tool paper presents Caos: a methodology and a programming framework for computer-aided design of structural operational semantics for formal models. This framework includes a set of Scala libraries and a workflow to produce visual and interactive diagrams that animate and provide insights over the structure and the semantics of a given abstract model with operational rules. Caos follows an approach in which theoretical foundations and a practical tool are built together, as an alternative to foundations-first design ("tool justifies theory") or tool-first design ("foundations justify practice"). The advantage of Caos is that the tool-under-development can immediately be used to automatically run numerous and sizeable examples in order to identify subtle mistakes, unexpected outcomes, and unforeseen limitations in the foundations-under-development, as early as possible. We share two success stories of Caos' methodology and framework in our own teaching and research context, where we analyse a simple while-language and a choreographic language, including their operational rules and the concurrent composition of such rules. We further discuss how others can include Caos in their own analysis and Scala tools.

Keywords

Cite

@article{arxiv.2304.14901,
  title  = {Caos: A Reusable Scala Web Animator of Operational Semantics (Extended With Hands-On Tutorial)},
  author = {José Proença and Luc Edixhoven},
  journal= {arXiv preprint arXiv:2304.14901},
  year   = {2023}
}

Comments

Extended version of a tool paper accepted at COORDINATION 2023

R2 v1 2026-06-28T10:20:50.833Z