Safety Properties for Querying XML Streams

Size: px
Start display at page:

Download "Safety Properties for Querying XML Streams"

Transcription

1 Safety Properties for Querying XML Streams Olivier Gauwin University of Mons joint work with: J. Niehren, S. Tison, M. Benedikt and G. Puppis Workshop on Timed and Infinite Systems Warwick March 30th, 2010 Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

2 XML A Format for Semi-Structured Data XML Document <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... </title> </book> <book>. author. </book> Hopcroft <book>. </book> </bib> Corresponding Tree bib book book book author title Ullman Introduction... Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

3 XML A Format for Semi-Structured Data XML Document <bib> Corresponding Tree bib </bib> Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

4 XML A Format for Semi-Structured Data <bib> <book> XML Document Corresponding Tree bib </book> <book> book book book </book> <book> </book> </bib> Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

5 XML A Format for Semi-Structured Data XML Document <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... </title> </book> <book>. author. </book> Hopcroft <book>. </book> </bib> Corresponding Tree bib book book book author title Ullman Introduction... Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

6 XML A Format for Semi-Structured Data XML Document <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... </title> </book> <book>. author. </book> Hopcroft <book>. </book> </bib> Corresponding Tree bib book book book author title Ullman Introduction... finite labeled ordered unranked trees Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

7 Streaming process data on-the-fly objective: low memory consumption (buffering) use cases: huge data (larger than main memory) natural stream sources: network sockets sensors subscribed feeds etc. Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

8 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... </title> </book> <book> book bib book. </book> </bib> author Hopcroft author Ullman title Introduction Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

9 XML Streams <bib> bib Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

10 XML Streams <bib> <book> bib book Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

11 XML Streams <bib> <book> <author> bib book author Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

12 XML Streams <bib> <book> <author> Hopcroft bib book author Hopcroft Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

13 XML Streams <bib> <book> <author> Hopcroft </author> bib book author Hopcroft Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

14 XML Streams <bib> <book> <author> Hopcroft </author> <author> bib book author author Hopcroft Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

15 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman bib book author author Hopcroft Ullman Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

16 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman </author> bib book author author Hopcroft Ullman Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

17 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> book bib author author title Hopcroft Ullman Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

18 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... book bib author author title Hopcroft Ullman Introduction... Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

19 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... </title> book bib author author title Hopcroft Ullman Introduction... Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

20 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... </title> </book> book bib author author title Hopcroft Ullman Introduction... Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

21 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... </title> </book> <book> book bib book. </book> author author title... Hopcroft Ullman Introduction... Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

22 XML Streams <bib> <book> <author> Hopcroft </author> <author> Ullman </author> <title> Introduction... </title> </book> <book> book bib book. </book> </bib> author Hopcroft author Ullman title Introduction Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

23 Data exchange html body bib table book book tr tr author author title... td td td... Hopcroft Ullman Hopcroft Ullman Introduction... b Introduction... conform to schema 1 conform to schema 2 requires transformations usually based on selection of tuples of nodes via queries Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

24 Queries Queries A query Q selects a set of nodes in every tree t: Q(t) nodes(t) For instance, for Q = select the first author of each book bib book book author author title author title Hopcroft Ullman Introduction... Knuth The art of CP Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

25 Objectives process queries defined by: XPath expressions (W3C) tree automata in an earliest manner: select nodes as soon as possible reject nodes as soon as possible Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

26 Objectives process queries defined by: XPath expressions (W3C) tree automata in an earliest manner: select nodes as soon as possible reject nodes as soon as possible Consider Q = select authors of The Art of CP bib book book author author title author title Hopcroft Ullman Introduction... Knuth The art of CP Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

27 Objectives process queries defined by: XPath expressions (W3C) tree automata in an earliest manner: select nodes as soon as possible reject nodes as soon as possible Consider Q = select authors of The Art of CP bib book book author author title author title Hopcroft Ullman Introduction... Knuth The art of CP schemas may help Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

28 In this talk 1 we focus on the simpler case of filtering A filter F expresses some properties of trees specification φ in verification example: validation wrt a schema: DTD, XML Schema, Relax NG XPath filters evaluation Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

29 In this talk 1 we focus on the simpler case of filtering A filter F expresses some properties of trees specification φ in verification example: validation wrt a schema: DTD, XML Schema, Relax NG XPath filters evaluation 2 we only deal with filters defined by tree automata schemas are tree automata XPath tree automata: in PTIME for most streamable XPath expressions Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

30 In this talk 1 we focus on the simpler case of filtering A filter F expresses some properties of trees specification φ in verification example: validation wrt a schema: DTD, XML Schema, Relax NG XPath filters evaluation 2 we only deal with filters defined by tree automata schemas are tree automata XPath tree automata: in PTIME for most streamable XPath expressions The task becomes: Given a tree automaton A, and a tree t accessed in streaming, detect at the earliest position, whether t L(A). Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

31 In this talk 1 we focus on the simpler case of filtering A filter F expresses some properties of trees specification φ in verification example: validation wrt a schema: DTD, XML Schema, Relax NG XPath filters evaluation 2 we only deal with filters defined by tree automata schemas are tree automata XPath tree automata: in PTIME for most streamable XPath expressions The task becomes: Given a tree automaton A, and a tree t accessed in streaming, detect at the earliest position, whether t L(A). online verification ([Kupferman and Vardi (2001)]: earliest rejection) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

32 Hardness Task: Given a tree automaton A, and a tree t accessed in streaming, detect at the earliest position, whether t L(A). t e harder than universality of A consider the starting event Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

33 Hardness Task: Given a tree automaton A, and a tree t accessed in streaming, detect at the earliest position, whether t L(A). t e t harder than universality of A consider the starting event Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

34 Earliest Validation vs Earliest Rejection in this talk, we consider earliest validation (t L(A)?) do all continuations succeed? but not earliest rejection (t / L(A)?) do all continuations fail? Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

35 Earliest Validation vs Earliest Rejection in this talk, we consider earliest validation (t L(A)?) do all continuations succeed? but not earliest rejection (t / L(A)?) do all continuations fail? these problems are different! earliest validation = are all accessible configurations accepting? earliest rejection = is there an accessible accepting configurations? Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

36 Outline 1 Visibly Pushdown Automata (VPAs) as tree automata Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

37 Outline 1 Visibly Pushdown Automata (VPAs) as tree automata 2 Algorithm 1 for earliest validation propagation of safe states [Gauwin et al. (2009b)] Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

38 Outline 1 Visibly Pushdown Automata (VPAs) as tree automata 2 Algorithm 1 for earliest validation propagation of safe states [Gauwin et al. (2009b)] 3 Algorithm 2 for earliest validation reachability of configurations inspired from pushdown systems [Bouajjani et al. (1997)] Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

39 1 Introduction 2 Visibly Pushdown Automata 3 Algorithm 1: Propagation of Safe States 4 Algorithm 2: Reachability of Configurations 5 Conclusion Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

