Transducer-Based Rewriting Games for Active XML Martin Schuster TU - - PowerPoint PPT Presentation

transducer based rewriting games for active xml
SMART_READER_LITE
LIVE PREVIEW

Transducer-Based Rewriting Games for Active XML Martin Schuster TU - - PowerPoint PPT Presentation

Transducer-Based Rewriting Games for Active XML Martin Schuster TU Dortmund Highlights 2016 1/8 Active XML 2/8 Active XML City Name, Meteo, Events City Name S TRING Meteo @meteo_svc Name Meteo Events Events @event_svc


slide-1
SLIDE 1

1/8

Transducer-Based Rewriting Games for Active XML

Martin Schuster

TU Dortmund

Highlights 2016

slide-2
SLIDE 2

2/8

Active XML

slide-3
SLIDE 3

2/8

Active XML

City → Name, Meteo, Events Name → STRING Meteo → @meteo_svc Events → @event_svc event_svc: → (Sports|Concert)*@event_svc meteo_svc: → STRING

. . .

City Name Brussels Meteo @meteo_svc centigrade Events @event_svc Brussels

slide-4
SLIDE 4

2/8

Active XML

City → Name, Meteo, Events Name → STRING Meteo → @meteo_svc Events → @event_svc event_svc: → (Sports|Concert)*@event_svc meteo_svc: → STRING

. . .

City Name Brussels Meteo 24◦/sunny Events Sports football @event_svc Brussels

slide-5
SLIDE 5

3/8

The Schema Rewriting Problem

Server Client City → Name, Meteo, Events Events → @event_svc City → Name, Meteo, Events Events → (Sports|Concert)* event_svc: → (Sports|Concert)*

Server (CC-BY-SA 3.0) RRZE Icons, Client (LGPL) Everaldo Coelho

slide-6
SLIDE 6

3/8

The Schema Rewriting Problem

Server Client City → Name, Meteo, Events Events → @event_svc City → Name, Meteo, Events Events → (Sports|Concert)* event_svc: → (Sports|Concert)*

Server (CC-BY-SA 3.0) RRZE Icons, Client (LGPL) Everaldo Coelho

Goal: Rewrite source document into target schema using function calls

slide-7
SLIDE 7

3/8

The Schema Rewriting Problem

Server Client City → Name, Meteo, Events Events → @event_svc City → Name, Meteo, Events Events → (Sports|Concert)* event_svc: → (Sports|Concert)*

Server (CC-BY-SA 3.0) RRZE Icons, Client (LGPL) Everaldo Coelho

Goal: Rewrite source document into target schema using function calls Only schemas for remote services known in advance

slide-8
SLIDE 8

3/8

The Schema Rewriting Problem

Server Client City → Name, Meteo, Events Events → @event_svc City → Name, Meteo, Events Events → (Sports|Concert)* event_svc: → (Sports|Concert)*

Server (CC-BY-SA 3.0) RRZE Icons, Client (LGPL) Everaldo Coelho

Goal: Rewrite source document into target schema using function calls Only schemas for remote services known in advance find a safe rewriting strategy

slide-9
SLIDE 9

3/8

The Schema Rewriting Problem

Server Client City → Name, Meteo, Events Events → @event_svc City → Name, Meteo, Events Events → (Sports|Concert)* event_svc: → (Sports|Concert)*

Server (CC-BY-SA 3.0) RRZE Icons, Client (LGPL) Everaldo Coelho

Goal: Rewrite source document into target schema using function calls Only schemas for remote services known in advance find a safe rewriting strategy Context-free game on nested words

slide-10
SLIDE 10

4/8

Nested Words

slide-11
SLIDE 11

4/8

Nested Words

Idea: Correct nesting of tags over label alphabet Σ Example a/aabc/c/ba/a/a

slide-12
SLIDE 12

4/8

Nested Words

Idea: Correct nesting of tags over label alphabet Σ Linearisations of Σ-labelled forests Example a/aabc/c/ba/a/a a a b c a

slide-13
SLIDE 13

5/8

Context-Free Games on Nested Words: Example

slide-14
SLIDE 14

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement

slide-15
SLIDE 15

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

slide-16
SLIDE 16

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a}

slide-17
SLIDE 17

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} |f/ff/f

slide-18
SLIDE 18

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f|/ff/f

slide-19
SLIDE 19

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/f|f/f

slide-20
SLIDE 20

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f

slide-21
SLIDE 21

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f

slide-22
SLIDE 22

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓

slide-23
SLIDE 23

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/f|ag/g/a

slide-24
SLIDE 24

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fa|g/g/a

slide-25
SLIDE 25

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fag|/g/a

slide-26
SLIDE 26

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fag|/g/a

slide-27
SLIDE 27

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fag|/g/a ↓

slide-28
SLIDE 28

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fag|/g/a ↓ f/faa/a/a

slide-29
SLIDE 29

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fag|/g/a ↓ f/faa/a/a

slide-30
SLIDE 30

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f

slide-31
SLIDE 31

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓

slide-32
SLIDE 32

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fagg/g/g/a

slide-33
SLIDE 33

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fagg/g|/g/a

slide-34
SLIDE 34

5/8

Context-Free Games on Nested Words: Example

Intuition: JULIET picks function node to call, ROMEO chooses replacement JULIET wins once a target language string is reached

Example T = {f/fan/an | n ≥ 0}, f → {angm/gm/an | n, m ≥ 0}, g → {a/a} f/ff|/f ↓ f/fagg/g|/g/a ↓ ???

slide-35
SLIDE 35

6/8

Dealing with function parameters

In previous work:

slide-36
SLIDE 36

6/8

Dealing with function parameters

In previous work: Basic setting: Ignore and overwrite

slide-37
SLIDE 37

6/8

Dealing with function parameters

In previous work: Basic setting: Ignore and overwrite Validation games: Overwrite if valid w.r.t. input schema

slide-38
SLIDE 38

6/8

Dealing with function parameters

In previous work: Basic setting: Ignore and overwrite Validation games: Overwrite if valid w.r.t. input schema

Events @event_svc Brussels

slide-39
SLIDE 39

6/8

Dealing with function parameters

In previous work: Basic setting: Ignore and overwrite Validation games: Overwrite if valid w.r.t. input schema

Events @event_svc Brussels

  • Events

Sports football @event_svc Brussels

slide-40
SLIDE 40

6/8

Dealing with function parameters

In previous work: Basic setting: Ignore and overwrite Validation games: Overwrite if valid w.r.t. input schema

Events @event_svc Brussels

  • Events

Sports football @event_svc Brussels

How to model dependencies between input and output?

slide-41
SLIDE 41

6/8

Dealing with function parameters

In previous work: Basic setting: Ignore and overwrite Validation games: Overwrite if valid w.r.t. input schema

Events @event_svc Brussels

  • Events

Sports football @event_svc Brussels

How to model dependencies between input and output?

Nested Word Transducers

slide-42
SLIDE 42

6/8

Dealing with function parameters

In previous work: Basic setting: Ignore and overwrite Validation games: Overwrite if valid w.r.t. input schema

Events @event_svc Brussels

  • Events

Sports football @event_svc Brussels

How to model dependencies between input and output?

Nested Word Transducers Closely related to (variants of) visibly pushdown transducers

slide-43
SLIDE 43

7/8

Research goals and restrictions

slide-44
SLIDE 44

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy

slide-45
SLIDE 45

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case

slide-46
SLIDE 46

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case Restrictions to transducer expressiveness:

slide-47
SLIDE 47

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case Restrictions to transducer expressiveness: General NWT

slide-48
SLIDE 48

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case Restrictions to transducer expressiveness: General NWT ǫ-free NWT: Limited insertion

