INFOF412 ·Formal verification of computer systems
Chapter 4: Computation tree logic
Mickael Randour
Formal Methods and Verification group
Computer Science Department, ULB
March 2017
CTL CTL model checking CTL vs. LTL CTL
1CTL: a specification language for BT properties
2CTL model checking
3CTL vs. LTL
4CTL
Chapter 4: Computation tree logic Mickael Randour 1 / 71
CTL CTL model checking CTL vs. LTL CTL
1CTL: a specification language for BT properties
2CTL model checking
3CTL vs. LTL
4CTL
Chapter 4: Computation tree logic Mickael Randour 2 / 71
CTL CTL model checking CTL vs. LTL CTL
Branching time semantics: a reminder
{a}
{a,b}
{b}
Branching time semantics deals with
the execution (or computation) tree.
Infinite unfolding considering all
branching possibilities.
E.g., do all executions always have the
possibility to eventually reach {b}?Yes.
Cannot be expressed as a LT property
(intuitively, requires branching).
{a}
{a} {b}
{b}
{b}
{a,b}
{a} {a,b}
{a} {b} {a,b}{a} {a,b}
Chapter 4: Computation tree logic Mickael Randour 3 / 71
CTL CTL model checking CTL vs. LTL CTL
Intuition
In LTL, s|=φmeans that all paths starting is ssatisfy φ.
Implicit universal quantification.
Could be made explicit by writing s|=φ.
What if we want to talk about some paths?
E.g., does there exist a path satisfying φstarting in s?
Could be expressed using the duality between universal and
existential quantification: s|=φiff s6|=∀ ¬φ.
What if the property is more complex? E.g., do all executions
always have the possibility to eventually reach {b}?
s|=bdoes not work as it requires all paths to always
return in {b}, not just to have the possibility to do so.
Not expressible in LTL. We need nesting of path
quantifiers (,).
s|=∃♦bis a CTL formula: “for all paths, it is always the
case (i.e., at every step along the branch) that there exists a
path (which can be branching) that eventually reaches b.”
Chapter 4: Computation tree logic Mickael Randour 4 / 71
1 / 74 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !