Download - MapReduce for Parallel Trace Validation of LTL Properties

Transcript
Page 1: MapReduce for Parallel Trace Validation of LTL Properties

MapReduce for ParallelTrace Validation of LTL Properties

Benjamin Barre, Mathieu Klein, Maxime Soucy-Boivin,Pierre-Antoine Ollivier and Sylvain HallΓ©

UniversitΓ© du QuΓ©bec Γ  ChicoutimiCANADA

CRSNGNSERC

Fonds de rechercheNature ettechnologies

Page 2: MapReduce for Parallel Trace Validation of LTL Properties
Page 3: MapReduce for Parallel Trace Validation of LTL Properties

System

Page 4: MapReduce for Parallel Trace Validation of LTL Properties

System

Page 5: MapReduce for Parallel Trace Validation of LTL Properties

System

Instrumentation

Page 6: MapReduce for Parallel Trace Validation of LTL Properties

System

Instrumentation

Page 7: MapReduce for Parallel Trace Validation of LTL Properties

System

Instrumentation

Trace

Page 8: MapReduce for Parallel Trace Validation of LTL Properties

System

Instrumentation

Trace

Events

Page 9: MapReduce for Parallel Trace Validation of LTL Properties

System

Instrumentation

Trace

Events

Page 10: MapReduce for Parallel Trace Validation of LTL Properties

System

Instrumentation

Trace

Events

Tracevalidation

Page 11: MapReduce for Parallel Trace Validation of LTL Properties

Iterator<T>

Page 12: MapReduce for Parallel Trace Validation of LTL Properties

Iterator<T>

hasNext

next

Page 13: MapReduce for Parallel Trace Validation of LTL Properties

Iterator<T>

hasNext

next

A call to next must be precededby a call to hasNext

Page 14: MapReduce for Parallel Trace Validation of LTL Properties

B

A

Page 15: MapReduce for Parallel Trace Validation of LTL Properties

B

A

No CartCreate request can occurbefore a LoginResponse message

Page 16: MapReduce for Parallel Trace Validation of LTL Properties

Login

Page 17: MapReduce for Parallel Trace Validation of LTL Properties

Login

Three successive login attemptsshould trigger an alarm

Page 18: MapReduce for Parallel Trace Validation of LTL Properties
Page 19: MapReduce for Parallel Trace Validation of LTL Properties

Receive order

Page 20: MapReduce for Parallel Trace Validation of LTL Properties

Receive orderReady?

Page 21: MapReduce for Parallel Trace Validation of LTL Properties

Receive orderReady? Yes

Page 22: MapReduce for Parallel Trace Validation of LTL Properties

Receive orderReady? Yes

File order

No Ship

Page 23: MapReduce for Parallel Trace Validation of LTL Properties

Receive orderReady? Yes

File order

No Ship

A received order must eventuallybe shipped

Page 24: MapReduce for Parallel Trace Validation of LTL Properties

A

0 1 2 3 4 . . .

a a b c b

β„•

A trace m is a mapping from β„• tothe set of events :

ALet be a set of event symbols.

Page 25: MapReduce for Parallel Trace Validation of LTL Properties

A

Groundterms

β†’Β¬βˆ§β†’Β¬βˆ§

Booleanconnectives

Temporaloperators

XGFU

nextgloballyeventuallyuntil

+ +

= Linear Temporal Logic

Page 26: MapReduce for Parallel Trace Validation of LTL Properties

A

0 1 2 3 4 . . .

a a b c b

β„•

Ξ¦Let be the set of all possible LTL formulas.

The function β„’ : Ξ¦ β†’ 2 labels each state witha set of LTL formulas

β„•

Page 27: MapReduce for Parallel Trace Validation of LTL Properties

a∧b

a∧b

G (a→b)

b∨c

b∨c

a∧b

G (a→b)

β„’(a∧b) = {0,1,4,...}Example:

β„’

A

0 1 2 3 4 . . .

a a b c b

β„•

Ξ¦Let be the set of all possible LTL formulas.

The function β„’ : Ξ¦ β†’ 2 labels each state witha set of LTL formulas

β„•

Page 28: MapReduce for Parallel Trace Validation of LTL Properties