slide-49
SLIDE 49

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case Restrictions to transducer expressiveness: General NWT ǫ-free NWT: Limited insertion Relabelling NWT: No insertion

slide-50
SLIDE 50

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case Restrictions to transducer expressiveness: General NWT ǫ-free NWT: Limited insertion Relabelling NWT: No insertion . . .

slide-51
SLIDE 51

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case Restrictions to transducer expressiveness: General NWT ǫ-free NWT: Limited insertion Relabelling NWT: No insertion . . . Restrictions to strategies for JULIET:

slide-52
SLIDE 52

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case Restrictions to transducer expressiveness: General NWT ǫ-free NWT: Limited insertion Relabelling NWT: No insertion . . . Restrictions to strategies for JULIET: Unbounded/bounded/no recursion

slide-53
SLIDE 53

7/8

Research goals and restrictions

Algorithmic problem: Determine if JULIET has a winning strategy Main goal: Find tractable case Restrictions to transducer expressiveness: General NWT ǫ-free NWT: Limited insertion Relabelling NWT: No insertion . . . Restrictions to strategies for JULIET: Unbounded/bounded/no recursion . . .

slide-54
SLIDE 54

8/8

(Some) Results

Complexity of deciding if JULIET has a winning strategy: (Completeness results)

slide-55
SLIDE 55

8/8

(Some) Results

Complexity of deciding if JULIET has a winning strategy: (Completeness results)

No recursion Bounded Unbounded NWT 2-EXPTIME undecidable undecidable

slide-56
SLIDE 56

8/8

(Some) Results

Complexity of deciding if JULIET has a winning strategy: (Completeness results)

No recursion Bounded Unbounded NWT 2-EXPTIME undecidable undecidable ǫ-free NWT

CO-NEXPTIME

non-elementary undecidable

slide-57
SLIDE 57

8/8

(Some) Results

Complexity of deciding if JULIET has a winning strategy: (Completeness results)

No recursion Bounded Unbounded NWT 2-EXPTIME undecidable undecidable ǫ-free NWT

CO-NEXPTIME

non-elementary undecidable Relabelling PSPACE PSPACE EXPTIME

slide-58
SLIDE 58

8/8

(Some) Results

Complexity of deciding if JULIET has a winning strategy: (Completeness results)

No recursion Bounded Unbounded NWT 2-EXPTIME undecidable undecidable ǫ-free NWT

CO-NEXPTIME

non-elementary undecidable Relabelling PSPACE PSPACE EXPTIME

Tractable cases (not shown here) of little practical interest.

slide-59
SLIDE 59

8/8

(Some) Results

Complexity of deciding if JULIET has a winning strategy: (Completeness results)

No recursion Bounded Unbounded NWT 2-EXPTIME undecidable undecidable ǫ-free NWT

CO-NEXPTIME

non-elementary undecidable Relabelling PSPACE PSPACE EXPTIME

Tractable cases (not shown here) of little practical interest. Next step: Transducers that express practical schema languages (DTDs/XML Schema).

slide-60
SLIDE 60

8/8

Literature I

  • R. Alur, P

. Madhusudan. Adding nesting structure to words.

  • J. ACM, 56.3, 2009
  • E. Filiot, J. Raskin, P

. Reynier, F. Servais, J. Talbot. Properties of Visibly Pushdown Transducers. MFCS, 355–367, 2010.

  • T. Milo, S. Abiteboul, B. Amann, O. Benjelloun, F. Dang Ngoc.

Exchanging intensional XML data. ACM Trans. Database Syst.,30(1):1–40, 2005

  • A. Muscholl, T. Schwentick, L. Segoufin.

Active Context-Free Games. Theory Comput. Syst., 39(1):237–276, 2006

  • J. Raskin, F. Servais.

Visibly Pushdown Transducers. ICALP, (2)386–397, 2008.

  • A. Thomo, S. Venkatesh, Y. Ye.

Visibly Pushdown Transducers for Approximate Validation of Streaming XML. FoIKS, 219–238, 2008.