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

José Proença, Luc Edixhoven

Research output: Working paper / PreprintPreprintAcademic

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.
Original languageEnglish
PublisherCornell University - arXiv
Number of pages13
DOIs
Publication statusPublished - 28 Apr 2023

Publication series

SeriesCoRR

Fingerprint

Dive into the research topics of 'Caos: A Reusable Scala Web Animator of Operational Semantics (Extended With Hands-On Tutorial)'. Together they form a unique fingerprint.

Cite this