Implementing Hybrid Semantics: From Functional to Imperative

Theoretical Aspects of Computing - ICTAC 2020 - 17th International Colloquium, Macau S.A.R., China, October 31 - November 30, 2020, Proceedings


Hybrid programs combine digital control with differential equations, and naturally appear in a wide range of application domains, from biology and control theory to real-time software engineering. The entanglement of discrete and continuous behaviour inherent to such programs goes beyond the established computer science foundations, producing challenges related to e.g. infinite iteration and combination of hybrid behaviour with other effects. A systematic treatment of hybridness as a dedicated computational effect has emerged recently. In particular, a generic idealized functional language HybCore with a sound and adequate operational semantics has been proposed. The latter semantics however did not provide hints to implementing HybCore as a runnable language, suitable for hybrid system simulation (e.g. the semantics features rules with uncountably many premises). We introduce an imperative counterpart of HybCore, whose semantics is simpler and runnable, and yet intimately related with the semantics of HybCore at the level of hybrid monads. We then establish a corresponding soundness and adequacy theorem. To attest that the resulting semantics can serve as a firm basis for the implementation of typical tools of programming oriented to the hybrid domain, we present a web-based prototype implementation to evaluate and inspect hybrid programs, in the spirit of GHCi for Haskell and UTop for OCaml. The major asset of our implementation is that it formally follows the operational semantic rules.

Renato Neves
Renato Neves
Postdoc Researcher

Renato Neves is a postdoctoral researcher at UCL and INESC TEC. One of his main goals is the development of reasoning tools, syntax, and semantics for hybrid systems, a highly complex class of devices that intertwines different aspects of analysis, control theory, and computer science. Hybrid systems are a main ingredient in the 21st century’s technology, but even so they are still remarkably difficult to design and analyse in a systematic and disciplined way. His collaborators and him have been tackling this challenge by applying and advancing different mathematical frameworks. In particular, monad-based programming, automata theory, coalgebra, modal and dynamic logic, and category theory.