On the Satisfiability of Metric Temporal Logics over the Reals Marcello M. Bersani Matteo Rossi Pierluigi San Pietro - Politecnico di Milano
Motivations • Con$nuous'$me'is'typically'used'when'modeling'hybrid' systems' – computer'systems'that'interact'with'the'physical'world' • Also'well'suited'to'capture'asynchrony'in'systems' – e.g.,'events'that'occur'close'to'each'other,'but'not'at'the'same' $me' • Successful'formalisms'and'tools'to'capture'and'analyze' con$nuous'systems' – e.g.,'Timed'Automata'(Uppaal)' • Con$nuousB$me'temporal'logics'are'useful'to'capture'the' proper$es'of'systems' – e.g.,'highBlevel'requirements' – can'also'be'used'to'provide'descrip$ve'models'of'systems'
Motivations • Since'‘80'various'aGempts'to'embed'explicit'(real)' $me'in'LTL' – Harel,'Pnueli,'Ostroff,'etc.' • “A'Really'Temporal'Logic”,'Alur,'Henzinger,'1989' – (un)Decidability'of'TPTL'over'(dense)'natural'$me' • Shortly'aTer,'Metric'Temporal'Logic'(MTL) 1 ' – (un)Decidability'over'(dense)'natural'$me ' – Implicit'use'of'$me'in'parameterized'modali$es'◊ <c' • Previously'introduced'by'Harel,'Pnueli 2' 1 '“Real'$me'Logics:'Complexity'and'Expressiveness”','Alur,'Henzinger,'1993'(LICS'1990)' 2 '“Applica$ons'of'Temporal'Logic'to'Specifica$on'of'RealB$me'Systems”','Pnueli,'Harel,'1988'
Semantics φ MTL '='p'|' ¬ φ'|'φ ∧ φ'|'φ U I φ'|'φ S I φ' I '=' 〈 a,b 〉 'or' 〈 a, ∞〉 '''''a ∈ � ,'b ∈ �� MITL'='fragment'of'MTL's.t.'intervals' I 'are'non'punctual' • Seman$cs'can'be'defined'wrt' Signals ) M:' � → 2 AP' φU (1,2) ψ � ' ∃ d’ ∈ (1,2) , 'M,t+d'' � ' ψ � and � M,t’’' � � φ , � ∀ t’’' ∈ (t,t+d’)'
Overview 1 for SAT TPTL' Explicit'clock'+' Freeze 'operator' x.(p U (x<1))' No'clocks' MTL+past' F [1,1]' ! ' MTL 3' MITL+past' Undecidable ' EXP SPACEBc' QMLO=QTL 2' MITL 3' MTL 0, ∞ ' ECL 4' P SPACEBc' F [1,1]' " ' 1 'Mainly'from'“On'the'Expressiveness'of'TPTL'and'MTL”','Bouyer,'Chevalier,'Markey,'2009' 2 '“Logics'for'Real'$me:'Decidability'and'Compexity”,'Hirshfeld,'Rabinovich,'2004' 3 '“The'Benefits'of'relaxing'punctuality”,'Alur,'Feder,'Henzinger,'1996' 4 '“The'Regular'RealB$me'Languages”,''Henzinger,'Raskin,'Schobbens,'1998'
QTL (Quantitative Temporal Logic) φ QTL '='p'|' ¬ φ'|'φ ∧ φ'|'φ U φ'|'φ S φ'|' F (0,1) φ'|' P (0,1) φ' ' • Seman$cs'wrt' Signals) M:' � → 2 AP' F (0,1) φ � ' ∃ d’ ∈ (0,1) , 'M,t+d'' � ' φ ' • QTL' has'the'same'expressive'power'of'MITL '
What we obtained • A' new)proof) of'decidability'for'QTL' ' • Implemented' tool 'deciding'SAT'for'QTL' – and'all'the'equivalent'logics'(MITL,'ECL,'QMLO)' – unrestricted'(non'Zeno)'signals'' • To'the'best'of'our'knowledge,'first'tool'that' can'handle'SAT'for'these'logics'over' con$nuous'$me'
Our solution QTL) → )CLTLCoverCclocks 1' • CLTLoc'is'decidable''( PSPACECc )' • CLTLoc'formulae'contain' explicit)clocks ' • Based'on'(PSPACE)'SAT'of'CLTL 2' – A'decision'procedure'is'available'based'on'SMT' (bounded'SAT) 3' 1 '“A'Tool'for'Deciding''Con$nuos'Time'Metric'Temporal'Logic”,'Bersani,'Rossi,'San'Pietro,'2013' 2 '“An'automata'Theore$c'Approach'to'Constraint'LTL”,'Demri,'D’Souza,'2003' 3 '“Constraint''LTL'Sa$sfiability'Checking'without'Automata”,'Bersani'et'al.,'2012'
Constraint LTL over clocks • Fragment'of'LTL(FO)'B' 〈 � ,<,= 〉 ' • V 'is'a'finite'set'of'clocks,'z ∈ V) τ'= c'|'z'|' X z' z' ∈ � V , c' ∈ �� ' α'=' p ' |' τ 1 < τ 2 '|' τ 1 = τ 2' p ∈ AP' φ'='α'|' ¬ φ'|'φ U φ'|'φ S φ'|' X φ'|' Y φ' Standard'LTL' π:' � ' → 2 AP' • Models:'(π,σ) ' σ:' � × V → � '
Constraint LTL over clocks • Alur&Dill'clocks' – Nonnega$ve'' – strongly'monotonic'(except'for'“resets”)' X z >'z ' ' z: ' '0.3'' 1.5' 1.8' 2.0' 1.0' 6.0' 18.4' 0' '0'' 0' – Clock'progressiveness 1 '(non'Zeno'signals)' G (z≥0)' ∧ ' G ( X z=0' ∨ ' X z>z)' ∧ '( GF (z=0)' ∨ ' FG (z>max z ))' G (φ)'=' ¬ F ( ¬ φ)'=' ¬ (T U ' ¬ φ) 1 '“A'Theory'of'Timed'Automata”,'Alur,'Dill','1994' '
From signals to CLTLoc models • Given'a'QTL'formula'φ'and'θ'one'of'its'subformlae,' M θ 'is'the'signal'represen$ng'the'changing'points'of'θ' b' M:' � → 2 AP' M θ ''by'QTL'seman$cs' =1' =1' a' F (0,1)' a' b' ∧ 'F (0,1)' a'
From signals to CLTLoc models • Rela$on'from'signals'M'to'CLTLoc'models'(π,σ)'' r(M)'='{(π,σ) i }' φ' F (0,1)' φ' r(M)'' (π,σ)' (π 0 ,σ 0 )' (π i ,σ i )' …' r B1 (π,σ)' Denumerable'subset'of' � '
From signals to CLTLoc models • For'each'subformula'θ' – Atoms' f θ ,' h θ' – Clocks'z θ 0 ,z θ 1 ' • Discrete'posi$ons'in'(π,σ)'represent'the'behavior'of' θ'at'the'corresponding'posi$on'in'M θ' φ' F (0,1)' φ' (π,σ)' {…}' {…}' {…}' {…}' {…}' {…}'
From signals to CLTLoc models • Each'posi$on'in'π'represents'the'truth'of'θ'at'the'corresponding' interval'in'M θ' – if'atom' f θ 'is'true,'θ' holds 'in'the' first)point 'of'the'current'interval' – if'atom' h θ 'is'true,'θ' holds 'in'the' rest)of)the)points 'of'the'current'interval' f φ , h φ ' f φ , h φ ' f φ , h φ ' f φ , ¬ h φ ' ¬ f φ , ¬ h φ ' ¬ f φ , ¬ h φ ' φ' …' f θ ,h θ ' ¬ f θ , h θ ' θ= F (0,1)' φ' { f φ , f θ,' { f φ , f θ,' { f φ }' {}' { h θ }' { f φ , f θ,' π' h φ , h θ }' h φ , h θ }' h φ , h θ }'
From signals to CLTLoc models • Time'progress'among'posi$ons'is'measured'by' clocks' – Clocks'z θ 0 ,z θ 1 '($me'elapsed'since'the'last'two' events )' φ' F (0,1)' φ' 0.3' 0.7' 1.2' 0.2' 0.9' { f φ , f θ,' π' { f φ , f θ,' { f φ }' {}' { h θ }' { f φ , f θ,' h φ , h θ }' h φ , h θ }' h φ , h θ }' σ' z φ 0 =0) z φ 0 =.3' z φ 0 =1' z φ 0 =2.2' z φ 0 =2.4' z φ 0 =0) z φ 1 >0' z φ 1 >0' z φ 1 =0) z φ 1 =1.2' z φ 1 =1.4' z φ 1 =2.3'
Equisatisfiability • Given'a'QTL'formula' Φ ,'we'build'a'set'of'CLTLoc' formulae'' {m(θ)'|'θ'subformula'of' Φ }' ' ' M,0' �� Φ '''''iff'''''(π,σ),0' � ' f Φ ' � � θ' G (m(θ)) � (for'all'(π,σ)' � 'r(M))'
Translation for U ' M φ ' M φ ' M φ ' M φ ' M φ ' φ' h ψ ' ψ' θ � φ U ' ψ � ' m( θ ):' f θ ' ⇔ ' h θ '''''' ∧ '' h θ ' ⇔ ' h φ ' ∧ '( h ψ ' ∨ ' X ( M φ U ( ' ( M φ ' ∧ ' h ψ )' ∨ ' f ψ )))'
Translation for F (0,1)' φ ' z φ j =0' z φ j >1' >1' φ' =1' θ � F (0,1)' φ � ' θ ' z θ i =0' z θ i =1' m( θ ):''''' θ � ⇔ � ¬ f θ' ∧ 'z θ i =0' ∧ ' X (z θ i >0' U ' ('''' φ ' ∧ 'z θ i =1' ∧ 'z φ j >1'))' θ' ⇔ ' ¬ Y (h θ )' ∧ 'h θ' 19'
Translation for F (0,1)' φ' φ' z φ i =0' z ϕ i >1' >1' φ' θ ��� F (0,1)' φ � ' θ ' m( θ ):''''' θ � ⇔ ''''' ϕ ' ∧ ' ¬ X ( ¬ '' ϕ � U ' ('''' ϕ ' ∧ '0'<'z ϕ i ≤ 1)' 20'
Complexity • The'sa$sfiability'problem'for'QTL'is'known'to' be'PSPACEBc' • CLTLoc'is'PSPACEBc 1 '' • The'size'of'formula' � θ' G (m(θ))'is' O (| Φ QTL |)' – PSPACE'complexity'is'preserved' 1 'Number'of'subformulae,'max'constant'occurring'(binary'encoding)'
K-bounded SAT • Find'a'(infinite)'periodic'model'over' – Subformulae) – Regions 'for'clocks'(not'over'values!!)' • with' at.most. K 'changing'points'' 1 . 2 . 3 . 4 . 5 . K=6 . { φ , θ }' π' {f φ }' { φ , θ }' {f φ }' ='12(3456) ω' R σ' R l B1' R l R k. R k +1'
Example G [0, ∞ ) ( ) 0' 100' G (0,100) ¬ p' → ' G (100,200) ¬ p'' α=' ∧ 'p' ∧ ' G (0,100) ¬ p'' ∧ '' p' → ' F (0,200) p'' G (0,' ∞ ) ('p' → ' F (0,1) q' ∨ ' P (0,1) q')' β=' G (0,' ∞ ) ('q' → ' G (0,100) ¬ q')' γ=' G (0,' ∞ ) ('q' → ' G (0,100] ¬ q')' δ=' Formula) t) K) periodicity) α' 10s) 10' B' SAT' α' ∧ 'β' 40s) 10' B' UNSAT' α' ∧ 'β' ∧ 'γ' 10m) 20' 15m) α' ∧ 'β' ∧ 'δ' 80m) 30' >12h)
Implementation • qtlSolver :'hGp://code.google.com/p/qtlsolver/' – Transla$on'of'QTL'(and'MITL)'to'CLTLoc' – Java ' • ae 2 Zot:'arithme$cal'plugin'for'Zot' – Bounded'SAT'for'CLTL'and'CLTLoc' – SMT'based'
Questions?
Recommend
More recommend