40 Visibly Pushdown Automata recent model [Alur and Madhusudan (2004), Alur and Madhusudan (2009)] a pushdown automaton over Σ Σ visible means that 1 action (push/pop) is performed by each letter: rules using a Σ only push rules using a Σ only pop Visibly Pushdown Automaton (VPA) A VPA is a tuple (Q,I,F,Γ,,Σ Σ) with I,F Q and is a set of rules with the form: q 1,a γ,q 2 written as q 1 a:γ q 2 q 1,a,γ q 2 written as q 1 a:γ q 2 with q 1,q 2 Q, a Σ, a Σ, γ Γ. The semantics is defined as for usual pushdown automata (ends on final states, not on empty stack). Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

41 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} 5 Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

42 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} (0, ) 5 a 0 a b b Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

43 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} (0, ) a (1,α) 5 a 0 1 α a b b Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

44 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} 1 (0, ) a (1,α) a (1,α.β) 5 β a 0 1 α a b b Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

45 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} 1 (0, ) a (1,α) a (1,α.β) b (4, α.β.β) 5 4 β a β b 0 1 α a b Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

46 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} 1 (0, ) a (1,α) a (1,α.β) b (4, α.β.β) b (3,α.β) 5 4 β a β b α a b Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

47 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} 1 (0, ) a (1,α) a (1,α.β) b (4, α.β.β) b (3,α.β) a (2,α) 5 4 β a β b α a b Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

48 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} 1 (0, ) a (1,α) a (1,α.β) b (4, α.β.β) b (3,α.β) a (2,α) b (4,α.γ) 5 4 β a β b α a 2 4 γ b Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

49 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} 1 (0, ) a (1,α) a (1,α.β) b (4, α.β.β) b (3,α.β) a (2,α) b (4,α.γ) b (3,α) 5 4 β a β b α a 2 4 Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34 γ b 3

50 VPAs as Tree Automata a run of a VPA on a tree consists in: when opening node n: update the current state, and assign γ Γ to n when closing node n: update the current state according to γ a β b β a α a b b a 0 α β γ β b γ A: VPA on T Σ with Σ = {a,b} and Q = {0,1,2,3,4,5} and Γ = {α,β,γ} 1 (0, ) a (1,α) a (1,α.β) b (4, α.β.β) b (3,α.β) a (2,α) b (4,α.γ) b (3,α) a (5, ) 5 4 β a β b α a 2 4 Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34 5 γ b 3

51 VPAs: related models From now on, we will consider VPAs as tree automata. Other equivalent models (in expressiveness): nested word automata [Alur (2007)]: reformulation of VPAs pushdown forest automata [Neumann and Seidl (1998)]: VPAs on forests (i.e. hedges) streaming tree automata [Gauwin et al. (2008)]: VPAs on trees Translations in [Gauwin (2009)] (and also from DTDs, stepwise tree automata...) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

52 VPA: determinism determinism of VPAs corresponds to determinism along the XML stream in the sequel we only consider filters defined by deterministic VPAs (dvpas) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

53 1 Introduction 2 Visibly Pushdown Automata 3 Algorithm 1: Propagation of Safe States 4 Algorithm 2: Reachability of Configurations 5 Conclusion Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

54 E A : a VPA for earliest validation A E A dvpa VPA defines the filter F defines the filter F detects validity Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

55 E A : a VPA for earliest validation A E A dvpa VPA defines the filter F defines the filter F detects validity states of E A are of the form (q,s) where: q QA S QA are safe states for validation, i.e., Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

56 E A : a VPA for earliest validation A E A dvpa VPA defines the filter F defines the filter F detects validity states of E A are of the form (q,s) where: q QA S QA are safe states for validation, i.e., if r(e) = (q,s) where r is a run of E A on t then t L(A) is sure at e iff q S Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

57 E A : a VPA for earliest validation A E A dvpa VPA defines the filter F defines the filter F detects validity states of E A are of the form (q,s) where: q QA S QA are safe states for validation, i.e., if r(e) = (q,s) where r is a run of E A on t then t L(A) is sure at e iff q S remark: for words, all states q are already safe or unsafe... Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

58 E A : a VPA for earliest validation A E A dvpa VPA defines the filter F defines the filter F detects validity states of E A are of the form (q,s) where: q QA S QA are safe states for validation, i.e., if r(e) = (q,s) where r is a run of E A on t then t L(A) is sure at e iff q S remark: for words, all states q are already safe or unsafe......but not for VPAs: it depends on the context (i.e. the stack) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

59 Earliest Validation with a VPA Safe States via Propagation Rules a a b b a b a Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

60 Earliest Validation with a VPA Safe States via Propagation Rules a S 0 a b b a b a (R1) safe(,root) = F A Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

61 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 q γ l close A l,γ (q ) a b h q = acc A h (q) b a b a (R1) safe(,root) = F A (R2) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

62 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 a q l S 1 b S 1 γ h close A l,γ (q ) q = acc A h (q) b a b a (R1) safe(,root) = F A (R2) (R3) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} safe(,n) = S n nodes(t) n.i nodes(t) safe(,n.i) = S Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

63 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 S 2 a S 1 b S 1 b a b a (R1) safe(,root) = F A (R2) (R3) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} safe(,n) = S n nodes(t) n.i nodes(t) safe(,n.i) = S Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

64 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 S 2 a S 1 b S 1 b S 2 a b a (R1) safe(,root) = F A (R2) (R3) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} safe(,n) = S n nodes(t) n.i nodes(t) safe(,n.i) = S Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

65 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 S 2 a S 1 b S 1 S 3 b S 2 a b a (R1) safe(,root) = F A (R2) (R3) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} safe(,n) = S n nodes(t) n.i nodes(t) safe(,n.i) = S Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

66 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 S 2 a S 1 S 4 b S 1 S 3 b S 2 a b a (R1) safe(,root) = F A (R2) (R3) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} safe(,n) = S n nodes(t) n.i nodes(t) safe(,n.i) = S Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

67 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 S 2 a S 1 S 4 b S 1 S 3 b S 2 a S 4 b S 4 a S 4 (R1) safe(,root) = F A (R2) (R3) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} safe(,n) = S n nodes(t) n.i nodes(t) safe(,n.i) = S Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

68 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 S 2 a S 1 S 4 b S 1 S 3 b S 2 S 5 a S 4 S 6 b S 4 S 7 a S 4 (R1) safe(,root) = F A (R2) (R3) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} safe(,n) = S n nodes(t) n.i nodes(t) safe(,n.i) = S Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

69 Earliest Validation with a VPA Safe States via Propagation Rules S 1 a S 0 S 2 a S 1 S 4 b S 1 S 3 b S 2 S 5 a S 4 S 6 b S 4 S 7 a S 4 (R1) safe(,root) = F A (R2) (R3) safe(,n) = S n nodes(t) l = lab t (n) γ = r A (n) safe(,n) = {q h. close A l,γ acc A h (q) S} safe(,n) = S n nodes(t) n.i nodes(t) safe(,n.i) = S we can do this with a VPA! Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

