[go: nahoru, domu]

Jump to content

Model checking

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 212.198.0.93 (talk) at 17:43, 18 September 2003 (basic definition). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Model checking is a software technology consisting in algorithmically checking whether a model (often deriving from a hardware or software design) satisfies a logical specification.

The model is usually expressed as a directed graph consisting of {nodes} (or vertices) and edges. A set of atomic propositions is associated with each node. The nodes represents states of a program, the edges represent possible executions which alters the state, while the atomic propositions represent the basic properties that hold at a point of execution.

A specification language, usually some kind of temporal logic, is used to express properties.

The problem can be expressed mathematically as: given a temporal logic formula p and a model M with initial state s, decide if :.

References

  • Model Checking, Edmund M. Clarke, Jr., Orna Grumberg and Doron A. Peled, MIT Press, 1999

This article (or an earlier version of it) contains material from FOLDOC, used with permission. Modify if needed.