zbMATH — the first resource for mathematics

Symbolic model checking for real-time systems. (English) Zbl 0806.68080
Summary: We describe finite-state programs over real-numbered time in a guarded- command language with real-valued clocks or, equivalently, as finite automata with real-valued clocks. Model checking answers the question which states of a real-time program satisfy a branching-time specification (given in an extension of CTL with clock variables). We develop an algorithm that computes this set of states symbolically as a fixpoint of a functional on state predicates, without constructing the state space. For this purpose, we introduce a \(\mu\)-calculus on computation trees over real-numbered time. Unfortunately, many standard program properties, such as response for all nonzero execution sequences (during which time diverges), cannot be characterized by fixpoints: we show that the expressiveness of the timed \(\mu\)-calculus is incomparable to the expressiveness of timed CTL. Fortunately, this result does not impair the symbolic verification of “implementable” real-time programs – those whose safety constraints are machine-closed with respect to diverging time and whose fairness constraints are restricted to finite upper bounds on clock values. All timed CTL properties of such programs are shown to be computable as finitely approximable fixpoints in a simple decidable theory.

68Q60 Specification and verification (program logics, model checking, etc.)
03B70 Logic in computer science
68Q85 Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.)
Full Text: DOI