70 Computing Runs of E A Problem: E A is in O(2 A ) Efficient implementation A is deterministic E A is deterministic we don t build E A, but its runs on the fly to do so, we compute the safe states in 2 steps precomputation of an accessibility relation (in PTIME) at reception of an event, use this relation to compute the safe states (in PTIME) drawback: computation of safe states cannot be stopped/resumed anywhere Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

71 1 Introduction 2 Visibly Pushdown Automata 3 Algorithm 1: Propagation of Safe States 4 Algorithm 2: Reachability of Configurations 5 Conclusion Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

72 Configurations of a VPA 0 1 α a 5 a β b β a α 0 a b b a α β γ β b 2 γ β a β b γ b 3 configurations of the VPA A: (q,w) with q Q A and w Γ A (0,) a (1,α) a (1,α.β) b (4,α.β.β)... b (4,α.γ) b (3,α) a (5,) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

73 Configurations of a VPA 0 1 α a 5 a β b β a α 0 a b b a α β γ β b 2 γ β a β b γ b 3 configurations of the VPA A: (q,w) with q Q A and w Γ A (0,) a (1,α) a (1,α.β) b (4,α.β.β)... b (4,α.γ) b (3,α) a (5,) when running on trees: (q,w) with q Q A and w (Γ A Σ) (0,) a (1,(α,a)) a (1,(α,a).(β,a))... b (3,(α,a)) a (5,) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

74 Regular Sets of Configurations VPA A: : λ a : λ c : λ a : β c : β b : a : 0 q b 1 : β c : λ b : c : β : λ : A set of configurations C of A is regular if there exists an NFA N such that L conf (N) = C. For instance, for C = {(0,),(q b,)} {(1,(β,a).(λ,b) n )} n 0 : NFA N: 0 s 1 (β, a) q b (λ,b) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

75 Configurations Reachability Given a VPA A, pre A (C) = {c c C. c A c } Regularity Preservation pre A preserves regularity, i.e.: C regular pre (C) regular Computation of pre (C) An NFA recognizing pre (C) can be computed in PTIME from an NFA recognizing C. This also holds for pushdown automata [Bouajjani et al. (1997)]. Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

76 Earliest Validation, rephrased t can be safely validated at event e (wrt. A) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

77 Earliest Validation, rephrased t can be safely validated at event e (wrt. A) A accepts all possible continuations from current config. c Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

78 Earliest Validation, rephrased t can be safely validated at event e (wrt. A) A accepts all possible continuations from current config. c from c, there is no continuation leading to a failing config. Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

79 Earliest Validation, rephrased t can be safely validated at event e (wrt. A) A accepts all possible continuations from current config. c from c, there is no continuation leading to a failing config. c / pre A (C fail) with C fail = {(q,) q / F A } Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

80 Computing pre (C fail ) Let N fail be an NFA such that L(N fail ) = C fail. From N fail, we build N fail such that L(N fail ) = pre (C fail ). Saturation process, according to 2 inference rules: a : γ (γ,a) q q s A N fail N fail a : γ q q s A (γ,a) N fail N fail infered rule Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

81 Computing N fail from N fail Saturation algorithm 0 s 1 : λ a : λ c : λ a : β c : β b : 0 q b 1 : β c : λ b : c : β a : a : γ (γ,a) q q s A Nfail N fail : λ : q b N fail a : γ q q s A Nfail (γ,a) N fail Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

82 Computing N fail from N fail Saturation algorithm (λ,a) (λ,c) (β,a) (β,c) (,b) 0 (λ,c) (, ) s 1 (, ) : λ a : λ c : λ a : β c : β b : 0 q b 1 : β c : λ b : c : β a : a : γ (γ,a) q q s A Nfail : λ : q b (,b) (,b) (,c) (,a) N fail a : γ q q s A Nfail (γ,a) N fail Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

83 Computing N fail from N fail Saturation algorithm (λ,a) (λ,c) (β,a) (β,c) (,b) 0 (λ,c) (, ) s 1 (, ) : λ a : λ c : λ a : β c : β b : 0 q b 1 : β c : λ b : c : β a : a : γ (γ,a) q q s A Nfail : λ : (,b) (,c) N fail q b (,b) (,a) a : γ q q s A Nfail (γ,a) N fail Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

84 Computing N fail from N fail Saturation algorithm (λ,a) (λ,c) (β,a) (β,c) (,b) (λ,a) (λ,c) 0 q b (λ,c) (, ) (,b) (,c) (,b) (,c) s (β,a) (β,c) (,b) 1 (,a) (,b) (, ) : λ a : λ c : λ a : β c : β b : 0 q b 1 : β c : λ b : c : β a : a : γ (γ,a) q q s A Nfail N fail a : γ q q s A Nfail (γ,a) N fail : λ : Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

85 Computing N fail from N fail Saturation algorithm (λ,a) (λ,c) (β,a) (β,c) (,b) (λ,a) (λ,c) 0 q b (λ,c) (, ) (,b) (,c) (,b) (,c) s (β,a) (β,c) (,b) 1 (,a) (,b) (, ) : λ a : λ c : λ a : β c : β b : 0 q b 1 : β c : λ b : c : β a : a : γ (γ,a) q q s A Nfail N fail a : γ q q s A Nfail (γ,a) N fail : λ : Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

86 Computing N fail from N fail Saturation algorithm (λ,a) (λ,c) (β,a) (β,c) (,b) (λ,a) (λ,c) 0 q b (λ,c) (, ) (,b) (,c) (,b) (,c) s (β,a) (β,c) (,b) (λ, ) 1 (,a) (,b) (,c) (, ) : λ a : λ c : λ a : β c : β b : 0 q b 1 : β c : λ b : c : β a : a : γ (γ,a) q q s A Nfail N fail a : γ q q s A Nfail (γ,a) N fail : λ : Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

87 Example Run and Analysis (β,a) (β,c) (,b) (λ,a) (λ,c) 0 q b (λ,a) (λ,c) (λ,c) (,b) (,c) (, ) (,b) (,c) s N fail (β,a) (β,c) (,b) (λ, ) 1 (,a) (,b) (,c) (, ) : λ a : λ c : λ a : β c : β b : 0 q b 1 c b : β c : λ b a b b : c : β a : : λ : a a Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

88 Example Run and Analysis (β,a) (β,c) (,b) (λ,a) (λ,c) 0 q b (λ,a) (λ,c) (λ,c) (,b) (,c) (, ) (,b) (,c) s N fail (β,a) (β,c) (,b) (λ, ) 1 (,a) (,b) (,c) (, ) : λ a : λ c : λ a : β c : β b : 0 q b 1 : β c : λ 0 λ 0 c 0 0 λ 0 b qb λ 0 b 1 λ 0 a 1 b : c : β λ b qb a : : λ : β 0 a q b λ 0 a 0 Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

89 Remarks synthesis of bad continuations Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

90 Remarks synthesis of bad continuations flexibility: verification can be performed/stopped at any time point (garbage collector) Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

