Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced Logic Programming-Languages and Systems (ALPS) UTD Slide- 1 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Verifying Complex.

Similar presentations


Presentation on theme: "Advanced Logic Programming-Languages and Systems (ALPS) UTD Slide- 1 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Verifying Complex."— Presentation transcript:

1 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 1 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Verifying Complex Continuous Real- Time Systems with Coinductive CLP(R) Neda Saeedloei, Gopal Gupta Department of Computer Science The University of Texas at Dallas Richardson, Texas, USA CICLOPS 2009 July 14 th 2009

2 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 2 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Real-Time Systems Timed automata for specifying real-time systems –Recognize only timed regular languages Pushdown timed automata –Recognize timed context-free languages

3 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 3 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Motivation constraint logic programming over reals or CLP(R) & Co-induction for modeling timed automata Modeling PTAs with Co-induction and CLP(R) verify safety and liveness properties The Generalized Railroad Crossing problem –Safety –Utility

4 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 4 University of Texas at Dallas Neda Saeedloei, Gopal Gupta ω-Automata ω-automata over the alphabet Σ is a tuple M= –Q is the (finite) set of states –Q 0 ⊆ Q is the set of initial states –F ⊆ Q is the set of final states –Δ ⊆ Q x Σ x Q is the transition relation Given an infinite string s = s 0 s 1 s 2 …, where s i Є Σ, a derivation is defined as a sequence of transitions q 0 Є Q 0, and (q i-1, s i-1, q i ) Є Δ Notions of acceptance of an infinite string s = s 0 s 1 s 2 … –Bϋchi: ∃q Є F and an infinite set of indices I such that (∀i Є I)(q = q i ). –Mϋller: F Є 2 Q, ∃A Є F, and an infinite set of indices I a for each a Є A such that (∀q Є A) (∀i Є I a )(q = q i ).

5 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 5 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Timed-Automata A generalization of ω-automata, capable of recognizing infinite words Given a string s = s 0 s 1 s 2 …, Purpose of timed automata is accepting timed words (s i, t i ) Timed automata obtained from ω-automata by adding –a finite set C of clocks –a set P of propositions over C –a labeling function τ c : Δ → 2 C (reset function) –a labeling function τ P : Δ → Prop(P), where prop(A) is the set of propositional formulae over the set of atomic propositions A

6 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 6 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Pushdown Timed Automata A Pushdown Timed Automaton extends a timed automaton with a stack A PTA is obtained from a timed automaton by adding –ε (empty string) to the input alphabet Σ –a stack alphabet Γ ε = Γ U ε –a stack represented by Γ ε * Acceptance conditions for an infinite string for a PTA –the stack must be empty.

7 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 7 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Pushdown Timed Automata Example S R S R a {c := 0} T b {c < 20} T a T b T a b {c < 5}

8 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 8 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Recognizers for ω-PDAs and ω- Grammars. PTAs and timed grammars accept infinite strings. Definite clause grammars (DCGs) extended with co-induction can act as recognizers for ω-PDAs and ω-grammars. –Using DCG facility of prolog to create parser for context-free grammars or even context-sensitive grammars. –extending logic programming with co-induction, to develop language processors that recognize infinite strings.

9 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 9 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Modeling PTAs with coinductive CLP(R) trans(s0, a, s1, T, Tr, To, _, [1]) :- {To=T}. trans(s1, a, s1, T, Tr, To, C, [1|C]):- {To=Tr}. trans(s1, b, s2, T, Tr, To, [1|C], C):- {T - Tr < 5, To =Tr}. trans(s2, b, s2, T, Tr, To, [1|C], C):- {To=Tr}. trans(s2, b, s0, T, Tr, To, [1|C], C):- {T - Tr < 20,To =Tr}. :-coinductive(driver/6). driver([X| R], Si, C1, Tr, T, [(X, T)| S]) :- trans(Si, X, Sj, T, Tr, To, C1, C2), {Ta > T}, driver(R, Sj, C2, To, Ta, S).

