Translating Linear Temporal Logic into Büchi Automata

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Model Checking Lecture 3. Specification Automata Syntax, given a set A of atomic observations: Sfinite set of states S 0 Sset of initial states S S transition.
Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
An improved on-the-fly tableau construction for a real-time temporal logic Marc Geilen 12 July 2003 /e.
Tutorial I – An Introduction to Model Checking Peng WU INRIA Futurs LIX, École Polytechnique.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Part 3: Safety and liveness
1 Model checking. 2 And now... the system How do we model a reactive system with an automaton ? It is convenient to model systems with Transition systems.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Chair of Software Engineering Software Verification Stephan van Staden Lecture 10: Model Checking.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
1 Temporal Logic u Classical logic:  Good for describing static conditions u Temporal logic:  Adds temporal operators  Describe how static conditions.
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture # 11.
CSE 555 Protocol Engineering Dr. Mohammed H. Sqalli Computer Engineering Department King Fahd University of Petroleum & Minerals Credits: Dr. Abdul Waheed.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Modeling Software Systems Lecture 2 Book: Chapter 4.
On-the-fly Model Checking from Interval Logic Specifications Manuel I. Capel & Miguel J. Hornos Dept. Lenguajes y Sistemas Informáticos Universidad de.
Witness and Counterexample Li Tan Oct. 15, 2002.
Specification Formalisms Book: Chapter 5. Properties of formalisms Formal. Unique interpretation. Intuitive. Simple to understand (visual). Succinct.
Review of the automata-theoretic approach to model-checking.
Witness and Counterexample Li Tan Oct. 15, 2002.
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
1 Translating from LTL to automata. 2 Why translating? Want to write the specification in some logic. Want to check that an automaton (or a Kripke structure)
LTL – model checking Jonas Kongslund Peter Mechlenborg Christian Plesner Kristian Støvring Sørensen.
Flavio Lerda 1 LTL Model Checking Flavio Lerda. 2 LTL Model Checking LTL –Subset of CTL* of the form: A f where f is a path formula LTL model checking.
1 Temporal Logic-Overview FM Temporal Logic u Classical logic: Good for describing static conditions u Temporal logic: Adds temporal operators Describe.
1 Carnegie Mellon UniversitySPINFlavio Lerda Bug Catching SPIN An explicit state model checker.
Institute for Applied Information Processing and Communications 1 Karin Greimel Semmering, Open Implication.
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Model Checking Lecture 3 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
10/19/2015COSC , Lecture 171 Real-Time Systems, COSC , Lecture 17 Stefan Andrei.
Recognizing safety and liveness Presented by Qian Huang.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
About Alternating Automata Daniel Choi Provable Software Laboratory KAIST.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
Model Checking Lecture 2 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Counterexample-Guided Abstraction Refinement By Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith Presented by Yunho Kim Provable Software.
  An alphabet is any finite set of symbols.  Examples: ASCII, Unicode, {0,1} ( binary alphabet ), {a,b,c}. Alphabets.
15-820A 1 LTL Model Checking A Flavio Lerda.
Four Lectures on Model Checking Tom Henzinger University of California, Berkeley.
Formal methods: Lecture
CIS 842: Specification and Verification of Reactive Systems
SS 2017 Software Verification LTL monitoring
Program Synthesis is a Game
Decision Properties of Regular Languages
Alternating tree Automata and Parity games
Formal Methods in software development
Formal Methods in software development
Recognizing Safety and Liveness
Formal Methods in software development
Formal Methods in software development
Computer Security: Art and Science, 2nd Edition
Formal Methods in software development
Program correctness Linear Time Temporal Logic
Formal Methods in software development
Model Checking CS 680 Formal Methods Jeremy Johnson.
Presentation transcript:

Translating Linear Temporal Logic into Büchi Automata Presented by Choi, Chang-Beom