91 Beyond dvpas earliest validation earliest rejection dvpas PTIME PTIME VPAs EXPTIME-complete PTIME dpdas PTIME PTIME PDAs undecidable PTIME Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

92 1 Introduction 2 Visibly Pushdown Automata 3 Algorithm 1: Propagation of Safe States 4 Algorithm 2: Reachability of Configurations 5 Conclusion Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

93 Perspectives experimental comparison between both algorithms work in progress (EvoXs [Gauwin et al. (2009a)]) worst-case complexity is similar find efficient data structures/representations non-deterministic VPAs efficient techniques for earliest validation theoretical perspectives which class is tractable when allowing EXPTIME precomputation? which restrictions on logics (MSO, XPath, etc.) ensure tractability? Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

94 Safety Properties for Querying XML Streams Olivier Gauwin University of Mons joint work with: J. Niehren, S. Tison, M. Benedikt and G. Puppis Workshop on Timed and Infinite Systems Warwick March 30th, 2010 Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

95 References Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

96 [Alur (2007)] Rajeev Alur. Marrying words and trees. In 26th ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, pages ACM-Press, [Alur and Madhusudan (2004)] Rajeev Alur and P. Madhusudan. Visibly pushdown languages. In 36th ACM Symposium on Theory of Computing, pages ACM-Press, URL [Alur and Madhusudan (2009)] Rajeev Alur and P. Madhusudan. Adding nesting structure to words. Journal of the ACM, 56(3):1 43, URL [Bouajjani et al. (1997)] Ahmed Bouajjani, Javier Esparza, and Oded Maler. Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

97 Reachability analysis of pushdown automata: Application to model-checking. In 8th International Conference on Concurrency Theory, volume 1243 of Lecture Notes in Computer Science, pages Springer, [Gauwin (2009)] Olivier Gauwin. Streaming Tree Automata and XPath. PhD thesis, Université Lille 1, URL [Gauwin et al. (2008)] Olivier Gauwin, Joachim Niehren, and Yves Roos. Streaming tree automata. Information Processing Letters, 109(1):13 17, December URL [Gauwin et al. (2009a)] Olivier Gauwin, Christophe Munilla, Joachim Niehren, and Benoît Papegay. EvoXs project, 2009a. Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

98 [Gauwin et al. (2009b)] Olivier Gauwin, Joachim Niehren, and Sophie Tison. Earliest query answering for deterministic nested word automata. In 17th International Symposium on Fundamentals of Computer Theory, volume 5699 of Lecture Notes in Computer Science, pages Springer Verlag, 2009b. URL [Kupferman and Vardi (2001)] Orna Kupferman and Moshe Y. Vardi. Model checking of safety properties. Formal Methods in System Design, 19(3): , [Neumann and Seidl (1998)] Andreas Neumann and Helmut Seidl. Locating matches of tree patterns in forests. In 18th Conference on Foundations of Software Technology and Theoretical Computer Science, volume 1530 of Lecture Notes in Computer Science, pages Springer Verlag, Olivier Gauwin (UMons) Safety Properties for Querying XML Streams March 30th, / 34

XML Security Views. Queries, Updates, and Schema. Benoît Groz. University of Lille, Mostrare INRIA. PhD defense, October 2012

XML Security Views. Queries, Updates, and Schema. Benoît Groz. University of Lille, Mostrare INRIA. PhD defense, October 2012 XML Security Views Queries, Updates, and Schema Benoît Groz University of Lille, Mostrare INRIA PhD defense, October 2012 Benoît Groz (Mostrare) XML Security Views PhD defense, October 2012 1 / 45 Talk

More information

On Model Checking for Visibly Pushdown Automata

On Model Checking for Visibly Pushdown Automata Japan Institute of Advanced Industrial Science and Technology Research Center for Specification and Verification LATA 2012 On Model Checking for Visibly Pushdown Automata Nguyen Van Tang and Hitoshi Ohsaki

More information

Streamable Fragments of Forward XPath

Streamable Fragments of Forward XPath Streamable Fragments of Forward XPath Olivier Gauwin, Joachim Niehren To cite this version: Olivier Gauwin, Joachim Niehren. Streamable Fragments of Forward XPath. 16th International Conference on Implementation

More information

Regularity Problems for Visibly Pushdown Languages

Regularity Problems for Visibly Pushdown Languages Regularity Problems for Visibly Pushdown Languages Vince Bárány 1, Christof Löding 1, and Olivier Serre 2 1 RWTH Aachen, Germany 2 LIAFA, Université Paris VII & CNRS, France Abstract. Visibly pushdown

More information

Earliest Query Answering for Deterministic Nested Word Automata

Earliest Query Answering for Deterministic Nested Word Automata Earliest Query Answering for Deterministic Nested Word Automata Olivier Gauwin, Joachim Niehren, Sophie Tison To cite this version: Olivier Gauwin, Joachim Niehren, Sophie Tison. Earliest Query Answering

More information

Projection for Nested Word Automata Speeds up XPath Evaluation on XML Streams

Projection for Nested Word Automata Speeds up XPath Evaluation on XML Streams Projection for Nested Word Automata Speeds up XPath Evaluation on XML Streams Tom Sebastian, Joachim Niehren To cite this version: Tom Sebastian, Joachim Niehren. Projection for Nested Word Automata Speeds

More information

What You Must Remember When Processing Data Words

What You Must Remember When Processing Data Words What You Must Remember When Processing Data Words Michael Benedikt, Clemens Ley, and Gabriele Puppis Oxford University Computing Laboratory, Park Rd, Oxford OX13QD UK Abstract. We provide a Myhill-Nerode-like

More information

Visibly Pushdown Automata for Streaming XML

Visibly Pushdown Automata for Streaming XML Visibly Pushdown Automata for Streaming XML Viraj Kumar P. Madhusudan Mahesh Viswanathan University of Illinois at Urbana-Champaign Urbana, IL, USA {kumar, madhu, vmahesh}@cs.uiuc.edu ABSTRACT We propose

More information

CPS 220 Theory of Computation Pushdown Automata (PDA)

CPS 220 Theory of Computation Pushdown Automata (PDA) CPS 220 Theory of Computation Pushdown Automata (PDA) Nondeterministic Finite Automaton with some extra memory Memory is called the stack, accessed in a very restricted way: in a First-In First-Out fashion

More information

Reasoning about XML with Temporal Logics and Automata

Reasoning about XML with Temporal Logics and Automata Reasoning about XML with Temporal Logics and Automata Leonid Libkin 1 and Cristina Sirangelo 1,2 1 University of Edinburgh 2 LSV, ENS Cachan, INRIA Abstract. We show that problems arising in static analysis

More information

Computational Models - Lecture 4

Computational Models - Lecture 4 Computational Models - Lecture 4 Regular languages: The Myhill-Nerode Theorem Context-free Grammars Chomsky Normal Form Pumping Lemma for context free languages Non context-free languages: Examples Push