10 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 10 University of Texas at Dallas Neda Saeedloei, Gopal Gupta The Generalized Railroad Crossing Railroad crossing I lies in a region of interest R, i.e., I ⊆ R. A set of trains travel through R on multiple tracks in both directions. A sensor system determines when each train enters and exits region R. gate function g(t) Є [0, 90], –g(t) = 0 means the gate is down –g(t) = 90 means the gate is up. occupancy intervals: {λ i } The ith occupancy interval: λ i = [τ i, ν i ] Safety Property: t Є U i λ i →g(t) = 0 Utility Property: t ∉ U i [τ i – ξ 1, ν i + ξ 2 ] → g(t) = 90

11 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 11 University of Texas at Dallas Neda Saeedloei, Gopal Gupta The GRC Problem ε 1, a lower bound on the time from when a train enters R until it reaches I. ε 2, an upper bound on the time from when a train enters R until it reaches I. γ down, an upper bound on the time to lower the gate completely. γ up, an upper bound on the time to raise the gate completely. ξ 1, an upper bound on the time from the start of lowering the gate until some train is in I. ξ 2, an upper bound on the time from when the last train leaves I until the gate is up.

12 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 12 University of Texas at Dallas Neda Saeedloei, Gopal Gupta GRC Problem 1-Track Generalized Railroad Crossing Problem –One track, unspecified number of trains GRC Problem –Arbitrary number of tracks, unspecified number of trains

13 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 13 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Track Automaton

14 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 14 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Gate Automaton

15 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 15 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Controller Automaton

16 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 16 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Track Automata ε 1 = 2, ε 2 = 3, γ down = 1, γ up = 2, ξ 1 = 2, ξ 2 = 3 track(s0, approach, s1, GT, TI, TO, L) :- {TO = GT}. track(s1, in, s2, GT, TI, TO, L) :- {GT - TI > 2, GT - TI < 3, TO = TI}. track(s2, approach, s3, GT, TI, TO, L) :- {TO = GT}. track(s4, in, s2, GT, TI, TO, L) :- {GT - TI > 2, GT - TI < 3, TO = TI}. track(s3, exit, s4, GT, TI, TO, L) :- first(L, First), {GT - First < 5, TO = TI}. track(s2, exit, s0, GT, TI, TO, L) :- first(L, First), {GT - First < 5, TO = TI}. track(X, lower, X, GT, TI, TI, L). track(X, down, X, GT, TI, TI, L). track(X,up, X, GT, TI, TI, L). track(X, raise, X, GT, TI, TI, L).

17 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 17 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Gate Automaton gate(s0, lower, s1, GT, TI, TO) :- {TO = GT}. gate(s1, down, s2, GT, TI, TO) :- {TO = TI, GT - TI < 1}. gate(s2, raise, s3, GT, TI, TO) :- {TO = GT}. gate(s3, up, s0, GT, TI, TO) :- {TO = TI, GT - TI < 2}. gate(X, approach, X, GT, TI, TI). gate(X, in, X, GT, TI, TI). gate(X, exit, X, GT, TI, TI).

18 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 18 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Controller Automaton contr(s0, approach, C1, C2, s1, GT, TI, TO) :- C2 is C1 + 1, {TO = GT}. contr(s1, lower, C1, C1, s2, GT, TI, TO) :- {GT - TI = 1, TO = TI}. contr(s2, approach, C1, C2, s2, GT, TI, TO) :- C2 is C1 + 1, {TO = TI}. contr(s3, approach, C1, C2, s2, GT, TI, TO) :- C2 is C1 + 1, {TO = TI}. contr(s3, raise, C1, C1, s0, GT, TI, TO) :- {GT - TI < 1, TO = TI}. contr(s2, exit, C1, C2, s3, GT, TI, TO):- C1 = 1, C2 is C1 - 1, {TO = GT}. contr(s2, exit, C1, C2, s2, GT, TI, TO):- C1 > 1, C2 is C1 - 1, {TO = TI}. contr(s2, in,C1,C1,s2,GT,TI,TI). contr(s0,up,C1,C1,s0,GT,TI,TI). contr(s2,down,C1,C1,s2,GT,TI,TI).