i ∈ β„’(Ο†βˆ¨Οˆ) ⇔ i ∈ β„’(Ο†) or i ∈ β„’(ψ)i ∈ β„’(Ο†βˆ§Οˆ) ⇔ i ∈ β„’(Ο†) and i ∈ β„’(ψ)i ∈ β„’(¬φ) ⇔ i βˆ‰ β„’(Ο†)

i ∈ β„’(G Ο†) ⇔ j ∈ β„’(Ο†) for all j β‰₯ ii ∈ β„’(X Ο†) ⇔ i+1 ∈ β„’(Ο†)

i ∈ β„’(F Ο†) ⇔ j ∈ β„’(Ο†) for some j β‰₯ ii ∈ β„’(Ο† U ψ) ⇔ j ∈ β„’(ψ) for some j β‰₯ i and

k ∈ β„’(Ο†) for all j β‰₯ k β‰₯ i

i ∈ β„’(a) ⇔ m(i) = a

Page 29: MapReduce for Parallel Trace Validation of LTL Properties

i ∈ β„’(Ο†) exactly when the tracem(i), m(i+1), ... satisfies Ο†

Theorem

ΟˆΟ† Οƒ

0 1 2 3 4 . . .

ΟˆΟ† Οƒ

Page 30: MapReduce for Parallel Trace Validation of LTL Properties

i ∈ β„’(Ο†) exactly when the tracem(i), m(i+1), ... satisfies Ο†

Theorem

ΟˆΟ† Οƒ

0 1 2 3 4 . . .

ΟˆΟ† Οƒ

0 ∈ β„’(Ο†) ⇔ m ⊧ Ο†

Therefore...

Page 31: MapReduce for Parallel Trace Validation of LTL Properties

A call to next must be followed by a callto hasNext

No CartCreate request can occurbefore a LoginResponse message

A received order must eventuallybe shipped

Three successive login attempts shouldtrigger an alarm

Page 32: MapReduce for Parallel Trace Validation of LTL Properties

A call to next must be followed by a callto hasNext

No CartCreate request can occurbefore a LoginResponse message

A received order must eventuallybe shipped

Three successive login attempts shouldtrigger an alarm

G (next β†’ X hasNext)

Page 33: MapReduce for Parallel Trace Validation of LTL Properties

A call to next must be followed by a callto hasNext

No CartCreate request can occurbefore a LoginResponse message

A received order must eventuallybe shipped

Three successive login attempts shouldtrigger an alarm

G (next β†’ X hasNext)

Β¬ CartCreate U hasNext

Page 34: MapReduce for Parallel Trace Validation of LTL Properties

A call to next must be followed by a callto hasNext

No CartCreate request can occurbefore a LoginResponse message

A received order must eventuallybe shipped

Three successive login attempts shouldtrigger an alarm

G (next β†’ X hasNext)

Β¬ CartCreate U hasNext

G (receive β†’ F ship)

Page 35: MapReduce for Parallel Trace Validation of LTL Properties

A call to next must be followed by a callto hasNext

No CartCreate request can occurbefore a LoginResponse message

A received order must eventuallybe shipped

Three successive login attempts shouldtrigger an alarm

G (next β†’ X hasNext)

Β¬ CartCreate U hasNext

G (receive β†’ F ship)

G ¬(fail ∧ (X (fail ∧ X fail)))

Page 36: MapReduce for Parallel Trace Validation of LTL Properties

Iterator<T> Java MOP

Page 37: MapReduce for Parallel Trace Validation of LTL Properties

21 3 4 5

The trace mustbe read linearly

The algorithm works on asingle process / core / sitex1

οΏ½

οΏ½

Page 38: MapReduce for Parallel Trace Validation of LTL Properties

1

10

100

1,000

10,000

100,000

1,000,000

10,000,000

1970 1980 1990 2000 2010

Page 39: MapReduce for Parallel Trace Validation of LTL Properties

1

10

100

1,000

10,000

100,000

1,000,000

10,000,000

1970 1980 1990 2000 2010

Transistors (x1000)

Page 40: MapReduce for Parallel Trace Validation of LTL Properties

1

10

100

1,000

10,000

100,000

1,000,000

10,000,000

1970 1980 1990 2000 2010

Transistors (x1000)

CPU Speed

(MHz)

