1 / 17

Event-Clock Visibly Pushdown Automata

Event-Clock Visibly Pushdown Automata. Mizuhito Ogawa (JAIST) with Nguyen Van Tang SOFSEM 2009.1.27. OK. Model checking as an inclusion problem. Paths generated by a model M is those that allowed by a specification S L( M ) ⊆ L( S ) ⇔ L( M ) ∩ L( S ) C = φ Possible combinations

denim
Download Presentation

Event-Clock Visibly Pushdown Automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Event-Clock Visibly Pushdown Automata Mizuhito Ogawa (JAIST) with Nguyen Van Tang SOFSEM 2009.1.27

  2. OK Model checking as an inclusion problem • Paths generated by a model M is those that allowed by a specification S • L(M) ⊆ L(S) ⇔ L(M) ∩ L(S)C = φ • Possible combinations • M , S : Finite Automata • M : Pushdown Automaton, S : Finite Automaton • M , S : Pushdown Automata • Possible extensions • Timed constraints ? • S : beyond finite automata ?

  3. y>5? y≦5? x:=0 y:=0 x<1? x≧1? y≦5?; y:=0 y≦5?; y:=0 y≦5? y>5? Dense time Timed automata (Alur, et.al. 94) press • Press quickly twice, it will enter to “menu”. • Add time constraints : e.g., quickly = “less-than 1” • It sleeps (“Off”) when left “more-than 5”. • Remark: Time constraints contains integers only. next Off press On press Menu press Accepts: (press,2) (press, 2.5) (next,3) (next,4.4) (press,8)

  4. Decidable properties of Timed Automata • Boolean operations • Decidable: Union, intersection, emptiness • Undecidable: Complement, universality (2 clocks) • Inclusion L(M) ⊆ L(S) • S has ≦1 clock : decidable (Ouaknine, et.al. 04) • S has >1 clocks : undecidable (Alur, et.al. 94)

  5. Event-clock automata (Alur, et.al. 94) • Def. The event-clock for a∈Σ is a pair of clocks xa, ya • xa : event-recording ⇔record time since last “a” • ya : event-predicting ⇔ record time until next “a” a b e.g., b b a a q0 q1 q2 q0 q1 q2 yb<1 xa=1 L1= {(a,t1)(b,t2)…(b,tn)| tn–t1=1} L2={(a,t1)…(a,tn-1)(b,tn) | tn– t1<1} • e.g., Spec. like “ack must come in 1” can bedescribed.

  6. Properties of ECA • Boolean operations • Decidable : all boolean operations. • Determinizable (subset construction works) • Language class relation • ECA ⊂ TA (An ECA can be encoded as a TA.) • The class of ECA is incomparable to the class of deterministic TA.

  7. Memorize event-predicting constraints “z(ya~c)~c is valid”. (i.e., next “a” has not yet read.) 0 z(ya~c) c Encoding ECA to TA (Alur, et.al. 94) • Event-recording clocks CR = { xa | a∈Σ } • Reset xa∈CR when “a” is read. • Event-predicting clocks CP = { ya | a∈Σ } • Let ΦP be the set of all event-predicting constraints. • The set Q of states enlarged to Q×ΦP. • Add fresh clocksz(ya~c) for each ya~c ∈ΦP. ya c 0 “ya~c” made “a” read

  8. Interval alphabet (D’Souza 03) • Def. Interval alphabet Π = Σ× Intv|CΣ| where • CΣ = { xa, ya | a ∈Σ} : clocks • Intv ={ [ri,ri], (ri,ri+1), (rn,∞) | 0 ≦ r1< … < rn } • Notation. Let ν(ai,ti) be a vector of clock values at ti • uw((a1,t1)…(an,tn)) = (a1,I1)…(an,In) with ν(ai,ti) ∈ Ii • tw((a1,I1)…(an,In)) = { (a1,t1)…(an,tn) | ν(ai,ti) ∈ Ii } • Lemma. If ν(ti) depends only on an input timed word • For v∈Π*, tw(v) ≠φ implies uw(tw(v)) = v • For a timed word w, w∈tw(uw(w)) All integers appearing in event-clock constraints

  9. Untimed Translation Translate event-clock constraints to interval alphabet e.g., Intv = {[0,0], (0,5), [5,5], (5,10), [10,10], (10,∞)} C = { xa, ya } (a,([0,0],*)) (a,((0,5),*)) q0 q1 q1 a, xa<10 (a,([5,5],*)) q0 (a,((5,10),*)) q2 b, ya >5 (b,(*,(5,10))) q0 q2 (b,(*,[10,10])) M (b,(*,(10,∞))) ut(M)

  10. Timed Translations Translate Interval alphabet to event-clock constraints a, (5<xa∧xa<10)? (a,(5,10)) q0 q2 q0 q2 ut(M) ec(ut(M)) Lemma. L(ec(ut(M))) = L(M) for an ECA M.

  11. OK Model checking as an inclusion problem (again) • Paths generated by a model M is those that allowed by a specification S • L(M) ⊆ L(S) ⇔ L(M) ∩ L(S)C = φ • Possible combinations • M , S : Finite Automata • M : Pushdown Automaton, S : Finite Automaton • M , S : Pushdown Automata • Possible extensions • Timed constraints ? → Event-clock constraints • S : beyond finite automata ?

  12. Visibly Pushdown Automata (Alur, et.al. 04) X q’ Y ac / X ac∈Σc (call) • Visibility implies height-deterministic and synchronous. (Only an input word decides the stack height.) → Product construction (intersection) works! Z Classification is universal (visibility) q’ q Y Y ai Z ai∈Σi (local) Z ar / Y q’ Z ar∈Σr (return)

  13. Visibly pushdown languages (VPL) • VPL examples • {an bn } (with a∈Σc, b∈Σr ) • Dyck language (well-balanced parantheses) (with left/right parantheses as in Σc / Σr) e.g. ( .. [ .. (..) .. ] .. ) OK, ( .. [ .. { .. ] .. } .. ) no. • VPL is a proper subclass of DPDA • {an b an } is not a VPL. • words with equal number of a and b is not a VPL, e.g., abab, abba, baab, …

  14. Properties of VPA and TVPA (Timed VPA) • Boolean operations (of VPA) • Decidable : all boolean operations • Determinizable • Boolean operations (of TVPA) • Decidable : union, intersection, emptiness • Undecidable: Complement, universality (1 clock) • Inclusion L(M) ⊆ L(S) • M,S : (untimed) VPA decidable • M: TVPA, S: TVPA undecidable (Emmi, et.al. 06)

  15. Event-Clock Visibly Pushdown Automata Def. ECVPA = VPA + event clock constraints • Proof (idea): L(M)⊆L(S) ⇔ L(M)∩ L(ec(ut(S)c)) = φ S : ECVPA (untimed translation) • ut(S) : VPA (complement) • ut(S)c : VPA (timed translation) • ec(ut(S)c) : ECVPA with L(S)c = L(ec(ut(S)c)) Th 1. The inclusion problem for ECVPAs is decidable.

  16. Inclusion between TVPA and ECVPA Th 2. For a TVPA M and an ECVPA S, the inclusion problem L(M) ⊆ L(S) is decidable. • Proof (idea) : L(M) ⊆ L(S) ⇔ L(M) ∩ L(S’) = φ S : ECVPA (untimed translation) • ut(S) : VPA (complement) • ut(S)c : VPA (timed translation) • ec(ut(S)c) : ECVPA (encoding EC-constraints) • S’ : TVPA with L(S)c = L(S’)

  17. Conclusion • We showed that L(M) ⊆ L(S) • M, S: ECVPA decidable • M: TVPA, S: ECVPAdecidable • Compare : L(M) ⊆ L(S) when S has 1 clock • M, S: TA decidable (Oukline, et.al.04) • M, S: TVPA undecidable (Emmi, et.al. 06) • M, S: Buchi TA undecidable (Abdulla, et.al. 05) • Simple untimed / timed translations avoid complex subset construction argument of VPA. • Buchi extensions of ECVPA are straight forward.

More Related