Stutter bisimulation

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In theoretical computer science, a stutter bisimulation is a relationship between two transition systems, abstract machines that model computation. It is defined coinductively and generalizes the idea of bisimulations. A bisimulation matches up the states of a machine such that transitions correspond; a stutter bisimulation allows transitions to be matched to finite path fragments.[1]

Definition

[edit | edit source]

In Principles of Model Checking, Baier and Katoen define a stutter bisimulation for a single transition system and later adapt it to a relation on two transition systems. A stutter bisimulation for TS=(S,Act,,I,AP,L) is a binary relation R on S such that for all (s1,s2) in R:

  1. s1,s2 have the same labels
  2. If s1s1 is a valid transition and (s1,s2)∉R then there exists a finite path fragment s2u1uns2 (n0) such that each pair (s1,ui) is in R and (s1,s2) is in R
  3. If s2s2 is a valid transition and (s1,s2)∉R is not then there exists a finite path fragment s1v1vns1 (n0) such that each pair (vi,s2) is in R and (s1,s2) is in R

Generalizations

[edit | edit source]

A generalization, the divergent stutter bisimulation, can be used to simplify the state space of a system with the tradeoff that statements using the linear temporal logic operator "next" may change truth value.[2] A robust stutter bisimulation allows uncertainty over transitions in the system.[3]

References

[edit | edit source]
  1. ^ Principles of Model Checking (pages 536–580), by Christel Baier and Joost-Pieter Katoen, The MIT Press, Cambridge, Massachusetts.
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).