Kripke structure (model checking)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by R'n'B (talk | contribs) at 19:50, 12 March 2010 (Fix links to disambiguation page Finite). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A Kripke structure is a type of nondeterministic finite state machine proposed by Saul Kripke in 1963, used in model checking to represent the behaviour of a system. It is basically a graph whose nodes represent the reachable states of the system and whose edges represent state transitions. A labeling function maps each node to a set of properties that hold in the corresponding state. Temporal logics are traditionally interpreted in terms of Kripke structures.

Formal definition

Let be a set of atomic propositions, i.e. boolean expressions over variables, constants and predicate symbols.

A Kripke structure[1] is a 4-tuple consisting of

  • a finite set of states
  • a set of initial states
  • a transition relation where such that
  • a labeling (or interpretation) function

Since R is left-total, it is always possible to construct an infinite path through the Kripke structure. Thus a deadlock state has a single outgoing edge back to itself.

The labeling function L defines for each state sS the set L(s) of all atomic propositions that are valid in s. In the Kripke structure, the transition function should be complete,i.e each and every state should have transition.In other words there should not be any dead states in the graph.

See also

References

  1. ^ Clarke, Grumberg and Peled: "Model Checking", page 14. The MIT Press, 1999.