We present [Formula presented]: 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. [Formula presented] follows an approach where 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 [Formula presented] 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. More concretely, [Formula presented] supports the quick creation of interactive websites that help the end-users better understand a new language, structure, or analysis. End-users can be research colleagues trying to understand a companion paper or students learning about a new simple language or operational semantics. We include a list of open-source projects with a web frontend supported by [Formula presented] that are used both in research and teaching contexts.

, , , ,
doi.org/10.1016/j.scico.2024.103222
Science of Computer Programming

Proença, J., & Edixhoven, L. (2024). The CAOS framework for Scala: Computer-aided design of SOS. Science of Computer Programming, 240, 103222:1–103222:5. doi:10.1016/j.scico.2024.103222