0% found this document useful (0 votes)
42 views23 pages

Formal Methods in Software Engineering

This document provides an overview of Computational Tree Logic (CTL), a branching time temporal logic used in formal methods to verify correctness properties of systems through model checking. CTL is more expressive than linear-time logic (LTL) as it permits quantification over multiple paths of execution. CTL formulas are evaluated over a tree of all possible executions represented as a Kripke structure. CTL distinguishes between path quantifiers "E" (exists) and "A" (for all) combined with temporal operators like X (next), F (future), G (globally), U (until) to express properties along some or all paths. Examples are provided to demonstrate CTL formulas for properties like a condition holding globally or

Uploaded by

lets play
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views23 pages

Formal Methods in Software Engineering

This document provides an overview of Computational Tree Logic (CTL), a branching time temporal logic used in formal methods to verify correctness properties of systems through model checking. CTL is more expressive than linear-time logic (LTL) as it permits quantification over multiple paths of execution. CTL formulas are evaluated over a tree of all possible executions represented as a Kripke structure. CTL distinguishes between path quantifiers "E" (exists) and "A" (for all) combined with temporal operators like X (next), F (future), G (globally), U (until) to express properties along some or all paths. Examples are provided to demonstrate CTL formulas for properties like a condition holding globally or

Uploaded by

lets play
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Formal Methods in Software Engineering

Lecture 08
Computational Tree Logic (CTL)

 CTL is a branching time temporal logic.

 Like LTL, it is also used in formal methods to verify


correctness properties of a system by model checking
tools.

 CTL is more expressive than LTL and permits quantification


over path
CTL

 Each state may have an accessibility relation with the


immediate next state by a transition which reflects the
system behavior in terms of time.

 Properties expressed over a tree of all possible executions


LTL Vs CTL

 LTL (linear-time logic)


 Describes properties of individual executions.
 Semantics defined as a set of executions.

 CTL (computation tree logic)


 Describes properties of a computation tree: formulas can
reason about many executions at once. (CTL belongs to the
family of branching-time logics.)
 Semantics defined in terms of states.
Transition Graph (Labelled States)

Kripke Structure

Infinite Computation Tree


CTL Operators

 In CTL, each temporal connective is a pair of symbols.

 The first symbol in a pair is one of the E and A.


 E means along at least one path, and
 A means along all paths.
CTL operators

 CTL operators are used with logical operators in the same


way as with other logics, these operators are: ,

 The operators X, F, G and U cannot appear without an E or


an A in CTL.

 CTL basic operators:


AX and EX,
AG and EG,
AF and EF,
AU and EU
CTL Example

 Let’s see an example system, how system flows in


branching time temporal logic
 We assume
 p = black ball
 q = red ball
 A formula p appears globally on all paths
A formula p appears eventually on all paths
A formula p appears in the state on all paths
A formula p appears on all paths until q appears
A formula p appears globally on any path
A formula p appears eventually on any path
A formula p appears on the next state of any path
A formula p appears on any path until q appears
CTL formulas Equivalence
CTL Syntax

 The syntax of CTL is defined by considering a set of


propositional variables (P), logical operators, and temporal
operators.

 The set of CTL formulas is formally defined inductively over


propositional variables as follows

 Where p Є P
Kripke Structure
CTL Semantics
CTL Semantics
CTL Semantics
Thanks

You might also like