Caos: A Reusable Scala Web Animator of Operational Semantics (Extended With Hands-On Tutorial)
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.
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