170 likes | 284 Views
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
E N D
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 • M , S : Finite Automata • M : Pushdown Automaton, S : Finite Automaton • M , S : Pushdown Automata • Possible extensions • Timed constraints ? • S : beyond finite automata ?
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)
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)
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.
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.
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
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
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)
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.
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 ?
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)
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, …
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)
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.
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’)
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.