Page 41: MapReduce for Parallel Trace Validation of LTL Properties

f∞PageRank

Page 42: MapReduce for Parallel Trace Validation of LTL Properties

a 1

KeyValue

Tuple (baaah){

Page 43: MapReduce for Parallel Trace Validation of LTL Properties

Data source

Page 44: MapReduce for Parallel Trace Validation of LTL Properties

Data source

IIInput reader

Page 45: MapReduce for Parallel Trace Validation of LTL Properties

Data source

IIInput reader

. . .2 7a z

Page 46: MapReduce for Parallel Trace Validation of LTL Properties

2a. . . 2a

Page 47: MapReduce for Parallel Trace Validation of LTL Properties

2a. . . 2a M

Mapper

Page 48: MapReduce for Parallel Trace Validation of LTL Properties

2a. . . 2a M

Mapper

2a. . .6w

Page 49: MapReduce for Parallel Trace Validation of LTL Properties

a 23 g

a

3b3 b

2a. . . 2a M

Mapper

2a. . .6w

Page 50: MapReduce for Parallel Trace Validation of LTL Properties

3 aa 2

3a3a

b 9 3 ae 83a

bb

a

ab

Page 51: MapReduce for Parallel Trace Validation of LTL Properties

Shuffling

3 ae 8

ba

. . .

b

. . .

b

aa

bd

a

a

a 2

3a

b

b 9

Page 52: MapReduce for Parallel Trace Validation of LTL Properties

aa2a 2 3a

b9b

Page 53: MapReduce for Parallel Trace Validation of LTL Properties

aa2a 2 3a

b9b

Ra

Rb

Reducer

Page 54: MapReduce for Parallel Trace Validation of LTL Properties

aa2a 2 3a

b9b

Ra

Rb

Reducer

. . .z 8 x 2

e 7 i 0

Page 55: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

Page 56: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a

Page 57: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a I

Page 58: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a Iγ€ˆa,1〉

γ€ˆa,1〉

Page 59: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a Iγ€ˆa,1〉

γ€ˆa,1〉

γ€ˆb,1〉

γ€ˆa,1〉I

Iγ€ˆa,1〉

γ€ˆb,1〉

Page 60: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a Iγ€ˆa,1〉

γ€ˆa,1〉

γ€ˆb,1〉

γ€ˆa,1〉I

Iγ€ˆa,1〉

γ€ˆb,1〉

Page 61: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a Iγ€ˆa,1〉

γ€ˆa,1〉

γ€ˆb,1〉

γ€ˆa,1〉I

Iγ€ˆa,1〉

γ€ˆb,1〉

Page 62: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a Iγ€ˆa,1〉

γ€ˆa,1〉

γ€ˆb,1〉

γ€ˆa,1〉I

Iγ€ˆa,1〉

γ€ˆb,1〉

Ra

Page 63: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a Iγ€ˆa,1〉

γ€ˆa,1〉

γ€ˆb,1〉

γ€ˆa,1〉I

Iγ€ˆa,1〉

γ€ˆb,1〉

Ra γ€ˆa,4〉

Page 64: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a Iγ€ˆa,1〉

γ€ˆa,1〉

γ€ˆb,1〉

γ€ˆa,1〉I

Iγ€ˆa,1〉

γ€ˆb,1〉

Ra γ€ˆa,4〉

γ€ˆb,2〉Rb

Page 65: MapReduce for Parallel Trace Validation of LTL Properties

a b a a b a

ab

ba

a a Iγ€ˆa,1〉

γ€ˆa,1〉

γ€ˆb,1〉

γ€ˆa,1〉I

Iγ€ˆa,1〉

γ€ˆb,1〉

Ra γ€ˆa,4〉

γ€ˆb,2〉Rb

Page 66: MapReduce for Parallel Trace Validation of LTL Properties

GG ∧∧

Subformula

Superformula

Formula

Subformula Subformula

Superformula

Page 67: MapReduce for Parallel Trace Validation of LTL Properties

1

0

2

3

∧

a c b

Β¬ F

G

1

0

2

4Height

β†’3

Page 68: MapReduce for Parallel Trace Validation of LTL Properties

1

0

2

3

∧

a c b

Β¬ F

G

1

0

2

4Height

β†’3

Β¬c has height 1G ((a ∧¬c) β†’ F b) has height 4

Page 69: MapReduce for Parallel Trace Validation of LTL Properties

i ∈ β„’(Ο†βˆ¨Οˆ) ⇔ i ∈ β„’(Ο†) or i ∈ β„’(ψ)i ∈ β„’(Ο†βˆ§Οˆ) ⇔ i ∈ β„’(Ο†) and i ∈ β„’(ψ)i ∈ β„’(¬φ) ⇔ i βˆ‰ β„’(Ο†)

i ∈ β„’(G Ο†) ⇔ j ∈ β„’(Ο†) for all j β‰₯ ii ∈ β„’(X Ο†) ⇔ i+1 ∈ β„’(Ο†)

i ∈ β„’(F Ο†) ⇔ j ∈ β„’(Ο†) for some j β‰₯ ii ∈ β„’(Ο† U ψ) ⇔ j ∈ β„’(ψ) for some j β‰₯ i and

k ∈ β„’(Ο†) for all j β‰₯ k β‰₯ i

i ∈ β„’(a) ⇔ m(i) = a

Page 70: MapReduce for Parallel Trace Validation of LTL Properties

The labelling of a formula depends onlyon labellings of formulas of strictly lower height

i ∈ β„’(Ο†βˆ¨Οˆ) ⇔ i ∈ β„’(Ο†) or i ∈ β„’(ψ)i ∈ β„’(Ο†βˆ§Οˆ) ⇔ i ∈ β„’(Ο†) and i ∈ β„’(ψ)i ∈ β„’(¬φ) ⇔ i βˆ‰ β„’(Ο†)

i ∈ β„’(G Ο†) ⇔ j ∈ β„’(Ο†) for all j β‰₯ ii ∈ β„’(X Ο†) ⇔ i+1 ∈ β„’(Ο†)

i ∈ β„’(F Ο†) ⇔ j ∈ β„’(Ο†) for some j β‰₯ ii ∈ β„’(Ο† U ψ) ⇔ j ∈ β„’(ψ) for some j β‰₯ i and

k ∈ β„’(Ο†) for all j β‰₯ k β‰₯ i

i ∈ β„’(a) ⇔ m(i) = a

Page 71: MapReduce for Parallel Trace Validation of LTL Properties

The labelling of a formula depends onlyon labellings of formulas of strictly lower height

All labellings of formulas of same height are independent

β‡’

i ∈ β„’(Ο†βˆ¨Οˆ) ⇔ i ∈ β„’(Ο†) or i ∈ β„’(ψ)i ∈ β„’(Ο†βˆ§Οˆ) ⇔ i ∈ β„’(Ο†) and i ∈ β„’(ψ)i ∈ β„’(¬φ) ⇔ i βˆ‰ β„’(Ο†)

i ∈ β„’(G Ο†) ⇔ j ∈ β„’(Ο†) for all j β‰₯ ii ∈ β„’(X Ο†) ⇔ i+1 ∈ β„’(Ο†)

i ∈ β„’(F Ο†) ⇔ j ∈ β„’(Ο†) for some j β‰₯ ii ∈ β„’(Ο† U ψ) ⇔ j ∈ β„’(ψ) for some j β‰₯ i and

k ∈ β„’(Ο†) for all j β‰₯ k β‰₯ i

i ∈ β„’(a) ⇔ m(i) = a

Page 72: MapReduce for Parallel Trace Validation of LTL Properties

The labelling of a formula depends onlyon labellings of formulas of strictly lower height

All labellings of formulas of same height are independent

β‡’

β‡’ They can be computed in parallel

i ∈ β„’(Ο†βˆ¨Οˆ) ⇔ i ∈ β„’(Ο†) or i ∈ β„’(ψ)i ∈ β„’(Ο†βˆ§Οˆ) ⇔ i ∈ β„’(Ο†) and i ∈ β„’(ψ)i ∈ β„’(¬φ) ⇔ i βˆ‰ β„’(Ο†)

i ∈ β„’(G Ο†) ⇔ j ∈ β„’(Ο†) for all j β‰₯ ii ∈ β„’(X Ο†) ⇔ i+1 ∈ β„’(Ο†)

i ∈ β„’(F Ο†) ⇔ j ∈ β„’(Ο†) for some j β‰₯ ii ∈ β„’(Ο† U ψ) ⇔ j ∈ β„’(ψ) for some j β‰₯ i and

k ∈ β„’(Ο†) for all j β‰₯ k β‰₯ i

i ∈ β„’(a) ⇔ m(i) = a

Page 73: MapReduce for Parallel Trace Validation of LTL Properties

M

Page 74: MapReduce for Parallel Trace Validation of LTL Properties

Input: tuples γ€ˆΟ†,(n,i)〉

M

Page 75: MapReduce for Parallel Trace Validation of LTL Properties

Input: tuples γ€ˆΟ†,(n,i)〉

β€œ n ∈ β„’(Ο†), and the last cycle has evaluatedlabellings for formulas of height i ”

M

Page 76: MapReduce for Parallel Trace Validation of LTL Properties

Input: tuples γ€ˆΟ†,(n,i)〉

β€œ n ∈ β„’(Ο†), and the last cycle has evaluatedlabellings for formulas of height i ”

M β€œLift” β„’(Ο†) to superformulas of Ο†

Page 77: MapReduce for Parallel Trace Validation of LTL Properties

Input: tuples γ€ˆΟ†,(n,i)〉

β€œ n ∈ β„’(Ο†), and the last cycle has evaluatedlabellings for formulas of height i ”

M β€œLift” β„’(Ο†) to superformulas of Ο†

Output: tuples γ€ˆΟˆ,(Ο†,n,i)〉

Page 78: MapReduce for Parallel Trace Validation of LTL Properties

β€œ n ∈ β„’(Ο†), the last cycle has evaluatedlabellings for formulas of height i, andΟ† is a subformula of ψ ”

Input: tuples γ€ˆΟ†,(n,i)〉

β€œ n ∈ β„’(Ο†), and the last cycle has evaluatedlabellings for formulas of height i ”

M β€œLift” β„’(Ο†) to superformulas of Ο†

Output: tuples γ€ˆΟˆ,(Ο†,n,i)〉

Page 79: MapReduce for Parallel Trace Validation of LTL Properties

Rψ

Page 80: MapReduce for Parallel Trace Validation of LTL Properties

Rψ

Input:γ€ˆΟˆ,(Ο†,n,i)〉

Page 81: MapReduce for Parallel Trace Validation of LTL Properties

Rψ

Input:γ€ˆΟˆ,(Ο†,n,i)〉

β€œ n ∈ β„’(Ο†), the last cyclehas evaluated labellings forformulas of height i, andΟ† is a subformula of ψ ”

Page 82: MapReduce for Parallel Trace Validation of LTL Properties

Rψ

Input:γ€ˆΟˆ,(Ο†,n,i)〉

Compute β„’(ψ)

β€œ n ∈ β„’(Ο†), the last cyclehas evaluated labellings forformulas of height i, andΟ† is a subformula of ψ ”

Page 83: MapReduce for Parallel Trace Validation of LTL Properties

Rψ

Input:γ€ˆΟˆ,(Ο†,n,i)〉

Compute β„’(ψ)

β€œ n ∈ β„’(Ο†), the last cyclehas evaluated labellings forformulas of height i, andΟ† is a subformula of ψ ”

Output:γ€ˆΟˆ,(n,i+1)〉

Page 84: MapReduce for Parallel Trace Validation of LTL Properties

Rψ

Input:γ€ˆΟˆ,(Ο†,n,i)〉

Compute β„’(ψ)

β€œ n ∈ β„’(Ο†), the last cyclehas evaluated labellings forformulas of height i, andΟ† is a subformula of ψ ”

Output:γ€ˆΟˆ,(n,i+1)〉

β€œ n ∈ β„’(ψ), and the lastcycle has evaluatedlabellings for formulas of height i+1

Page 85: MapReduce for Parallel Trace Validation of LTL Properties

I

Page 86: MapReduce for Parallel Trace Validation of LTL Properties

I

Input: events (a,n)

Page 87: MapReduce for Parallel Trace Validation of LTL Properties

I

Input: events (a,n)

Output: tuples γ€ˆΟˆ,(a,n,0)〉

. . .

β€œ n ∈ β„’(a), the last cycle has evaluatedlabellings for formulas of height 0, anda is a subformula of ψ ”

Page 88: MapReduce for Parallel Trace Validation of LTL Properties

W

Page 89: MapReduce for Parallel Trace Validation of LTL Properties

Input: γ€ˆΟˆ,(n,i)〉

W

Page 90: MapReduce for Parallel Trace Validation of LTL Properties

Input: γ€ˆΟˆ,(n,i)〉

W

Output:

True if γ€ˆΟˆ,(0,i)〉is read

False otherwise

Page 91: MapReduce for Parallel Trace Validation of LTL Properties

1

2

3

. . .II

RR

R

RR

R

R

RW

. . .

Page 92: MapReduce for Parallel Trace Validation of LTL Properties

1

2

3

. . .II

RR

R

RR

R

R

RW

. . .

InputReaders generate the first tuples fromthe trace chunks

Page 93: MapReduce for Parallel Trace Validation of LTL Properties

1

2

3

. . .II

RR

R

RR

R

R

RW

. . .

The tuples are shuffled to reducers that compute thelabelling β„’ for formulas of height 1

Page 94: MapReduce for Parallel Trace Validation of LTL Properties

1

2

3

. . .II

RR

R

RR

R

R

RW

. . .

Mappers copy the labellings into tuples marked bysuperformulas of height 2

Page 95: MapReduce for Parallel Trace Validation of LTL Properties

1

2

3

. . .II

RR

R

RR

R

R

RW

. . .

Each reducer computes the labelling of a formula ofheight 2 from the labelling of its subformulas

Page 96: MapReduce for Parallel Trace Validation of LTL Properties

1

2

3

. . .II

RR

R

RR

R

R

RW

. . .

Mappers copy the labellings into tuples marked bysuperformulas of height 3

Page 97: MapReduce for Parallel Trace Validation of LTL Properties

1

2

3

. . .II

RR

R

RR

R

R

RW

. . .

Each reducer computes the labelling of a formula ofheight 3 from the labelling of its subformulas

Page 98: MapReduce for Parallel Trace Validation of LTL Properties

1

2

3

. . .II

RR

R

RR

R

R

RW

. . .

An output writer collects the resulting tuples, andoutputs β€œtrue” if it encounters a tuple for state 0

Page 99: MapReduce for Parallel Trace Validation of LTL Properties
Page 100: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

Page 101: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

(a,0)

(a,1)

(a,5)

(b,2)

(c,3)

(b,4)

0HEIGHT

Page 102: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

(a,0)

(a,1)

(a,5)

(b,2)

(c,3)

(b,4)

0HEIGHT

I

I

I

Page 103: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

(a,0)

(a,1)

(a,5)

(b,2)

(c,3)

(b,4)

0HEIGHT

I

I

I

γ€ˆΒ¬a,(a,0)〉

γ€ˆΒ¬a,(a,1)〉

γ€ˆΒ¬a,(a,5)〉

γ€ˆF b,(b,4)〉

γ€ˆF b,(b,2)〉

1HEIGHT

Page 104: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

(a,0)

(a,1)

(a,5)

(b,2)

(c,3)

(b,4)

0HEIGHT

I

I

I

γ€ˆΒ¬a,(a,0)〉

γ€ˆΒ¬a,(a,1)〉

γ€ˆΒ¬a,(a,5)〉

γ€ˆF b,(b,4)〉

γ€ˆF b,(b,2)〉

1HEIGHT

R¬a

RF b

Page 105: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

(a,0)

(a,1)

(a,5)

(b,2)

(c,3)

(b,4)

0HEIGHT

I

I

I

γ€ˆΒ¬a,(a,0)〉

γ€ˆΒ¬a,(a,1)〉

γ€ˆΒ¬a,(a,5)〉

γ€ˆF b,(b,4)〉

γ€ˆF b,(b,2)〉

1HEIGHT

R¬a

RF b

γ€ˆΒ¬a,2γ€‰γ€ˆΒ¬a,3γ€‰γ€ˆΒ¬a,4〉

γ€ˆF b,0〉

γ€ˆF b,1〉

γ€ˆF b,2〉

γ€ˆF b,3〉

γ€ˆF b,4〉

Page 106: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

γ€ˆΒ¬a,2γ€‰γ€ˆΒ¬a,3γ€‰γ€ˆΒ¬a,4〉

γ€ˆF b,0γ€‰γ€ˆF b,1γ€‰γ€ˆF b,2〉

γ€ˆF b,3γ€‰γ€ˆF b,4〉

M

M

M

2HEIGHT

Page 107: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

γ€ˆΒ¬a,2γ€‰γ€ˆΒ¬a,3γ€‰γ€ˆΒ¬a,4〉

γ€ˆF b,0γ€‰γ€ˆF b,1γ€‰γ€ˆF b,2〉

γ€ˆF b,3γ€‰γ€ˆF b,4〉

M

M

M

2HEIGHT

γ€ˆΒ¬a β†’ F b,(Β¬a,2)γ€‰γ€ˆΒ¬a β†’ F b,(Β¬a,3)γ€‰γ€ˆΒ¬a β†’ F b,(Β¬a,4)〉

γ€ˆΒ¬a β†’ F b,(F b,0)γ€‰γ€ˆΒ¬a β†’ F b,(F b,1)γ€‰γ€ˆΒ¬a β†’ F b,(F b,2)〉

γ€ˆΒ¬a β†’ F b,(F b,3)〉

γ€ˆΒ¬a β†’ F b,(F b,4)〉

Page 108: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

γ€ˆΒ¬a,2γ€‰γ€ˆΒ¬a,3γ€‰γ€ˆΒ¬a,4〉

γ€ˆF b,0γ€‰γ€ˆF b,1γ€‰γ€ˆF b,2〉

γ€ˆF b,3γ€‰γ€ˆF b,4〉

M

M

M

2HEIGHT

γ€ˆΒ¬a β†’ F b,(Β¬a,2)γ€‰γ€ˆΒ¬a β†’ F b,(Β¬a,3)γ€‰γ€ˆΒ¬a β†’ F b,(Β¬a,4)〉

γ€ˆΒ¬a β†’ F b,(F b,0)γ€‰γ€ˆΒ¬a β†’ F b,(F b,1)γ€‰γ€ˆΒ¬a β†’ F b,(F b,2)〉

γ€ˆΒ¬a β†’ F b,(F b,3)〉

γ€ˆΒ¬a β†’ F b,(F b,4)〉

R¬a →

F b

Page 109: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

γ€ˆΒ¬a,2γ€‰γ€ˆΒ¬a,3γ€‰γ€ˆΒ¬a,4〉

γ€ˆF b,0γ€‰γ€ˆF b,1γ€‰γ€ˆF b,2〉

γ€ˆF b,3γ€‰γ€ˆF b,4〉

M

M

M

2HEIGHT

γ€ˆΒ¬a β†’ F b,(Β¬a,2)γ€‰γ€ˆΒ¬a β†’ F b,(Β¬a,3)γ€‰γ€ˆΒ¬a β†’ F b,(Β¬a,4)〉

γ€ˆΒ¬a β†’ F b,(F b,0)γ€‰γ€ˆΒ¬a β†’ F b,(F b,1)γ€‰γ€ˆΒ¬a β†’ F b,(F b,2)〉

γ€ˆΒ¬a β†’ F b,(F b,3)〉

γ€ˆΒ¬a β†’ F b,(F b,4)〉

R¬a →

F b

γ€ˆΒ¬a β†’ F b,2γ€‰γ€ˆΒ¬a β†’ F b,1γ€‰γ€ˆΒ¬a β†’ F b,0〉

γ€ˆΒ¬a β†’ F b,3γ€‰γ€ˆΒ¬a β†’ F b,4γ€‰γ€ˆΒ¬a β†’ F b,5〉

Page 110: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

M

M

M

γ€ˆΒ¬a β†’ F b,2〉

γ€ˆΒ¬a β†’ F b,1γ€‰γ€ˆΒ¬a β†’ F b,0〉

γ€ˆΒ¬a β†’ F b,3〉

γ€ˆΒ¬a β†’ F b,4γ€‰γ€ˆΒ¬a β†’ F b,5〉

3HEIGHT

Page 111: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

M

M

M

γ€ˆΒ¬a β†’ F b,2〉

γ€ˆΒ¬a β†’ F b,1γ€‰γ€ˆΒ¬a β†’ F b,0〉

γ€ˆΒ¬a β†’ F b,3〉

γ€ˆΒ¬a β†’ F b,4γ€‰γ€ˆΒ¬a β†’ F b,5〉

3HEIGHT

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,0)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,1)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,2)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,3)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,4)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,5)〉