Content Overview Translating LTL formula into Büchi Automata Linear Temporal Logic Büchi Automata Translating LTL formula into Büchi Automata Local Automaton Eventuality Automaton Model Automata Further Study Reference Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Model checking or Specify requirement properties and build system model Generate possible states from the model and then check whether given requirement properties are satisfied within the state space OK Target Program or Model Check Requirement Properties (F W) Error Trace Found Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview A process of Model Checking Modeling Specification Build a model of program or system Specification Describe requirement properties Verification Checking that a model of the program or system satisfies a given specification Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview How can we model check of a program or system? Modeling Build a Büchi automaton for a given program or system Specification Describe requirement properties using Temporal Logic Verification Automatically (semi-automatic) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Process of Model Checking Model Checker Requirement Properties Target Program (F W) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Linear Temporal Logic LTL is an extension of propositional logic geared to reasoning about infinite sequences of states Time is viewed as linear Each time instant has a unique successor The sequences considered are isomorphic to the natural numbers and each state is a propositional interpretation The living being always, eventually breathe. 5 10 … Time Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Syntax of Linear Temporal Logic The formulas of linear temporal logic built from a set of atomic propositions P are following true, false, p, and ¬p, ∀ p ∈P; φ1 ∧ φ2, and φ1∨ φ2 are LTL formulas; ○ φ1, φ1 U φ2, and φ1 Ũ φ2 are LTL formulas Sequence σ = σ[0…] = σ0σ[1…] σ[i] = si σ[…i] = s0s1…si σ[i…] = sisi+1… The definition of sequence is from “Recognizing Safety and Livness, B. Alpern, F. Schneider” Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Temporal Operators Reads : “next” Means : at next state Operator U Reads : “strong until” Means : second argument holds at the current or a future position, and first argument has to hold until that position Operator Ũ Reads : “weak until” Means : first argument be true until its second argument is true (does not require that the second argument ever become true) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Semantic of Linear Temporal Logic Definition A transition system M = (S,→,L) is a set of states S endowed with a transition relation → (a binary relation on S), such that every s ∈ S has some s’ ∈ S with s → s’, and a labeling function L :S → P(Atoms) Atoms : Atomic Propositions (Atomic description) e.g. : Atoms = {p, q}, P(Atoms)={{}, {p}, {q}, {p, q}} L(s) : contains all atoms which are true in state s e.g. : L(s0) = {p, q}, L(s1) = {q, r}, L(s2) = {r} s0 p, q s2 s1 q, r r Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Semantic of Linear Temporal Logic Definition A path in a model M = (S,→,L) is an infinite sequence of sate s1, s2, s3, … in S such that, for each i > 1, si → si+1. We write the path π as s1 → s2 → … π ≡ σ = σ[0…] = σ[0]σ[1…] Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Semantic of Linear Temporal Logic Operator U Reads : “strong until” Means : second argument holds at the current or a future position, and first argument has to hold until that position σ[1…] ⊨ p, σ[1…] ⊭ q, σ[1…] ⊨ p U q σ[2…] ⊨ p, σ[2...] ⊭ q, σ[2…] ⊨ p U q σ[3…] ⊭ p, σ[3…] ⊨ q, σ[3…] ⊨ p U q σ[4…] ⊭ p, σ[4…] ⊨ q, σ[4...] ⊨ p U q σ[5...] ⊭ p, σ[5...] ⊭ q, σ[5...] ⊭ p U q … Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Semantic of Linear Temporal Logic Operator Ũ Reads : “weak until” Means : first argument be true until its second argument is true (does not require that the second argument ever become true) p σ[1…] ⊨ p, σ[1…] ⊭ q, σ[1…] ⊨ p U q σ[2…] ⊨ p, σ[2…] ⊭ q, σ[2…] ⊨ p U q σ[3…] ⊨ p, σ[3…] ⊭ q, σ[3…] ⊨ p U q σ[4…] ⊨ p, σ[4…] ⊭ q, σ[4…] ⊨ p U q σ[5…] ⊨ p, σ[5…] ⊭ q, σ[5…] ⊨ p U q q p Ũ q … 1 2 3 4 5 6 7 Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Semantic of Linear Temporal Logic ㅁφ always φ Ũ false Requires that its argument be true always At all future points ⋄φ eventually true U φ Requires that its argument be true eventually At some point in the future Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Semantic of Linear Temporal Logic For all, we have σ ⊨ true and σ ⊭ false For σ ⊨ p for p ∈ P iff p ∈ L(σ[0]) = L(s0) For σ ⊨ ¬p for p ∈ P iff p ∉ L(σ[0]) σ ⊨ φ1 ∧ φ2, iff σ ⊨ φ1 and σ ⊨ φ2 σ ⊨ φ1∨ φ2 , iff σ ⊨ φ1 or σ ⊨ φ2 Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Semantic of Linear Temporal Logic: Temporal logic σ ⊨ ○ φ1, iff σ[1] ⊨ φ1 σ[0…] ⊨ ○ φ1, iff σ[1] ⊨ φ1 σ[i…]⊨ φ1 Ũ φ2 iff σ[i]⊨ φ2 ∨ (σ[i]⊨ φ1 ∧ σ[i+1…] ⊨ φ1 Ũ φ2) σ[i…]⊨ φ1 U φ2 iff σ[i…]⊨ φ1 Ũ φ2 ∧ ∃j, j≥ i, σ[j]⊨ φ2 ㅁφ = ¬⋄¬ φ Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Content Overview Translating LTL formula into Büchi Automata Linear Temporal Logic Büchi Automata Translating LTL formula into Büchi Automata Local Automaton Eventuality Automaton Model Automata Further Study Reference Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Büchi Automata Automata which accepts infinite word Büchi Automata m accepts the sequences of program states that are in L(m) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Büchi Automata Definition A = (Σ, S, S0, ρ, F) Σ: alphabet (set of program states) S : set of automaton states S0 : set of initial state ρ : a transition function (S xΣx S) F : a set of accepting states Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Büchi Automata A = (Σ, S, S0, ρ, F) The input of A is infinite w : a0, a1, … (∈ Σω) A run is a sequence of states r: s0,s1, … (∈ Sω) Initiation: s0 ∈ S0 Consecution : si+1∈ρ(si, ai) Accepting run (r = s0,s1, … ) There is some state s ∈ F An infinite number of integers i ∈ N such that si = s Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Overview Büchi Automata run : q0, q1, q1, q1, … S = {q0, q1} S0 = {q0} ρ = {(q0,true, q0), (q0, P, q1), (q1,true, q1) F = {q1} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Content Overview Translating LTL formula into Büchi Automata Linear Temporal Logic Büchi Automata Translating LTL formula into Büchi Automata Local Automaton Eventuality Automaton Model Automata Conclusion and Further Study Reference Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Process of translating LTL into Büchi Automata Create Local Automaton Checks that the sequence satisfies all conditions imposed by the formula It checks conditions a step by step check on the sequence Create Eventuality Automaton Checks that the eventualities are realized The problem is that nothing prevents us from postponing forever the time at which (eventuality) formula will be true Eventualities : formulas of the form ⋄φ and φ1 U φ2 ㅁ φ ≡ (φ ∧ ○ㅁ φ) ⋄φ ≡ (φ ∨ ○ ⋄ φ) ¬(φ1 Ũ φ2 )≡ (¬φ1 ∧¬φ2 ∨ (¬φ1 ∧○¬(φ1 Ũ φ2))) Determine which eventualities have to be realized Compose two automaton Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Local Automaton Closure cl() Smallest set of formulas satisfying the following conditions φ ∈ cl(φ) φ1 ∧ φ2∈ cl(φ) ⇒ φ1 , φ2 ∈ cl(φ) φ1 ∨ φ2 ∈ cl(φ) ⇒ φ1 , φ2 ∈ cl(φ) φ1 → φ2 ∈ cl(φ) ⇒ φ1 , φ2 ∈ cl(φ) ¬ φ1 ∈ cl(φ) ⇒ φ1 ∈ cl(φ) φ1 ∈ cl(φ) ⇒ ¬ φ1 ∈ cl(φ) ○ φ1 ∈ cl(φ) ⇒ φ1 ∈ cl(φ) ㅁ φ1 ∈ cl(φ) ⇒ φ1 ∈ cl(φ) ⋄ φ1 ∈ cl(φ) ⇒ φ1 ∈ cl(φ) φ1 Ũ φ2 ∈ cl(φ) ⇒ φ1 , φ2 ∈ cl(φ) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Local Automaton L = (∑, NL, ρL, Nφ, NL) ∑ : ∑ ⊂ 2cl(φ) s ∈ ∑, for every f ∈ cl(φ), f ∈ s iff ¬f ∉ s NL includes all subsets s of cl(φ) that are propositionally consistent. For every φ1 ∈ cl(φ), we have φ1 ∈ s iff ¬φ1 ∉ s For every φ1 ∧ φ2 ∈ cl(φ), we have φ1 ∧ φ2 ∈ s iff φ1 ∈ s and φ2 ∈ s For every φ1 ∨ φ2 ∈ cl(φ), we have φ1 ∧ φ2 ∈ s iff φ1 ∈ s or φ2 ∈ s For every φ1 → φ2 ∈ cl(φ), we have φ1 ∧ φ2 ∈ s iff ¬ φ1 ∈ s or φ2 ∈ s Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Local Automaton L = (∑, NL, ρL, Nφ, NL) If ρL(s, a) is non-empty then a = s Symbol being read is compatible with the state of the automaton ρL(s, a) must check the next state is compatible with the semantics of the temporal operators ( t ∈ ρL(s, a)) ∀○φ1 ∈ cl(φ), we have ○φ1 ∈ s iff φ1 ∈ t ∀ㅁφ1 ∈ cl(φ) we have ㅁφ1 ∈ s iff φ1 ∈ s and ㅁφ1 ∈ t ∀⋄φ1 ∈ cl(φ) we have ⋄φ1 ∈ s iff either φ1 ∈ s, or ⋄φ1 ∈ t ∀φ1 Ũ φ2 ∈ cl(φ) we have φ1 U φ2 ∈ s iff either φ2 ∈ s, or φ1 ∈ s and φ1 Ũ φ2 ∈ t ∀φ1 U φ2 ∈ cl(φ) we have φ1 U φ2 ∈ s iff either φ1 ⋀ φ2 ∈ s, or φ2 ∈ s or φ1 U φ2 ∈ t Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Local Automaton L = (∑, NL, ρL, Nφ, NL) The set Nφ of initial states is the set of states that include the formula The set NL of accpeting states is , the set of all states Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Example Local Automaton : ⋄p Closure of ⋄p cl(⋄p) = {⋄p, p, true,¬⋄p, ¬p, false} NL= {{⋄p, p, true}, {⋄p, p, false}, {¬⋄p, p, true}, {¬⋄p, p, false}, {⋄p, ¬p, true}, {⋄p, ¬p, false}, {¬⋄p, ¬p, true}, {¬⋄p, ¬p, false}} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Example Local Automaton for ⋄p {⋄p, p, true} {⋄p, ¬p, true} {¬⋄p, p, true} {¬⋄p, ¬p, true} {¬⋄p, ¬p, false} {¬⋄p, p, false} σ ⊭ false {⋄p, p, false} {⋄p, ¬p, false} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Example Local Automaton for ⋄p (some optimization) {⋄p, p} {⋄p, ¬p} {¬⋄p, p} {¬⋄p, ¬p} cl(⋄p) = {⋄p, p, ¬⋄p, ¬p} NL= {{⋄p, p}, {¬⋄p, p}, {⋄p, ¬p}, {¬⋄p, ¬p}} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Eventuality Automaton Eventuality automaton is supposed to check that the eventualities are realized Check each time a formula of the form (or φ1 U φ2) ⋄φ ≡ (φ ∨ ○ ⋄ φ) ¬(φ1 Ũ φ2) ≡ (¬φ1∧¬φ2)∨ (¬φ2 ∧ ○¬(φ1 Ũ φ2)) Eventuality automaton starts by finding out which eventualities have to be realized at the initial time instant, then it checks that these are realized Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Eventuality Automaton F = (∑, 2ev(φ), ρF, {{}}, {{}}) ∑ : ∑ ⊂ 2cl(φ) s ∈ ∑, for every f ∈ cl(φ), f ∈ s iff ¬f ∉ s The set 2ev(φ) of states is the set of subsets of the eventualities of the formula φ (a state {e1, …, ek} means that the eventualities e1, …, ek still have to be realized) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Eventuality Automaton F = (∑, 2ev(φ), ρF, {{}}, {{}}) ρF(s,a), t ∈ ρF(s,a) s = {} ∀ ⋄φ ∈ a, one has ⋄φ ∈ t iff φ ∉ a ∀ ¬(φ1 Ũ φ2 ) ∈ a, one has ¬(φ1 Ũ φ2 ) ∈ t iff ¬φ1∧¬φ2∉ a s ≠ {} ∀ ⋄φ ∈ s, one has ⋄φ ∈ t iff φ ∉ a ∀ ¬(φ1 Ũ φ2 )∈ s, one has ¬(φ1 Ũ φ2 ) ∈ t iff ¬φ1∧¬φ2 ∉ a Initial state : {} Finial state : {} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Example Eventuality automaton {⋄p, p} {¬⋄p, ¬p} {¬⋄p, p} {⋄p, ¬p} {⋄p, ¬p} {} ⋄p {¬⋄p, ¬p} {¬⋄p, p} {⋄p, p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata Composing the two automata M = (∑, NM, ρM ,NM0, FM) NM = NL X 2ev(φ) (Cartesian Product) (p, q) ∈ ρM((s, t), a) iff p ∈ ρL(s, a) and q ∈ ρF(t, a) NM0 = Nφ X {} FM = NL X {} Given two Büchi automata A1 = (∑, S1, ρ1, S01, F1) and A2 = (∑, S2, ρ2, S02, F2), it is possible to build a Büchi automaton accepting the language L(A1) ∩ L(A2) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Example Composing the two automata ({¬⋄p, ¬p} , ⋄p) ({¬⋄p, p}, ⋄p) ({⋄p, ¬p} , ⋄p) ({⋄p, p}, ⋄p) ({¬⋄p, ¬p} , {}) ({¬⋄p, p}, {}) ({⋄p, ¬p} , {}) ({⋄p, p}, {}) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Translating LTL formula into Büchi Automata The automaton on the 2P M = (∑, NM, ρM ,NM0, FM) ⇓ M’ = (2P, NM, ρM’ ,NM0, FM) t ∈ ρM’(s, a) iff some b ∈ ∑ such that a = b∩P and t ∈ ρM(s, b) Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Final automaton for ⋄p p p ¬p ¬p ¬p true Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Content Overview Translating LTL formula into Büchi Automata Linear Temporal Logic Büchi Automata Translating LTL formula into Büchi Automata Local Automaton Eventuality Automaton Model Automata Conclusion and Further Study Reference Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Conclusion # of States Local Automaton : 2cl(φ) = O(22|φ|) Eventuality Automaton : 2ev(φ) = O(2|φ|) Composed Automata : 2cl(φ) X 2ev(φ) = O(23|φ|) |φ| is length of formula φ Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Further Study Translate LTL to Büchi Automata Next Topic? Using Alternating Büchi Automata Tableau Method On the fly method Next Topic? On-line Algorithm More specific research on Interactive Systems Symbolic graph representation: Ordered Binary Decision Diagram Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Reference On the Relation of Programs and Computations to Models of Temporal Logic by Pierre Wolper, In Proc. Temporal Logic in Specification, vol. 398 of LNCS, pages 75-123. Springer-Verlag, 1989. Constructing Automata from Temporal Logic Formulas: A Tutorial by Pierre Wolper In Lectures on Formal Methods in Performance Analysis, vol. 2090 of LNCS, pages 261-277. Springer-Verlag, July 2001. From Modal Logic to Deductive Databases by A. Thayse et al., Wiley, 1989 Logic in Computer Science, second edition by M. Huth and M. Ryan, Cambridge press Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Complicated Example Closure of φ = ㅁ⋄p cl(φ) = {ㅁ⋄p, ¬ㅁ⋄p, ⋄p, ¬⋄p, p, ¬p} NL= {{ㅁ⋄p, ⋄p, p}, {¬ㅁ⋄p, ⋄p, p}, {ㅁ⋄p, ¬⋄p, p}, {ㅁ⋄p, ⋄p, ¬ p }, {¬ㅁ⋄p, ¬⋄p, p}, {¬ㅁ⋄p, ⋄p, ¬p}, {ㅁ⋄p, ¬⋄p, ¬p}, {¬ㅁ⋄p, ¬⋄p, ¬p}} = {{ㅁ⋄p, ⋄p, p}, {⋄¬⋄p, ⋄p, p}, {ㅁ⋄p, ¬⋄p, p}, {ㅁ⋄p, ⋄p, ¬ p }, {⋄¬⋄p, ¬⋄p, p}, {⋄¬⋄p, ⋄p, ¬p}, {ㅁ⋄p, ¬⋄p, ¬p}, {⋄¬⋄p, ¬⋄p, ¬p}} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Local Automaton {ㅁ⋄p, ⋄p} {⋄¬⋄p, ⋄p} {ㅁ⋄p, ¬⋄p} {ㅁ⋄p, ⋄p} {⋄¬⋄p, ¬⋄p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Local Automaton {⋄p, p} {⋄p, p} {¬⋄p, p} {⋄p, ¬p} {¬⋄p, p} {⋄p, ¬p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Local Automaton {ㅁ⋄p, ⋄p, p} {⋄¬⋄p, ⋄p, p} {ㅁ⋄p, ¬⋄p, p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Local Automaton {ㅁ⋄p, ⋄p} {⋄¬⋄p, ⋄p} {ㅁ⋄p, ¬⋄p} {ㅁ⋄p, ⋄p} {⋄¬⋄p, ¬⋄p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Local Automaton {⋄p, p} {⋄p, p} {¬⋄p, p} {⋄p, ¬p} {¬⋄p, p} {⋄p, ¬p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Local Automaton {ㅁ⋄p, ⋄p, p} {⋄¬⋄p, ⋄p, p} {ㅁ⋄p, ¬⋄p, p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Eventuality Automaton ev(φ) = {⋄¬⋄p, ⋄p} 2ev(φ) = {{}, {⋄¬⋄p}, {⋄p}, {⋄¬⋄p,⋄p} = {{¬⋄¬⋄p, ¬⋄p}, {⋄¬⋄p, ¬⋄p}, {¬⋄¬⋄p, ⋄p}, {⋄¬⋄p, ⋄p}} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Eventuality Automaton ⋄p {¬⋄¬⋄p, ⋄p, p} {¬⋄¬⋄p, ¬⋄p, ¬p} {¬⋄¬⋄p, ¬⋄p, p} {⋄¬⋄p, ¬⋄p, p} {¬⋄¬⋄p, ⋄p, ¬ p } {} ⋄p, ⋄¬⋄p {⋄¬⋄p, ⋄p, p} {⋄¬⋄p, ¬⋄p, ¬p} ⋄¬⋄p {⋄¬⋄p, ⋄p, ¬p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Eventuality Automaton {¬⋄¬⋄p, ¬⋄p, ¬p} {¬⋄¬⋄p, ⋄p, ¬p} ⋄p {⋄¬⋄p, ¬⋄p, ¬p} {¬⋄¬⋄p, ¬⋄p, p} {¬⋄¬⋄p, ⋄p, p} {⋄¬⋄p, ¬⋄p, p} {⋄¬⋄p, ⋄p, p} {⋄¬⋄p, ⋄p, ¬p} {} ⋄p, ⋄¬⋄p ⋄¬⋄p Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Eventuality Automaton ⋄p {¬⋄¬⋄p, ⋄p, ¬p} {} ⋄p, ⋄¬⋄p {⋄¬⋄p, ⋄p, ¬p} {⋄¬⋄p, ¬⋄p, p} {¬⋄¬⋄p, ¬⋄p, p} {⋄¬⋄p, ¬⋄p, ¬p} ⋄¬⋄p {¬⋄¬⋄p, ¬⋄p, ¬p} {⋄¬⋄p, ⋄p, p} {¬⋄¬⋄p, ⋄p, p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Eventuality Automaton ⋄p {⋄¬⋄p, ¬⋄p, ¬p} {⋄¬⋄p, ⋄p, ¬p} {¬⋄¬⋄p, ⋄p, ¬p} {¬⋄¬⋄p, ¬⋄p, ¬p} {} ⋄p, ⋄¬⋄p {¬⋄¬⋄p, ¬⋄p, p} {⋄¬⋄p, ¬⋄p, p} {⋄¬⋄p, ⋄p, p} ⋄¬⋄p {¬⋄¬⋄p, ⋄p, p} Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST

Combining Automata {} ⋄¬⋄p ⋄¬⋄p, ⋄p ⋄p Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST