Abstract
The category of presheaves on a (small) category is a suitable semantic universe to study behaviour of various dynamical systems. In particular, presheaves can be used to record the executions of a system and their morphisms correspond to simulation maps for various kinds of state-based systems. In this paper, we introduce a notion of bisimulation maps between presheaves (or executions) to capture well known behavioural equivalences in an abstract way. We demonstrate the versatility of this framework by working out the characterisations for standard bisimulation, ∀-fair bisimulation, and branching bisimulation.
Highlights
The importance of formal semantics should not be underestimated, especially when aimning to design reliable dynamical systems in heterogeneous environments
We seek a framework that provides semantic structure describing the behaviour of a dynamical system and its refinement independently of syntax
The point is not that executions are inexpressible in a coalgebra, but rather that we need a semantic framework where they are treated as first-class citizens just as states are in a coalgebraic framework
Summary
The importance of formal semantics should not be underestimated, especially when aimning to design reliable dynamical systems in heterogeneous environments. The prospect of having to specify notions of time and observation (which was absent in the earlier works on presheaf semantics) leads to a clearer modelling, so explicitly highlighting these two dimensions of system modelling is at the core of our contribution (cf Section 2) This distinction was in turn essential to capture branching bisimulation in the presence of invisible actions τ. These restrictions, originally from [17], asserted that fairness predicates on infinite executions are closed under the removal and the addition of finite prefixes Another practical aspect of the theory of presheaves is that it guides us in finding the right semantic categories once a notion of time and observation is fixed. We first outline an obvious (but failed) attempt to capture branching bisimulation, before giving the correct (yet intuitive) construction that characterises branching bisimulation
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have