Page 112: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

M

M

M

γ€ˆΒ¬a β†’ F b,2〉

γ€ˆΒ¬a β†’ F b,1γ€‰γ€ˆΒ¬a β†’ F b,0〉

γ€ˆΒ¬a β†’ F b,3〉

γ€ˆΒ¬a β†’ F b,4γ€‰γ€ˆΒ¬a β†’ F b,5〉

3HEIGHT

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,0)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,1)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,2)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,3)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,4)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,5)〉

RG (¬a→ F b)

Page 113: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

M

M

M

γ€ˆΒ¬a β†’ F b,2〉

γ€ˆΒ¬a β†’ F b,1γ€‰γ€ˆΒ¬a β†’ F b,0〉

γ€ˆΒ¬a β†’ F b,3〉

γ€ˆΒ¬a β†’ F b,4γ€‰γ€ˆΒ¬a β†’ F b,5〉

3HEIGHT

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,0)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,1)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,2)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,3)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,4)〉

γ€ˆG (Β¬a β†’ F b), (Β¬a β†’ F b,5)〉

RG (¬a→ F b)

γ€ˆG (Β¬a β†’ F b),0γ€‰γ€ˆG (Β¬a β†’ F b),1γ€‰γ€ˆG (Β¬a β†’ F b),2γ€‰γ€ˆG (Β¬a β†’ F b),3γ€‰γ€ˆG (Β¬a β†’ F b),4γ€‰γ€ˆG (Β¬a β†’ F b),5〉

