mapreduce for parallel trace validation of ltl properties
DESCRIPTION
We present an algorithm for the automated verification of Linear Temporal Logic formulae on event traces using an increasingly popular cloud computing framework called MapReduce. The algorithm can process multiple, arbitrary fragments of the trace in parallel, and compute its final result through a cycle of runs of MapReduce instances. Compared to classical, single-instance solutions, a proof-of-concept implementation shows through experimental evaluation how the algorithm reduces by as much as 90% the number of operations that must be performed linearly, resulting in a commensurate speed gain.TRANSCRIPT
![Page 1: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/2.jpg)
![Page 3: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/3.jpg)
System
![Page 4: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/4.jpg)
System
![Page 5: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/5.jpg)
System
Instrumentation
![Page 6: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/6.jpg)
System
Instrumentation
![Page 7: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/7.jpg)
System
Instrumentation
Trace
![Page 8: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/8.jpg)
System
Instrumentation
Trace
Events
![Page 9: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/9.jpg)
System
Instrumentation
Trace
Events
![Page 10: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/10.jpg)
System
Instrumentation
Trace
Events
Tracevalidation
![Page 11: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/11.jpg)
Iterator<T>
![Page 12: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/12.jpg)
Iterator<T>
hasNext
next
![Page 13: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/14.jpg)
B
A
![Page 15: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/15.jpg)
B
A
No CartCreate request can occurbefore a LoginResponse message
![Page 16: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/16.jpg)
Login
![Page 17: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/17.jpg)
Login
Three successive login attemptsshould trigger an alarm
![Page 18: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/18.jpg)
![Page 19: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/19.jpg)
Receive order
![Page 20: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/20.jpg)
Receive orderReady?
![Page 21: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/21.jpg)
Receive orderReady? Yes
![Page 22: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/22.jpg)
Receive orderReady? Yes
File order
No Ship
![Page 23: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/23.jpg)
Receive orderReady? Yes
File order
No Ship
A received order must eventuallybe shipped
![Page 24: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/25.jpg)
A
Groundterms
→¬∧→¬∧
Booleanconnectives
Temporaloperators
XGFU
nextgloballyeventuallyuntil
+ +
= Linear Temporal Logic
![Page 26: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/36.jpg)
Iterator<T> Java MOP
![Page 37: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/41.jpg)
f∞PageRank
![Page 42: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/42.jpg)
a 1
KeyValue
Tuple (baaah){
![Page 43: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/43.jpg)
Data source
![Page 44: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/44.jpg)
Data source
IIInput reader
![Page 45: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/45.jpg)
Data source
IIInput reader
. . .2 7a z
![Page 46: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/46.jpg)
2a. . . 2a
![Page 47: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/47.jpg)
2a. . . 2a M
Mapper
![Page 48: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/48.jpg)
2a. . . 2a M
Mapper
2a. . .6w
![Page 49: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/49.jpg)
a 23 g
a
3b3 b
2a. . . 2a M
Mapper
2a. . .6w
![Page 50: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/50.jpg)
3 aa 2
3a3a
b 9 3 ae 83a
bb
a
ab
![Page 51: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/51.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/52.jpg)
aa2a 2 3a
b9b
![Page 53: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/53.jpg)
aa2a 2 3a
b9b
Ra
Rb
Reducer
![Page 54: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/54.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/55.jpg)
a b a a b a
![Page 56: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/56.jpg)
a b a a b a
ab
ba
a a
![Page 57: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/57.jpg)
a b a a b a
ab
ba
a a I
![Page 58: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/58.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/59.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/60.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/61.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/62.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/63.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/64.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/65.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/66.jpg)
GG ∧∧
Subformula
Superformula
Formula
Subformula Subformula
Superformula
![Page 67: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/67.jpg)
1
0
2
3
∧
a c b
¬ F
G
1
0
2
4Height
→3
![Page 68: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/68.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/69.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/70.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/71.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/72.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/73.jpg)
M
![Page 74: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/74.jpg)
Input: tuples 〈φ,(n,i)〉
M
![Page 75: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/75.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/76.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/77.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/78.jpg)
“ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/79.jpg)
Rψ
![Page 80: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/80.jpg)
Rψ
Input:〈ψ,(φ,n,i)〉
![Page 81: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/81.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/82.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/83.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/84.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/85.jpg)
I
![Page 86: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/86.jpg)
I
Input: events (a,n)
![Page 87: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/87.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/88.jpg)
W
![Page 89: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/89.jpg)
Input: 〈ψ,(n,i)〉
W
![Page 90: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/90.jpg)
Input: 〈ψ,(n,i)〉
W
Output:
True if 〈ψ,(0,i)〉is read
False otherwise
![Page 91: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/91.jpg)
1
2
3
. . .II
RR
R
RR
R
R
RW
. . .
![Page 92: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/92.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/93.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/94.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/95.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/96.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/97.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/98.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/99.jpg)
![Page 100: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/100.jpg)
⊨ G (¬a → F b)?
a a b c b a
![Page 101: MapReduce for Parallel Trace Validation of LTL Properties](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/101.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/102.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/103.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/104.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/105.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/106.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/107.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/108.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/109.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/110.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/111.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/112.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/113.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/114.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/115.jpg)
⊨ 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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/116.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/117.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/118.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/119.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052508/55992e2e1a28ab217b8b46e3/html5/thumbnails/120.jpg)
MQuestions?