More information

Regular n-ary Queries in Trees and Variable Independence

Regular n-ary Queries in Trees and Variable Independence Regular n-ary Queries in Trees and Variable Independence Emmanuel Filiot Sophie Tison Laboratoire d Informatique Fondamentale de Lille (LIFL) INRIA Lille Nord-Europe, Mostrare Project IFIP TCS, 2008 E.Filiot

More information

Learning Automata for Streaming XML Documents

Learning Automata for Streaming XML Documents Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Logik und Theorie diskreter Systeme Prof. Dr. Dr. h.c. Wolfgang Thomas Diplomarbeit Learning Automata for Streaming XML Documents Daniel

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Review of CFG, CFL, ambiguity What is the language generated by the CFG below: G 1 = ({S,T 1,T 2 }, {0,1,2}, { S

More information

Symbolic Backwards-Reachability Analysis for Higher-Order Pushdown Systems

Symbolic Backwards-Reachability Analysis for Higher-Order Pushdown Systems Symbolic Backwards-Reachability Analysis for Higher-Order Pushdown Systems M. Hague C.-H. L. Ong Oxford University Computing Laboratory Wolfson Building, Parks Road, Oxford, UK, OX1 3QD Abstract. Higher-order

More information

Peter Wood. Department of Computer Science and Information Systems Birkbeck, University of London Automata and Formal Languages

Peter Wood. Department of Computer Science and Information Systems Birkbeck, University of London Automata and Formal Languages and and Department of Computer Science and Information Systems Birkbeck, University of London ptw@dcs.bbk.ac.uk Outline and Doing and analysing problems/languages computability/solvability/decidability

More information

Efficient Inclusion Checking for Deterministic Tree Automata and DTDs

Efficient Inclusion Checking for Deterministic Tree Automata and DTDs Efficient Inclusion Checking for Deterministic Tree Automata and DTDs Jérôme Champavère, Rémi Gilleron, Aurélien Lemay, and Joachim Niehren INRIA Futurs and Lille University, LIFL, Mostrare project Abstract.

More information

Note on winning positions on pushdown games with omega-regular winning conditions

Note on winning positions on pushdown games with omega-regular winning conditions Note on winning positions on pushdown games with omega-regular winning conditions Olivier Serre To cite this version: Olivier Serre. Note on winning positions on pushdown games with omega-regular winning

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 2 Define push down automata Trace the computation of a push down automaton Design

More information

Pushdown Automata (Pre Lecture)

Pushdown Automata (Pre Lecture) Pushdown Automata (Pre Lecture) Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2017 Dantam (Mines CSCI-561) Pushdown Automata (Pre Lecture) Fall 2017 1 / 41 Outline Pushdown Automata Pushdown

More information

Introduction to Tree Logics

Introduction to Tree Logics 1 / 26 Introduction to Tree Logics Pierre Genevès CNRS (slides mostly based on the ones by W. Martens and T. Schwentick) University of Grenoble, 2014 2015 2 / 26 Why Logic? Tree automaton algorithm Logical

More information

Certain Query Answering on Compressed String Patterns: From Streams to Hyperstreams

Certain Query Answering on Compressed String Patterns: From Streams to Hyperstreams Certain Query Answering on Compressed String Patterns: From Streams to Hyperstreams Iovka Boneva, Joachim Niehren, Momar Sakho To cite this version: Iovka Boneva, Joachim Niehren, Momar Sakho. Certain

More information

CDS 270 (Fall 09) - Lecture Notes for Assignment 8.

CDS 270 (Fall 09) - Lecture Notes for Assignment 8. CDS 270 (Fall 09) - Lecture Notes for Assignment 8. ecause this part of the course has no slides or textbook, we will provide lecture supplements that include, hopefully, enough discussion to complete

More information

Pushdown Module Checking with Imperfect Information

Pushdown Module Checking with Imperfect Information Pushdown Module Checking with Imperfect Information Benjamin Aminof 1, Aniello Murano 2, and Moshe Y. Vardi 3 1 Hebrew University, Jerusalem 91904, Israel. 2 Università degli Studi di Napoli Federico II,

More information

Theory of Computation

Theory of Computation Theory of Computation COMP363/COMP6363 Prerequisites: COMP4 and COMP 6 (Foundations of Computing) Textbook: Introduction to Automata Theory, Languages and Computation John E. Hopcroft, Rajeev Motwani,

More information

Simplification of finite automata

Simplification of finite automata Simplification of finite automata Lorenzo Clemente (University of Warsaw) based on joint work with Richard Mayr (University of Edinburgh) Warsaw, November 2016 Nondeterministic finite automata We consider

More information

Alternating nonzero automata

Alternating nonzero automata Alternating nonzero automata Application to the satisfiability of CTL [,, P >0, P =1 ] Hugo Gimbert, joint work with Paulin Fournier LaBRI, Université de Bordeaux ANR Stoch-MC 06/07/2017 Control and verification

More information

A Functional Language for Hyperstreaming XSLT

A Functional Language for Hyperstreaming XSLT A Functional Language for Hyperstreaming XSLT Pavel Labath 1, Joachim Niehren 2 1 Commenius University, Bratislava, Slovakia 2 Inria Lille, France May 2013 Motivation some types of tree transformations

More information

Contributions to timed systems and transducers

Contributions to timed systems and transducers Contributions to timed systems and transducers Habilitation Thesis Mémoire d Habilitation à Diriger des Recherches Pierre-Alain Reynier Laboratoire d informatique fondamentale de Marseille Aix-Marseille

More information

Semi-Automatic Distributed Synthesis

Semi-Automatic Distributed Synthesis Semi-Automatic Distributed Synthesis Bernd Finkbeiner and Sven Schewe Universität des Saarlandes, 66123 Saarbrücken, Germany {finkbeiner schewe}@cs.uni-sb.de Abstract. We propose a sound and complete compositional

More information

Bridging the Gap between Reactive Synthesis and Supervisory Control

Bridging the Gap between Reactive Synthesis and Supervisory Control Bridging the Gap between Reactive Synthesis and Supervisory Control Stavros Tripakis University of California, Berkeley Joint work with Ruediger Ehlers (Berkeley, Cornell), Stéphane Lafortune (Michigan)

More information

FluXQuery: An Optimizing XQuery Processor

FluXQuery: An Optimizing XQuery Processor FluXQuery: An Optimizing XQuery Processor for Streaming XML Data Report by Cătălin Hriţcu (catalin.hritcu@gmail.com) International Max Planck Research School for Computer Science 1 Introduction While for

More information

Streaming Property Testing of Visibly Pushdown Languages

Streaming Property Testing of Visibly Pushdown Languages Streaming Property Testing of Visibly Pushdown Languages Nathanaël François Frédéric Magniez Michel de Rougemont Olivier Serre SUBLINEAR Workshop - January 7, 2016 1 / 11 François, Magniez, Rougemont and

More information

Automata-Theoretic LTL Model-Checking

Automata-Theoretic LTL Model-Checking Automata-Theoretic LTL Model-Checking Arie Gurfinkel arie@cmu.edu SEI/CMU Automata-Theoretic LTL Model-Checking p.1 LTL - Linear Time Logic (Pn 77) Determines Patterns on Infinite Traces Atomic Propositions

More information

Foundations of Informatics: a Bridging Course

Foundations of Informatics: a Bridging Course Foundations of Informatics: a Bridging Course Week 3: Formal Languages and Semantics Thomas Noll Lehrstuhl für Informatik 2 RWTH Aachen University noll@cs.rwth-aachen.de http://www.b-it-center.de/wob/en/view/class211_id948.html

More information

Part I: Definitions and Properties

Part I: Definitions and Properties Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States

More information

Node Query Preservation for Deterministic Linear Top-Down Tree Transducers

Node Query Preservation for Deterministic Linear Top-Down Tree Transducers Node Query Preservation for Deterministic Linear Top-Down Tree Transducers Kazuki Miyahara Nara Institute of Science and Technology Nara, Japan kazuki-mi@is.naist.jp Kenji Hashimoto Hiroyuki Seki Nagoya

More information

Pushdown Automata: Introduction (2)

Pushdown Automata: Introduction (2) Pushdown Automata: Introduction Pushdown automaton (PDA) M = (K, Σ, Γ,, s, A) where K is a set of states Σ is an input alphabet Γ is a set of stack symbols s K is the start state A K is a set of accepting

More information

Context-Free Languages

Context-Free Languages CS:4330 Theory of Computation Spring 2018 Context-Free Languages Pushdown Automata Haniel Barbosa Readings for this lecture Chapter 2 of [Sipser 1996], 3rd edition. Section 2.2. Finite automaton 1 / 13

More information

CMP 309: Automata Theory, Computability and Formal Languages. Adapted from the work of Andrej Bogdanov

CMP 309: Automata Theory, Computability and Formal Languages. Adapted from the work of Andrej Bogdanov CMP 309: Automata Theory, Computability and Formal Languages Adapted from the work of Andrej Bogdanov Course outline Introduction to Automata Theory Finite Automata Deterministic Finite state automata

More information

Languages, regular languages, finite automata

Languages, regular languages, finite automata Notes on Computer Theory Last updated: January, 2018 Languages, regular languages, finite automata Content largely taken from Richards [1] and Sipser [2] 1 Languages An alphabet is a finite set of characters,

More information

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova. Introduction to the Theory of Computation Automata 1VO + 1PS Lecturer: Dr. Ana Sokolova http://cs.uni-salzburg.at/~anas/ Setup and Dates Lectures and Instructions 23.10. 3.11. 17.11. 24.11. 1.12. 11.12.

More information

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations (Extended Abstract) Gaoyan Xie, Cheng Li and Zhe Dang School of Electrical Engineering and

More information

Reasoning about Strategies: From module checking to strategy logic

Reasoning about Strategies: From module checking to strategy logic Reasoning about Strategies: From module checking to strategy logic based on joint works with Fabio Mogavero, Giuseppe Perelli, Luigi Sauro, and Moshe Y. Vardi Luxembourg September 23, 2013 Reasoning about

More information

Computational Models - Lecture 5 1

Computational Models - Lecture 5 1 Computational Models - Lecture 5 1 Handout Mode Iftach Haitner and Yishay Mansour. Tel Aviv University. April 10/22, 2013 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

An introduction to forest-regular languages

An introduction to forest-regular languages An introduction to forest-regular languages Mika Raento Basic Research Unit, Helsinki Institute for Information Technology Deartment of Comuter Science, University of Helsinki Mika.Raento@cs.Helsinki.FI

More information

COM364 Automata Theory Lecture Note 2 - Nondeterminism

COM364 Automata Theory Lecture Note 2 - Nondeterminism COM364 Automata Theory Lecture Note 2 - Nondeterminism Kurtuluş Küllü March 2018 The FA we saw until now were deterministic FA (DFA) in the sense that for each state and input symbol there was exactly

More information

Visibly Linear Dynamic Logic

Visibly Linear Dynamic Logic Visibly Linear Dynamic Logic Joint work with Alexander Weinert (Saarland University) Martin Zimmermann Saarland University September 8th, 2016 Highlights Conference, Brussels, Belgium Martin Zimmermann

More information

Variable Automata over Infinite Alphabets

Variable Automata over Infinite Alphabets Variable Automata over Infinite Alphabets Orna Grumberg a, Orna Kupferman b, Sarai Sheinvald b a Department of Computer Science, The Technion, Haifa 32000, Israel b School of Computer Science and Engineering,

More information

A Enforceable Security Policies Revisited

A Enforceable Security Policies Revisited A Enforceable Security Policies Revisited DAVID BASIN, ETH Zurich VINCENT JUGÉ, MINES ParisTech FELIX KLAEDTKE, ETH Zurich EUGEN ZĂLINESCU, ETH Zurich We revisit Schneider s work on policy enforcement

More information

Regular Strategies In Pushdown Reachability Games

Regular Strategies In Pushdown Reachability Games Regular Strategies In Pushdown Reachability Games A. Carayol and M. Hague LIGM, Université Paris-Est & CNRS and Royal Holloway University of London Abstract. We show that positional winning strategies

More information

On the Succinctness of Nondeterminizm

On the Succinctness of Nondeterminizm On the Succinctness of Nondeterminizm Benjamin Aminof and Orna Kupferman Hebrew University, School of Engineering and Computer Science, Jerusalem 91904, Israel Email: {benj,orna}@cs.huji.ac.il Abstract.

More information

Pushdown Games with Unboundedness and Regular Conditions

Pushdown Games with Unboundedness and Regular Conditions Pushdown Games with Unboundedness and Regular Conditions Alexis-Julien Bouquet 1, Oliver Serre 2, and Igor Walukiewicz 1 1 LaBRI, Université Bordeaux I, 351, cours de la Libération, 33405 Talence Cedex,

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: Automata, State machines, Circuits Stavros Tripakis University of California, Berkeley Stavros

More information

An Alternative Construction in Symbolic Reachability Analysis of Second Order Pushdown Systems

An Alternative Construction in Symbolic Reachability Analysis of Second Order Pushdown Systems An Alternative Construction in Symbolic Reachability Analysis of Second Order Pushdown Systems Anil Seth CSE Department, I.I.T. Kanpur, Kanpur 208016, INDIA. seth@cse.iitk.ac.in Abstract. Recently, it

More information

Models for Efficient Timed Verification

Models for Efficient Timed Verification Models for Efficient Timed Verification François Laroussinie LSV / ENS de Cachan CNRS UMR 8643 Monterey Workshop - Composition of embedded systems Model checking System Properties Formalizing step? ϕ Model

More information

Query Reasoning on Data Trees with Counting

Query Reasoning on Data Trees with Counting Query Reasoning on Data Trees with Counting Everardo Bárcenas 1,2, Edgard Benítez-Guerrero 2, and Jesús Lavalle 3,4 1 CONACYT 2 Universidad Veracruzana 3 Benemérita Universidad Autónoma de Puebla 4 Instituto

More information

Classes and conversions

Classes and conversions Classes and conversions Regular expressions Syntax: r = ε a r r r + r r Semantics: The language L r of a regular expression r is inductively defined as follows: L =, L ε = {ε}, L a = a L r r = L r L r

More information

From Monadic Second-Order Definable String Transformations to Transducers

From Monadic Second-Order Definable String Transformations to Transducers From Monadic Second-Order Definable String Transformations to Transducers Rajeev Alur 1 Antoine Durand-Gasselin 2 Ashutosh Trivedi 3 1 University of Pennsylvania 2 LIAFA, Université Paris Diderot 3 Indian

More information

Pushdown automata. Twan van Laarhoven. Institute for Computing and Information Sciences Intelligent Systems Radboud University Nijmegen

Pushdown automata. Twan van Laarhoven. Institute for Computing and Information Sciences Intelligent Systems Radboud University Nijmegen Pushdown automata Twan van Laarhoven Institute for Computing and Information Sciences Intelligent Systems Version: fall 2014 T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 5-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY NON-DETERMINISM and REGULAR OPERATIONS THURSDAY JAN 6 UNION THEOREM The union of two regular languages is also a regular language Regular Languages Are

More information

Final exam study sheet for CS3719 Turing machines and decidability.

Final exam study sheet for CS3719 Turing machines and decidability. Final exam study sheet for CS3719 Turing machines and decidability. A Turing machine is a finite automaton with an infinite memory (tape). Formally, a Turing machine is a 6-tuple M = (Q, Σ, Γ, δ, q 0,

More information

Computational Models - Lecture 1 1

Computational Models - Lecture 1 1 Computational Models - Lecture 1 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. February 29/ March 02, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames

More information

Model Checking Procedural Programs

Model Checking Procedural Programs Model Checking Procedural Programs Rajeev Alur, Ahmed Bouajjani, and Javier Esparza Abstract We consider the model-checking problem for sequential programs with procedure calls. We first present basic

More information

Controlling probabilistic systems under partial observation an automata and verification perspective

Controlling probabilistic systems under partial observation an automata and verification perspective Controlling probabilistic systems under partial observation an automata and verification perspective Nathalie Bertrand, Inria Rennes, France Uncertainty in Computation Workshop October 4th 2016, Simons

More information

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova. Introduction to the Theory of Computation Automata 1VO + 1PS Lecturer: Dr. Ana Sokolova http://cs.uni-salzburg.at/~anas/ Setup and Dates Lectures Tuesday 10:45 pm - 12:15 pm Instructions Tuesday 12:30

More information

CS 154, Lecture 2: Finite Automata, Closure Properties Nondeterminism,

CS 154, Lecture 2: Finite Automata, Closure Properties Nondeterminism, CS 54, Lecture 2: Finite Automata, Closure Properties Nondeterminism, Why so Many Models? Streaming Algorithms 0 42 Deterministic Finite Automata Anatomy of Deterministic Finite Automata transition: for

More information

Certain Query Answering on Compressed String Patterns: From Streams to Hyperstreams

Certain Query Answering on Compressed String Patterns: From Streams to Hyperstreams Certain Query Answering on Compressed String Patterns: From Streams to Hyperstreams Iovka Boneva, Joachim Niehren, Momar Sakho To cite this version: Iovka Boneva, Joachim Niehren, Momar Sakho. Certain

More information

Journal of Applied Logic

Journal of Applied Logic Journal of Applied Logic 8 (2010) 210 232 Contents lists available at ScienceDirect Journal of Applied Logic www.elsevier.com/locate/jal Reasoning about XML with temporal logics and automata Leonid Libkin

More information

Tree Automata and Rewriting

Tree Automata and Rewriting and Rewriting Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.jussieu.fr July 23, 2010 What are? Definition Tree Automaton A tree automaton

More information

Deciding Twig-definability of Node Selecting Tree Automata

Deciding Twig-definability of Node Selecting Tree Automata Theory of Computing Systems manuscript No. (will be inserted by the editor) Deciding Twig-definability of Node Selecting Tree Automata Timos Antonopoulos Dag Hovland Wim Martens Frank Neven the date of

More information

Counting in trees. Helmut Seidl 1 Thomas Schwentick 2 Anca Muscholl 3. 1 Introduction

Counting in trees. Helmut Seidl 1 Thomas Schwentick 2 Anca Muscholl 3. 1 Introduction Counting in trees Helmut Seidl 1 Thomas Schwentick 2 Anca Muscholl 3 1 Institut für Informatik, I2 TU München Germany 2 Lehrstuhl Informatik I Universität Dortmund Germany 3 LaBRI Université Bordeaux France

More information

Containment for XPath Fragments under DTD Constraints

Containment for XPath Fragments under DTD Constraints Containment for XPath Fragments under DTD Constraints Peter Wood School of Computer Science and Information Systems Birkbeck College University of London United Kingdom email: ptw@dcs.bbk.ac.uk 1 Outline

More information

Computational Models #1

Computational Models #1 Computational Models #1 Handout Mode Nachum Dershowitz & Yishay Mansour March 13-15, 2017 Nachum Dershowitz & Yishay Mansour Computational Models #1 March 13-15, 2017 1 / 41 Lecture Outline I Motivation

More information

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Context-Free Grammars (CFG) Laura Kallmeyer Heinrich-Heine-Universität Düsseldorf Summer 2016 1 / 22 CFG (1) Example: Grammar G telescope : Productions: S NP VP NP

More information

The Minimal Cost Reachability Problem in Priced Timed Pushdown Systems

The Minimal Cost Reachability Problem in Priced Timed Pushdown Systems The Minimal Cost Reachability Problem in Priced Timed Pushdown Systems Parosh Aziz Abdulla, Mohamed Faouzi Atig, and Jari Stenman Uppsala University, Sweden Abstract. This paper introduces the model of

More information

Lecture 17: Language Recognition

Lecture 17: Language Recognition Lecture 17: Language Recognition Finite State Automata Deterministic and Non-Deterministic Finite Automata Regular Expressions Push-Down Automata Turing Machines Modeling Computation When attempting to

More information

Efficient Reasoning about Data Trees via Integer Linear Programming

Efficient Reasoning about Data Trees via Integer Linear Programming Efficient Reasoning about Data Trees via Integer Linear Programming Claire David Université Paris-Est Claire.David@univ-mlv.fr Leonid Libkin University of Edinburgh libkin@inf.ed.ac.uk Tony Tan University

More information

C. AISWARYA, PAUL GASTIN, PRAKASH SAIVASAN ORDER-2 NESTED WORDS

C. AISWARYA, PAUL GASTIN, PRAKASH SAIVASAN ORDER-2 NESTED WORDS Chennai Mathematical Institute cm i C. AISWARYA, PAUL GASTIN, PRAKASH SAIVASAN ORDER-2 NESTED WORDS PROLOGUE HIGHER ORDER PUSHDOWN SYSTEMS Pushdown (stack) pop, push(a),?top(a) ababa babb PROLOGUE HIGHER

More information

Descriptional complexity of unambiguous input-driven pushdown automata

Descriptional complexity of unambiguous input-driven pushdown automata Descriptional complexity of unambiguous input-driven pushdown automata Alexander Okhotin a,1, Kai Salomaa b,2 a Department of Mathematics, University of Turku, 20014 Turku, Finland b School of Computing,

More information

The Safety Simple Subset

The Safety Simple Subset The Safety Simple Subset Shoham Ben-David 1 Dana Fisman 2,3 Sitvanit Ruah 3 1 University of Waterloo 2 Weizmann Institute of Science 3 IBM Haifa Research Lab Abstract. Regular-LTL (RLTL), extends LTL with

More information

Subsumption of concepts in FL 0 for (cyclic) terminologies with respect to descriptive semantics is PSPACE-complete.

Subsumption of concepts in FL 0 for (cyclic) terminologies with respect to descriptive semantics is PSPACE-complete. Subsumption of concepts in FL 0 for (cyclic) terminologies with respect to descriptive semantics is PSPACE-complete. Yevgeny Kazakov and Hans de Nivelle MPI für Informatik, Saarbrücken, Germany E-mail:

More information

Regular tree language recognition with static information

Regular tree language recognition with static information Regular tree language recognition with static information Alain Frisch Département d Informatique École Normale Supérieure, Paris, France Alain.Frisch@ens.fr Abstract This paper presents our compilation

More information

Introduction to Theory of Computing

Introduction to Theory of Computing CSCI 2670, Fall 2012 Introduction to Theory of Computing Department of Computer Science University of Georgia Athens, GA 30602 Instructor: Liming Cai www.cs.uga.edu/ cai 0 Lecture Note 3 Context-Free Languages

More information

Hubert Comon-Lundh Florent Jacquemard Nicolas Perrin. Tree Automata with Memory, Visibility and Structural Constraints. Research Report LSV-07-01

Hubert Comon-Lundh Florent Jacquemard Nicolas Perrin. Tree Automata with Memory, Visibility and Structural Constraints. Research Report LSV-07-01 Hubert Comon-Lundh Florent Jacquemard Nicolas Perrin Tree Automata with Memory, Visibility and Structural Constraints Research Report LSV-07-01 January 2007 Tree Automata with Memory, Visibility and Structural

More information

REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION

REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION Alain Frisch École Normale Supérieure Alain.Frisch@ens.fr Abstract This paper presents our compilation strategy to produce efficient code for pattern

More information

Università degli studi di Napoli Federico II

Università degli studi di Napoli Federico II Università degli studi di Napoli Federico II 2-Visibly Pushdown Automata Dario Carotenuto, Aniello Murano, Adriano Peron Preprint n. 53 (2006) pubblicazioni del Dipartimento di Matematica e Applicazioni

More information

Pushdown Automata. Chapter 12

Pushdown Automata. Chapter 12 Pushdown Automata Chapter 12 Recognizing Context-Free Languages We need a device similar to an FSM except that it needs more power. The insight: Precisely what it needs is a stack, which gives it an unlimited

More information

Deciding Twig-definability of Node Selecting Tree Automata

Deciding Twig-definability of Node Selecting Tree Automata Deciding Twig-definability of Node Selecting Tree Automata Timos Antonopoulos Hasselt University and Transnational University of Limburg timos.antonopoulos@uhasselt.be Wim Martens Institut für Informatik

More information

On the Regularity of Binoid Languages:

On the Regularity of Binoid Languages: On the Regularity of Binoid Languages: A Comparative Approach Zoltán L. Németh University of Szeged, Inst. of Informatics P.O.B. 652, 6701 Szeged, Hungary zlnemeth@inf.u-szeged.hu Abstract. A binoid is

More information

Synthesis of Winning Strategies for Interaction under Partial Information

Synthesis of Winning Strategies for Interaction under Partial Information Synthesis of Winning Strategies for Interaction under Partial Information Oberseminar Informatik Bernd Puchala RWTH Aachen University June 10th, 2013 1 Introduction Interaction Strategy Synthesis 2 Main

More information

Fig. 2 Tree structure of r the best of our knowledge, there is no study on detecting XSLT rules affected by a schema update. On the other hand, there

Fig. 2 Tree structure of r the best of our knowledge, there is no study on detecting XSLT rules affected by a schema update. On the other hand, there An Algorithm for Detecting XSLT Rules Affected by Schema Updates Yang Wu 1,a) Nobutaka Suzuki 2,b) Abstract: Schemas of XML documents are continuously updated according to changes in the real world. Moreover,

More information

SYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES

SYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES Contents i SYLLABUS UNIT - I CHAPTER - 1 : AUT UTOMA OMATA Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 2 : FINITE AUT UTOMA OMATA An Informal Picture of Finite Automata,

More information

Succinctness of Pattern-based Schema Languages for XML

Succinctness of Pattern-based Schema Languages for XML Succinctness of Pattern-based Schema Languages for XML Wouter Gelade and Frank Neven Hasselt University and Transnational University of Limburg School for Information Technology {firstname.lastname}@uhasselt.be

More information

Pushdown Automata (2015/11/23)

Pushdown Automata (2015/11/23) Chapter 6 Pushdown Automata (2015/11/23) Sagrada Familia, Barcelona, Spain Outline 6.0 Introduction 6.1 Definition of PDA 6.2 The Language of a PDA 6.3 Euivalence of PDA s and CFG s 6.4 Deterministic PDA

More information

Outline. CS21 Decidability and Tractability. Machine view of FA. Machine view of FA. Machine view of FA. Machine view of FA.

Outline. CS21 Decidability and Tractability. Machine view of FA. Machine view of FA. Machine view of FA. Machine view of FA. Outline CS21 Decidability and Tractability Lecture 5 January 16, 219 and Languages equivalence of NPDAs and CFGs non context-free languages January 16, 219 CS21 Lecture 5 1 January 16, 219 CS21 Lecture

More information

Automata Theory (2A) Young Won Lim 5/31/18

Automata Theory (2A) Young Won Lim 5/31/18 Automata Theory (2A) Copyright (c) 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later

More information

Further discussion of Turing machines

Further discussion of Turing machines Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will

More information

Logics and automata over in nite alphabets

Logics and automata over in nite alphabets Logics and automata over in nite alphabets Anca Muscholl LIAFA, Univ. Paris 7 & CNRS Joint work with: Miko!aj Bojańczyk (Warsaw, Paris), Claire David (Paris), Thomas Schwentick (Dortmund) and Luc Segou

More information