Computation Tree Logic

from Wikipedia, the free encyclopedia
CTL formulas visualized

The Computation Tree Logic (CTL for short) is a temporal logic whose model of time has a tree-like structure. The temporal change of states and their properties is modeled by paths within this tree structure. The future has several paths here, although it is not specified which one will ultimately be implemented. Accordingly, statements can be made about possible developments.

The CTL is used to verify hardware and software, usually by model checkers .

The linear temporal logic (LTL) also belongs to the family of temporal logics , whereby only one future is possible here. A generalization of the two logics is called CTL *.

syntax

Minimal grammar

Let be a set of atomic statements (assertions), then each element is a CTL formula. Are and formulas, then , , , and . This defines the minimal grammar of CTL. As a rule, however, this is expanded to include the common Boolean operators , and , and some other temporal operators.

Temporal operators

The extension of the minimal grammar by the following operators does not increase the power of the language , since all operators can be returned by transformations.

  • Path operators:
    • - Follows on all paths (English: All )
    • - follows on at least one path (English: Exists )
  • Path-specific operators:
    • - immediately follows (English: neXt state )
    • - sometime follows (English: some Future state or Finally )
    • - on the following path follows in each state ( globally )
    • - follows until the status is reached (English: Until )
    • - always follows or until the state is reached (English: Weak Until )

Path and path-specific operators can be combined with each other so that, for example, the following formulas result:

  • - applies in (at least) one next state
  • - applies in (at least) one of the following states
  • - There is (at least) one path, so that applies along the entire path
  • - there is a path for which applies: until the first occurrence of applies
  • - applies in every next state
  • - one always reaches a state in which applies
  • - applies on all paths in every state
  • - it always applies until the first occurrence of

semantics

CTL formulas are defined using transition systems. For a given sequence of states of the system (starting in state ), the operators are formally defined as follows, this is for fulfilled :

The transformations mentioned above make it possible to convert formulas into one another.

literature

  • Clarke, Grumberg, Peled: Model Checking . MIT Press, 2000, ISBN 0-262-03270-8
  • Rohit Kapur: CTL for Test Information of Digital ICS . Springer, 2002, ISBN 978-1-4020-7293-2
  • B. Berard, Michel Bidoit, Alain Finkel: Systems and Software Verification. Model-checking Techniques and Tools. Springer, 2001, ISBN 3-540-41523-8
  • M. Huth and M. Ryan: Logic in Computer Science - Modeling and Reasoning about Systems . Cambridge, 2004, ISBN 0-521-54310-X