Page 114: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

Wγ€ˆG (Β¬a β†’ F b),0γ€‰γ€ˆG (Β¬a β†’ F b),1γ€‰γ€ˆG (Β¬a β†’ F b),2γ€‰γ€ˆG (Β¬a β†’ F b),3γ€‰γ€ˆG (Β¬a β†’ F b),4γ€‰γ€ˆG (Β¬a β†’ F b),5〉

4HEIGHT

Page 115: MapReduce for Parallel Trace Validation of LTL Properties

⊨ G (Β¬a β†’ F b)?

a a b c b a

Wγ€ˆG (Β¬a β†’ F b),0γ€‰γ€ˆG (Β¬a β†’ F b),1γ€‰γ€ˆG (Β¬a β†’ F b),2γ€‰γ€ˆG (Β¬a β†’ F b),3γ€‰γ€ˆG (Β¬a β†’ F b),4γ€‰γ€ˆG (Β¬a β†’ F b),5〉

4HEIGHT

True

Page 116: MapReduce for Parallel Trace Validation of LTL Properties

The trace can be stored inseparate (and non-contiguous)chunks

Mappers and reducers of agiven height can operate

in parallel

οΏ½ (a,0) (b,2)(a,1) (c,3)

(a,5) (b,4)

οΏ½R

RR

MM

M

Page 117: MapReduce for Parallel Trace Validation of LTL Properties

Tests on 500 randomly-generated traces

From 1 to 100,000 events

Each event contains 10 parametersnamed pβ‚€ to p₉ with 10 possible values

Page 118: MapReduce for Parallel Trace Validation of LTL Properties

G pβ‚€ β‰  0

G (pβ‚€ = 0 β†’ X p₁ = 0)

βˆ€x ∈ [0,9] : G (pβ‚€ = x β†’ X p₁ = x)

βˆƒm ∈ [0,9] : βˆ€x ∈ [0,9] : G (p = x β†’ X X p β‰  x)m m

1

2

3

4

Validation of 4 LTL formulas:

Page 119: MapReduce for Parallel Trace Validation of LTL Properties

PropertyTuples

Time/eventSequential ratio

Inferred time

55 k19 ΞΌs100%19 ΞΌs

120 k23 ΞΌs92%21 ΞΌs

600 k75 ΞΌs92%14 ΞΌs

5 M985 ΞΌs

3%30 ΞΌs

1 2 3 4

Page 120: MapReduce for Parallel Trace Validation of LTL Properties

MQuestions?