19 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 19 University of Texas at Dallas Neda Saeedloei, Gopal Gupta The driver predicate The driver predicate composes three automata driver(C1,ST,SC,SG,GT,CT,CC,CG,[X|Rest],Resets,[(X,GT)|R]) :- track(ST, X, STO, GT, CT, CTO, Resets), contr(C1, SC, X, C2, SCO, GT, CC, CCO), gate(SG, X, SGO, GT, CG, CGO), {TA > GT}, (X = approach -> add-to-list(GT, Resets, NewResets); (X = exit -> delete-first(Resets, NewResets); NewResets = Resets)), driver(C2,STO,SCO,SGO,TA,CTO,CCO,CGO,Rest,NewResets,R).

20 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 20 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Safety and Utility Properties firstinbeforedown(X) :- driver(0, s0, s0, s0, 0, 0, 0, 0, X, [], R), append(B, [(in, _) | _], R), append([(approach, 0)], A, B), \+member(down, A). inbeforedown(X) :- driver(0, s0, s0, s0, 0, 0, 0, 0, X, [], R), append(C, [(in, _) | _], R), append(A, B, C), append(_, [(up, _)], A), \+member((down, _), B). utility(X) :- driver(0, s0, s0, s0, 0, 0, 0, 0, X, [], R), append(A, B, R), member([(down, _)], A), \+member((in, _), B).

21 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 21 University of Texas at Dallas Neda Saeedloei, Gopal Gupta The GRC Problem contr(C1, s1, approach, C2, s1, GT, TI, TO):- C2 is C1 + 1, {TO = TI}.

22 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 22 University of Texas at Dallas Neda Saeedloei, Gopal Gupta The driver predicate for GRC problem driver(C1, NoTracks, SC, SG, GT, CC, CG, [X|Rest], Tracks, TrkResets, Trains, [(X,Track,GT)|R]):- contr(C1, SC, X, C2, SCO, GT, CC, CCO), gate(SG, X, SGO, GT, CG, CGO), {TA > GT}, ((X = approach, N is NoTracks + 1, random(1, N, Track); (X=in; X=exit), member(Track, Trains))-> nthElement(Track, Tracks, Trk), arg(1, Trk, CT), arg(2, Trk, ST), nthElement(Track, TrkResets, TrkReset), train(Track, ST, X, STO, GT, CT, CTO, TrkReset), update(Track, Tracks, (CTO,STO), NewTracks), (X = approach -> add-to-list(GT, TrkReset, NewTrk), update(Track, TrkResets, NewTrk, NewTrkResets), add-to-list(Track, Trains, NewTrains); (X = exit -> delete-first(TrkReset, NewTrk), update(Track, TrkResets, NewTrk, NewTrkResets), delete-first(Track, Trains, NewTrains); NewTrkResets = TrkResets, NewTrains = Trains)); NewTrkResets = TrkResets, NewTrains = Trains, NewTracks = Tracks), driver(C2, NoTracks, SCO, SGO, TA, CCO, CGO, Rest, NewTracks, NewTrkResets, NewTrains, R).

23 Advanced Logic Programming-Languages and Systems (ALPS) Lab @ UTD Slide- 23 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Conclusions Automata based real-time formalisms –Timed automata –Timed transition systems –Discrete pushdown timed automata –Pushdown timed automata with dense clocks Solutions for GRC problem –A solution based on ESTEREL programming languag e Time is discretized The number of trains is chosen at compile time Verifying safety properties is extremely complex –UPPAAL Based on timed automata formalism


Download ppt "Advanced Logic Programming-Languages and Systems (ALPS) UTD Slide- 1 University of Texas at Dallas Neda Saeedloei, Gopal Gupta Verifying Complex."

Similar presentations


Ads by Google