Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
On the optimal reachability problem
in weighted timed automata and games
Patricia Bouyer-Decitre
LSV, CNRS & ENS Cachan, France
1/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-dependent systems
We are interested in timed systems
... and in their analysis and control
2/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-dependent systems
We are interested in timed systems
... and in their analysis and control
2/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example: The task graph scheduling problem
Compute
P1
using two processors:
D×(C ×(A+B))+(A+B)+(C ×D)
(fast):
P2
(slow):
time
2 picoseconds
+
5 picoseconds
3 picoseconds
×
7 picoseconds
idle
20 Watts
in use
90 Watts
in use
30 Watts
Sch1
Sch2
Sch3
P1
T1
P2
P1
P2
10
T3
T1
P2
×
×
20
T5
T4
T3
T2
T4
T5
25
12 p
ic
1.39 osecon
ds
nano
joule
s
T6
T2
T1
T6
13 p
ic
1.37 osecon
ds
nano
joule
s
T6
T4
T3
+
T5
15
T5
+
T4
D
10 Watt
5
T2
T3
energy
idle
T2
D
×
C
+
0
C
T1
time
energy
B
+
×
P1
A
T6
19 p
ic
1.32 osecon
ds
nano
joule
s
[BFLM10] Bouyer, Fahrenberg, Larsen, Markey. Quantitative Analysis of Real-Time Systems using Priced Timed Automata
(Communication of the ACM).
4/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example: The task graph scheduling problem
Compute
P1
using two processors:
D×(C ×(A+B))+(A+B)+(C ×D)
(fast):
P2
(slow):
time
2 picoseconds
+
5 picoseconds
3 picoseconds
×
7 picoseconds
idle
20 Watts
in use
90 Watts
in use
30 Watts
Sch1
Sch2
Sch3
P1
T1
P2
P1
P2
10
T3
T1
P2
×
×
20
T5
T4
T3
T2
T4
T5
25
12 p
ic
1.39 osecon
ds
nano
joule
s
T6
T2
T1
T6
13 p
ic
1.37 osecon
ds
nano
joule
s
T6
T4
T3
+
T5
15
T5
+
T4
D
10 Watt
5
T2
T3
energy
idle
T2
D
×
C
+
0
C
T1
time
energy
B
+
×
P1
A
T6
19 p
ic
1.32 osecon
ds
nano
joule
s
[BFLM10] Bouyer, Fahrenberg, Larsen, Markey. Quantitative Analysis of Real-Time Systems using Priced Timed Automata
(Communication of the ACM).
4/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example: The task graph scheduling problem
Compute
P1
using two processors:
D×(C ×(A+B))+(A+B)+(C ×D)
(fast):
P2
(slow):
time
2 picoseconds
+
5 picoseconds
3 picoseconds
×
7 picoseconds
idle
20 Watts
in use
90 Watts
in use
30 Watts
Sch1
Sch2
Sch3
P1
T1
P2
P1
P2
10
T3
T1
P2
×
×
20
T5
T4
T3
T2
T4
T5
25
12 p
ic
1.39 osecon
ds
nano
joule
s
T6
T2
T1
T6
13 p
ic
1.37 osecon
ds
nano
joule
s
T6
T4
T3
+
T5
15
T5
+
T4
D
10 Watt
5
T2
T3
energy
idle
T2
D
×
C
+
0
C
T1
time
energy
B
+
×
P1
A
T6
19 p
ic
1.32 osecon
ds
nano
joule
s
[BFLM10] Bouyer, Fahrenberg, Larsen, Markey. Quantitative Analysis of Real-Time Systems using Priced Timed Automata
(Communication of the ACM).
4/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example: The task graph scheduling problem
Compute
P1
using two processors:
D×(C ×(A+B))+(A+B)+(C ×D)
(fast):
P2
(slow):
time
2 picoseconds
+
5 picoseconds
3 picoseconds
×
7 picoseconds
idle
20 Watts
in use
90 Watts
in use
30 Watts
Sch1
Sch2
Sch3
P1
T1
P2
P1
P2
10
T3
T1
P2
×
×
20
T5
T4
T3
T2
T4
T5
25
12 p
ic
1.39 osecon
ds
nano
joule
s
T6
T2
T1
T6
13 p
ic
1.37 osecon
ds
nano
joule
s
T6
T4
T3
+
T5
15
T5
+
T4
D
10 Watt
5
T2
T3
energy
idle
T2
D
×
C
+
0
C
T1
time
energy
B
+
×
P1
A
T6
19 p
ic
1.32 osecon
ds
nano
joule
s
[BFLM10] Bouyer, Fahrenberg, Larsen, Markey. Quantitative Analysis of Real-Time Systems using Priced Timed Automata
(Communication of the ACM).
4/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Outline
1
Timed automata
2
Weighted timed automata
3
Timed games
4
Weighted timed games
5
Tools
6
Towards applying all this theory to robotic systems
7
Conclusion
5/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
The model of timed automata
y
, 22≤
done
≤25
≤
,x
air
rep
problem,
safe
x:=0
15
0
y :=
alarm
repairing
repair
2≤y ∧x≤56
del
15≤
aye
x≤
16
d,
y :=
0
y :=0
failsafe
6/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
The model of timed automata
y
, 22≤
done
≤25
≤
,x
air
rep
problem,
x:=0
safe
15
0
y :=
alarm
aye
x≤
16
d,
y :=
0
23
−→
safe
problem
−−−−−→
repair
2≤y ∧x≤56
15≤
del
safe
repairing
alarm
15.6
−−→
y :=0
failsafe
alarm
delayed
−−−−−→
failsafe
x
0
23
0
15.6
15.6
y
0
23
23
38.6
0
failsafe
···
2.3
−−→
failsafe
repair
−−−−→
repairing
22.1
−−→
repairing
done
−−−→
···
safe
15.6
17.9
17.9
40
40
0
2.3
0
22.1
22.1
6/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
7/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
+
(x≤2)
P2 :
+
(y ≤5)
done1
add1
x=3
idle
x:=0
done1
mult1
×
x:=0
(x≤3)
y =5
y =7
done2
add2
done2
mult2
y :=0
idle
y :=0
×
(y ≤7)
7/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
x=3
done2
add2
y :=0
idle
idle
done2
mult2
y :=0
Tasks
T4 :
t1 ∧t2
T5 :
t3
t4 :=1
addi
donei
addi
donei
t5 :=1
×
(y ≤7)
7/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
x=3
done2
add2
y :=0
idle
idle
done2
mult2
y :=0
Tasks
T4 :
t1 ∧t2
T5 :
t3
t4 :=1
addi
donei
addi
donei
t5 :=1
×
(y ≤7)
; build the synchronized product of all these automata
(P1 k P2 ) ks (T1 k T2 k · · · k T6 )
7/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
x=3
done2
add2
y :=0
idle
idle
done2
mult2
y :=0
Tasks
T4 :
t1 ∧t2
T5 :
t3
t4 :=1
addi
donei
addi
donei
t5 :=1
×
(y ≤7)
; build the synchronized product of all these automata
(P1 k P2 ) ks (T1 k T2 k · · · k T6 )
A schedule: a path in the global system which reaches t1 ∧ · · · ∧ t6
7/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
x=3
done2
add2
y :=0
idle
idle
done2
mult2
y :=0
Tasks
T4 :
t1 ∧t2
T5 :
t3
t4 :=1
addi
donei
addi
donei
t5 :=1
×
(y ≤7)
; build the synchronized product of all these automata
(P1 k P2 ) ks (T1 k T2 k · · · k T6 )
A schedule: a path in the global system which reaches t1 ∧ · · · ∧ t6
Questions one can ask
Can the computation be made in no more than 10 time units?
Is there a scheduling along which no processor is ever idle?
···
7/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
x≤2, x:=0
x=1
x=0 ∧
y ≥2
y :=0
y ≥2, y :=0
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
Theorem [AD94]
Reachability in timed automata is decidable (as well as many other
important properties). It is PSPACE-complete.
Technical tool: region abstraction
Efficient symbolic technics based on zones, implemented in tools
[AD94] Alur, Dill. A Theory of Timed Automata (Theoretical Computer Science).
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Analyzing timed automata
y
2
x≤2, x:=0
x=1
x=0 ∧
y ≥2
1
y :=0
y ≥2, y :=0
x
0
1
2
Theorem [AD94]
Reachability in timed automata is decidable (as well as many other
important properties). It is PSPACE-complete.
Technical tool: region abstraction
Efficient symbolic technics based on zones, implemented in tools
[AD94] Alur, Dill. A Theory of Timed Automata (Theoretical Computer Science).
10/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: Region abstraction
clock y
clock x
“compatibility” between regions and constraints
“compatibility” between regions and time elapsing
11/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: Region abstraction
clock y
only constraints: x ∼ c with c ∈ {0, 1, 2}
y ∼ c with c ∈ {0, 1, 2}
2
1
0
clock x
0
1
2
“compatibility” between regions and constraints
“compatibility” between regions and time elapsing
11/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: Region abstraction
clock y
x=1
y =1
The path
- can be fired from
- cannot be fired from
2
1
0
clock x
0
1
2
“compatibility” between regions and constraints
“compatibility” between regions and time elapsing
11/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: Region abstraction
clock y
2
1
0
clock x
0
1
2
“compatibility” between regions and constraints
“compatibility” between regions and time elapsing
11/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: Region abstraction
clock y
2
1
0
clock x
0
1
2
“compatibility” between regions and constraints
“compatibility” between regions and time elapsing
; This is a finite time-abstract bisimulation!
11/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
∀
a
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
∀
∃
a
a
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
∀
∃
a
∀d ≥ 0
δ(d)
a
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
∀
∃
a
a
∀d ≥ 0
∃d 0 ≥ 0
δ(d)
δ(d 0 )
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
∀
∃
a
a
∀d ≥ 0
∃d 0 ≥ 0
δ(d)
δ(d 0 )
... and vice-versa (swap • and •).
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
a
∀
a
∃
δ(d)
∀d ≥ 0
δ(d 0 )
∃d 0 ≥ 0
... and vice-versa (swap • and •).
Consequence
∀
(`1 , v1 )
d1 ,a1
(`2 , v2 )
d2 ,a2
(`3 , v3 )
d3 ,a3
...
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
a
∀
a
∃
δ(d)
∀d ≥ 0
δ(d 0 )
∃d 0 ≥ 0
... and vice-versa (swap • and •).
Consequence
∀
(`1 , v1 )
(`1 , R1 )
d1 ,a1
a1
(`2 , v2 )
(`2 , R2 )
d2 ,a2
a2
(`3 , v3 )
(`3 , R3 )
d3 ,a3
...
a3
...
with vi ∈ Ri
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
a
∀
a
∃
δ(d)
∀d ≥ 0
δ(d 0 )
∃d 0 ≥ 0
... and vice-versa (swap • and •).
Consequence
∀
(`1 , v1 )
(`1 , R1 )
d1 ,a1
a1
(`2 , v2 )
(`2 , R2 )
d2 ,a2
a2
(`3 , v3 )
(`3 , R3 )
d3 ,a3
...
a3
...
with vi ∈ Ri
∀v10 ∈ R1
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Time-abstract bisimulation
This is a relation between • and • such that:
a
∀
a
∃
δ(d)
∀d ≥ 0
δ(d 0 )
∃d 0 ≥ 0
... and vice-versa (swap • and •).
Consequence
∀
(`1 , v1 )
(`1 , R1 )
∀v10 ∈ R1 ∃ (`1 , v10 )
d1 ,a1
a1
d10 ,a1
(`2 , v2 )
(`2 , R2 )
(`2 , v20 )
d2 ,a2
a2
d20 ,a2
(`3 , v3 )
(`3 , R3 )
(`3 , v30 )
d3 ,a3
...
a3
...
with vi ∈ Ri
...
with vi0 ∈ Ri
d30 ,a3
12/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
The region automaton
s2
y =1,b
x<1,c
x<1,c
x>0,a
s0
s1
s3
x>1,d
y :=0
y <1,a,y :=0
13/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
The region automaton
s2
y =1,b
x<1,c
x<1,c
x>0,a
s0
s1
s3
x>1,d
y :=0
y <1,a,y :=0
y
x
13/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
The region automaton
s2
y =1,b
x<1,c
x<1,c
x>0,a
s0
s1
s3
x>1,d
y :=0
y <1,a,y :=0
y
s0
x=y =0
b
a
a
a
x
s1
s1
0=y <x<1
y =0,x=1
c
a
s3
0<y <x<1
a
a
b
s1
b
y =0,x>1
s2
1=y <x
a
d
d
s3
d
d
0<y <1<x
s3
1=y <x
d
s3
x>1,y >1
d
d
d
13/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Outline
1
Timed automata
2
Weighted timed automata
3
Timed games
4
Weighted timed games
5
Tools
6
Towards applying all this theory to robotic systems
7
Conclusion
27/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling resources in timed systems
System resources might be relevant and even crucial information
28/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling resources in timed systems
System resources might be relevant and even crucial information
energy consumption,
memory usage,
price to pay,
bandwidth,
...
28/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling resources in timed systems
System resources might be relevant and even crucial information
energy consumption,
memory usage,
price to pay,
bandwidth,
...
; timed automata are not powerful enough!
28/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling resources in timed systems
System resources might be relevant and even crucial information
energy consumption,
memory usage,
price to pay,
bandwidth,
...
; timed automata are not powerful enough!
A possible solution: use hybrid automata
a discrete control (the mode of the system)
+ continuous evolution of the variables within a mode
28/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling resources in timed systems
System resources might be relevant and even crucial information
energy consumption,
memory usage,
price to pay,
bandwidth,
...
; timed automata are not powerful enough!
A possible solution: use hybrid automata
The thermostat example
T ≤19
Off
On
Ṫ =−0.5T
Ṫ =2.25−0.5T
(T ≥18)
(T ≤22)
T ≥21
28/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling resources in timed systems
System resources might be relevant and even crucial information
energy consumption,
price to pay,
memory usage,
bandwidth,
...
; timed automata are not powerful enough!
A possible solution: use hybrid automata
The thermostat example
T ≤19
Off
On
Ṫ =−0.5T
Ṫ =2.25−0.5T
(T ≥18)
(T ≤22)
T ≥21
22
21
19
18
2
4
6
8
10
time
28/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Ok...
29/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Ok...
Easy...
29/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Ok...
Easy...
29/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Ok...
Easy...
Easy...
29/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Ok... but?
Easy...
Easy...
constraint
constraint
29/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Ok... but?
Easy...
Easy...
constraint
constraint
Hard!
29/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling resources in timed systems
System resources might be relevant and even crucial information
energy consumption,
memory usage,
price to pay,
bandwidth,
...
; timed automata are not powerful enough!
A possible solution: use hybrid automata
Theorem [HKPV95]
The reachability problem is undecidable in hybrid automata. Even for the
simplest, the so-called stopwatch automata (clocks can be stopped).
[HKPV95] Henzinger, Kopke, Puri, Varaiya. What’s decidable wbout hybrid automata? (SToC’95).
30/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling resources in timed systems
System resources might be relevant and even crucial information
energy consumption,
memory usage,
price to pay,
bandwidth,
...
; timed automata are not powerful enough!
A possible solution: use hybrid automata
Theorem [HKPV95]
The reachability problem is undecidable in hybrid automata. Even for the
simplest, the so-called stopwatch automata (clocks can be stopped).
An alternative: weighted/priced timed automata [ALP01,BFH+01]
; hybrid variables do not constrain the system
hybrid variables are observer variables
[HKPV95] Henzinger, Kopke, Puri, Varaiya. What’s decidable wbout hybrid automata? (SToC’95).
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
30/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
Tasks
T4 :
x=3
done2
add2
y :=0
idle
idle
done2
mult2
y :=0
T5 :
t1 ∧t2
t4 :=1
addi
donei
addi
donei
t3
t5 :=1
×
(y ≤7)
31/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
done2
add2
idle
idle
y :=0
+90
P2 :
+30
(y ≤5)
done1
add1
+10
x:=0
y =5
done2
add2
x:=0
done2
mult2
y :=0
Modelling energy
x=2
P1 :
(x≤2)
Tasks
T4 :
x=3
t4 :=1
addi
donei
addi
donei
t3
t5 :=1
×
(y ≤7)
x=3
done1
mult1
x:=0
y =7
+20
T5 :
t1 ∧t2
done2
mult2
x:=0
+90
(x≤3)
A good schedule is a path in the
product automaton with a low cost
+30
(y ≤7)
31/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
+1
+7
,
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
+1
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+7
+1
x
y
`0
0
0
1.3
−−→
`0
1.3
1.3
c
−−→
`1
1.3
0
u
−−→
`3
1.3
0
0.7
−−−→
`3
2
0.7
c
−−→
,
,
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
+1
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+7
+1
x
y
`0
0
0
1.3
−−→
`0
1.3
1.3
c
−−→
`1
1.3
0
u
−−→
`3
1.3
0
0.7
−−−→
`3
2
0.7
c
−−→
,
,
cost :
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
+1
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+7
+1
x
y
cost :
`0
0
0
1.3
−−→
`0
1.3
1.3
c
−−→
`1
1.3
0
u
−−→
`3
1.3
0
0.7
−−−→
`3
2
0.7
c
−−→
,
,
6.5
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
+1
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+7
+1
x
y
cost :
`0
0
0
1.3
c
−−→
`0
1.3
1.3
−−→
6.5
+
0
`1
1.3
0
u
−−→
`3
1.3
0
0.7
−−−→
`3
2
0.7
c
−−→
,
,
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
+1
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+7
+1
x
y
cost :
`0
0
0
1.3
c
u
−−→
`0
1.3
1.3
−−→
`1
1.3
0
−−→
6.5
+
0
+
0
`3
1.3
0
0.7
−−−→
`3
2
0.7
c
−−→
,
,
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
+1
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+7
+1
x
y
cost :
`0
0
0
1.3
c
u
0.7
−−→
`0
1.3
1.3
−−→
`1
1.3
0
−−→
`3
1.3
0
−−−→
6.5
+
0
+
0
+
0.7
`3
2
0.7
c
−−→
,
,
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
+1
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+7
+1
x
y
cost :
`0
0
0
1.3
c
u
0.7
c
−−→
`0
1.3
1.3
−−→
`1
1.3
0
−−→
`3
1.3
0
−−−→
`3
2
0.7
−−→
6.5
+
0
+
0
+
0.7
+
7
,
,
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
+1
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+7
+1
x
y
cost :
`0
0
0
1.3
c
u
0.7
c
−−→
`0
1.3
1.3
−−→
`1
1.3
0
−−→
`3
1.3
0
−−−→
`3
2
0.7
−−→
6.5
+
0
+
0
+
0.7
+
7
,
,
= 14.2
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
Question: what is the optimal cost for reaching
+1
+7
,
,?
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
Question: what is the optimal cost for reaching
inf
0≤t≤2
+1
+7
,
,?
min ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 9
; strategy: leave immediately `0 , go to `3 , and wait there 2 t.u.
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
Question: what is the optimal cost for reaching
inf
0≤t≤2
+1
+7
,
,?
min ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 9
; strategy: leave immediately `0 , go to `3 , and wait there 2 t.u.
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
Question: what is the optimal cost for reaching
inf
0≤t≤2
+1
+7
,
,?
min ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 9
; strategy: leave immediately `0 , go to `3 , and wait there 2 t.u.
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
Question: what is the optimal cost for reaching
inf
0≤t≤2
+1
+7
,
,?
min ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 9
; strategy: leave immediately `0 , go to `3 , and wait there 2 t.u.
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Weighted/priced timed automata
[ALP01,BFH+01]
+10
`2
u
x =2
,c
u
,c
x =2
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
Question: what is the optimal cost for reaching
inf
0≤t≤2
+1
+7
,
,?
min ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 9
; strategy: leave immediately `0 , go to `3 , and wait there 2 t.u.
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
32/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Optimal-cost reachability
Theorem [ALP01,BFH+01,BBBR07]
In weighted timed automata, the optimal cost is an integer and can be
computed in PSPACE.
Technical tool: a refinement of the regions, the corner-point
abstraction
0
3
0 0
7
0
0
7
3
Symbolic technics based on priced zones
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
[BBBR07] Bouyer, Brihaye, Bruyère, Raskin. On the optimal reachability problem (Formal Methods in System Design).
33/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Optimal-cost reachability
Theorem [ALP01,BFH+01,BBBR07]
In weighted timed automata, the optimal cost is an integer and can be
computed in PSPACE.
Technical tool: a refinement of the regions, the corner-point
abstraction
0
3
0 0
7
0
0
7
3
Symbolic technics based on priced zones
[ALP01] Alur, La Torre, Pappas. Optimal paths in weighted timed automata (HSCC’01).
[BFH+01] Behrmann, Fehnker, Hune, Larsen, Pettersson, Romijn, Vaandrager. Minimum-cost reachability in priced timed automata (HSCC’01).
[BBBR07] Bouyer, Brihaye, Bruyère, Raskin. On the optimal reachability problem (Formal Methods in System Design).
33/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
y
x
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
y
x
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
y
Abstract time successors:
x
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
y
Abstract time successors:
x
Concrete time successors:
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
y
Abstract time successors:
x
Concrete time successors:
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
y
Abstract time successors:
x
Concrete time successors:
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
y
Abstract time successors:
x
Concrete time successors:
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
y
Abstract time successors:
x
Concrete time successors:
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
Time elapsing
Discrete transition
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
0
3
0
0
7
0
0
3
7
Cost rate 3
Discrete cost 7
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Technical tool: the corner-point abstraction
0
3
0
0
7
0
0
3
7
Cost rate 3
Discrete cost 7
Optimal cost in the weighted graph
= optimal cost in the weighted timed automaton!
34/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Outline
1
Timed automata
2
Weighted timed automata
3
Timed games
4
Weighted timed games
5
Tools
6
Towards applying all this theory to robotic systems
7
Conclusion
48/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
done2
add2
idle
idle
y :=0
+90
P2 :
+30
(y ≤5)
done1
add1
+10
x:=0
y =5
done2
add2
x:=0
done2
mult2
y :=0
Modelling energy
x=2
P1 :
(x≤2)
Tasks
T4 :
x=3
t4 :=1
addi
donei
addi
donei
t3
t5 :=1
×
(y ≤7)
x=3
done1
mult1
x:=0
y =7
+20
T5 :
t1 ∧t2
done2
mult2
x:=0
+90
(x≤3)
+30
(y ≤7)
49/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
done2
add2
idle
idle
y :=0
+90
P2 :
+30
(y ≤5)
done1
add1
+10
x:=0
y =5
done2
add2
x:=0
done2
mult2
y :=0
Modelling energy
x=2
P1 :
(x≤2)
Tasks
T4 :
x=3
T5 :
t4 :=1
addi
donei
addi
donei
t3
t5 :=1
×
(y ≤7)
Modelling uncertainty
x=3
done1
mult1
x:=0
y =7
+20
t1 ∧t2
done2
mult2
x:=0
P1 :
+90
+
(x≤3)
(x≤2)
+30
P2 :
+
(y ≤7)
(x≤2)
x≥1
x≥1
done1
done1
add1
idle
x:=0
mult1
x:=0
y ≥3
y ≥2
done2
done2
add2
x:=0
idle
mult2
x:=0
×
(x≤3)
×
(x≤3)
49/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Modelling the task graph scheduling problem
Processors
x=2
P1 :
done1
mult1
×
x:=0
x:=0
(x≤3)
y =5
y =7
+
done1
add1
(x≤2)
P2 :
+
(y ≤5)
done2
add2
idle
idle
y :=0
+90
P2 :
+30
(y ≤5)
done1
add1
+10
x:=0
y =5
done2
add2
x:=0
done2
mult2
y :=0
Modelling energy
x=2
P1 :
(x≤2)
Tasks
T4 :
x=3
T5 :
t4 :=1
addi
donei
addi
donei
t3
t5 :=1
A (good) schedule is a strategy in
the product game (with a low cost)
Modelling uncertainty
x=3
done1
mult1
x:=0
y =7
+20
×
(y ≤7)
t1 ∧t2
done2
mult2
x:=0
P1 :
+90
+
(x≤3)
(x≤2)
+30
P2 :
+
(y ≤7)
(x≤2)
x≥1
x≥1
done1
done1
add1
idle
x:=0
mult1
x:=0
y ≥3
y ≥2
done2
done2
add2
x:=0
idle
mult2
x:=0
×
(x≤3)
×
(x≤3)
49/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
,
x≤1,c3
c2
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
,
x≤1,c3
c2
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
,
x≤1,c3
c2
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
,
x≤1,c3
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
A (memoryless) winning strategy
from (`0 , 0), play (0.5, c1 )
c2
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
c2
/
,
x≤1,c3
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
A (memoryless) winning strategy
from (`0 , 0), play (0.5, c1 )
; can be preempted by u2
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
,
x≤1,c3
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
A (memoryless) winning strategy
from (`0 , 0), play (0.5, c1 )
; can be preempted by u2
from (`2 , ?), play (1 − ?, c2 )
c2
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
,
x≤1,c3
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
A (memoryless) winning strategy
from (`0 , 0), play (0.5, c1 )
; can be preempted by u2
from (`2 , ?), play (1 − ?, c2 )
c2
from (`3 , 1), play (0, c3 )
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
,
x≤1,c3
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
A (memoryless) winning strategy
from (`0 , 0), play (0.5, c1 )
; can be preempted by u2
from (`2 , ?), play (1 − ?, c2 )
c2
from (`3 , 1), play (0, c3 )
`3
from (`1 , 1), play (1, c4 )
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
,
x≤1,c3
Problems to be considered
c2
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
,
x≤1,c3
Problems to be considered
Does there exist a winning strategy?
c2
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
An example of a timed game
Rule of the game
(x≤2)
x≥1,u3
`0
x≤1,c1
x≥2,c4
x<1,u2 ,x:=0
`1
x<1,u1
`2
/
Aim: avoid
/ and reach ,
How do we play? According to a
strategy:
f : history 7→ (delay, cont. transition)
,
x≤1,c3
Problems to be considered
Does there exist a winning strategy?
c2
If yes, compute one (as simple as possible).
`3
50/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Decidability of timed games
Theorem [AMPS98,HK99]
Reachability and safety timed games are decidable and
EXPTIME-complete. Furthermore memoryless and “region-based”
strategies are sufficient.
; classical regions are sufficient for solving such problems
a region-closed attractor can be computed
Theorem [AM99,BHPR07,JT07]
Optimal-time reachability timed games are decidable and
EXPTIME-complete.
[AMPS98] Asarin, Maler, Pnueli, Sifakis. Controller synthesis for timed automata (SSC’98).
[HK99] Henzinger, Kopke. Discrete-time control for rectangular hybrid automata (Theoretical Computer Science).
51/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Decidability of timed games
Theorem [AMPS98,HK99]
Reachability and safety timed games are decidable and
EXPTIME-complete. Furthermore memoryless and “region-based”
strategies are sufficient.
; classical regions are sufficient for solving such problems
a region-closed attractor can be computed
Theorem [AM99,BHPR07,JT07]
Optimal-time reachability timed games are decidable and
EXPTIME-complete.
[AMPS98] Asarin, Maler, Pnueli, Sifakis. Controller synthesis for timed automata (SSC’98).
[HK99] Henzinger, Kopke. Discrete-time control for rectangular hybrid automata (Theoretical Computer Science).
51/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Decidability of timed games
Theorem [AMPS98,HK99]
Reachability and safety timed games are decidable and
EXPTIME-complete. Furthermore memoryless and “region-based”
strategies are sufficient.
; classical regions are sufficient for solving such problems
a region-closed attractor can be computed
Theorem [AM99,BHPR07,JT07]
Optimal-time reachability timed games are decidable and
EXPTIME-complete.
[AM99] Asarin, Maler. As soon as possible: time optimal control for timed automata (HSCC’99).
[BHPR07] Brihaye, Henzinger, Prabhu, Raskin. Minimum-time reachability in timed games (ICALP’07).
[JT07] Jurdziński, Trivedi. Reachability-time games on timed automata (ICALP’07).
51/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Outline
1
Timed automata
2
Weighted timed automata
3
Timed games
4
Weighted timed games
5
Tools
6
Towards applying all this theory to robotic systems
7
Conclusion
57/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
timed game
A simple
`2
u
x =2
,c
u
,c
x =2
x≤2,c,y :=0
`0
`1
(y =0)
`3
,
; strategy: wait in `0 , and when t = 43 , go to `1
58/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A simple weighted timed game
+10
`2
u
x =2
,c
u
c
=2,
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
x
+1
+7
,
; strategy: wait in `0 , and when t = 43 , go to `1
58/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A simple weighted timed game
+10
`2
u
x =2
,c
u
c
=2,
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
x
+1
+7
,
Question: what is the optimal cost we can ensure while reaching
,?
; strategy: wait in `0 , and when t = 43 , go to `1
58/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A simple weighted timed game
+10
`2
u
x =2
,c
u
c
=2,
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
x
+1
+7
,
Question: what is the optimal cost we can ensure while reaching
inf
0≤t≤2
,?
max ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 14 +
1
3
; strategy: wait in `0 , and when t = 43 , go to `1
58/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A simple weighted timed game
+10
`2
u
x =2
,c
u
c
=2,
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
x
+1
+7
,
Question: what is the optimal cost we can ensure while reaching
inf
0≤t≤2
,?
max ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 14 +
1
3
; strategy: wait in `0 , and when t = 43 , go to `1
58/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A simple weighted timed game
+10
`2
u
x =2
,c
u
c
=2,
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
x
+1
+7
,
Question: what is the optimal cost we can ensure while reaching
inf
0≤t≤2
,?
max ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 14 +
1
3
; strategy: wait in `0 , and when t = 43 , go to `1
58/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A simple weighted timed game
+10
`2
u
x =2
,c
u
c
=2,
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
x
+1
+7
,
Question: what is the optimal cost we can ensure while reaching
inf
0≤t≤2
,?
max ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 14 +
1
3
; strategy: wait in `0 , and when t = 43 , go to `1
58/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A simple weighted timed game
+10
`2
u
x =2
,c
u
c
=2,
x≤2,c,y :=0
`0
`1
+5
(y =0)
`3
+1
x
+1
+7
,
Question: what is the optimal cost we can ensure while reaching
inf
0≤t≤2
,?
max ( 5t + 10(2 − t) + 1 , 5t + (2 − t) + 7 ) = 14 +
1
3
; strategy: wait in `0 , and when t = 43 , go to `1
58/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Optimal reachability in weighted timed games (1)
This topic has been fairly hot these last fifteen years...
[LMM02,ABM04,BCFL04,BBR05,BBM06,BLMR06,Rut11,HIM13,BGK+14]
[LMM02] La Torre, Mukhopadhyay, Murano. Optimal-reachability and control for acyclic weighted timed automata (TCS@02).
[ABM04] Alur, Bernardsky, Madhusudan. Optimal reachability in weighted timed games (ICALP’04).
[BCFL04] Bouyer, Cassez, Fleury, Larsen. Optimal strategies in priced timed game automata (FSTTCS’04).
[BBR05] Brihaye, Bruyère, Raskin. On optimal timed strategies (FORMATS’05).
[BBM06] Bouyer, Brihaye, Markey. Improved undecidability results on weighted timed automata (Information Processing Letters).
[BLMR06] Bouyer, Larsen, Markey, Rasmussen. Almost-optimal strategies in one-clock priced timed automata (FSTTCS’06).
[Rut11] Rutkowski. Two-player reachability-price games on single-clock timed automata (QAPL’11).
[HIM13] Hansen, Ibsen-Jensen, Miltersen. A faster algorithm for solving one-clock priced timed games (CONCUR’13).
[BGK+14] Brihaye, Geeraerts, Krishna, Manasa, Monmege, Trivedi. Adding Negative Prices to Priced Timed Games (CONCUR’14).
59/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Optimal reachability in weighted timed games (1)
This topic has been fairly hot these last fifteen years...
[LMM02,ABM04,BCFL04,BBR05,BBM06,BLMR06,Rut11,HIM13,BGK+14]
[LMM02]
Tree-like weighted timed games can be solved in 2EXPTIME.
59/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Optimal reachability in weighted timed games (1)
This topic has been fairly hot these last fifteen years...
[LMM02,ABM04,BCFL04,BBR05,BBM06,BLMR06,Rut11,HIM13,BGK+14]
[LMM02]
Tree-like weighted timed games can be solved in 2EXPTIME.
[ABM04,BCFL04]
Depth-k weighted timed games can be solved in EXPTIME. There is a
symbolic algorithm to solve weighted timed games with a strongly
non-Zeno cost.
59/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Optimal reachability in weighted timed games (2)
[BBR05,BBM06,BJM15]
In weighted timed games, the optimal cost (and the value) cannot be
computed, as soon as games have three clocks or more.
60/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Optimal reachability in weighted timed games (2)
[BBR05,BBM06,BJM15]
In weighted timed games, the optimal cost (and the value) cannot be
computed, as soon as games have three clocks or more.
[BLMR06,Rut11,HIM13,BGK+14]
Turn-based optimal timed games are decidable in EXPTIME (resp.
PTIME) when automata have a single clock (resp. with two rates). They
are PTIME-hard.
60/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
Add− (x)
Add+ (x)
y =1,y :=0
y =1,y :=0
x=1,x:=0
z:=0
0
z=1,z:=0
1
The cost is increased by
y =1,y :=0
x=1,x:=0
z:=0
1
x0
y =1,y :=0
z=1,z:=0
0
The cost is increased by
1−x0
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
x=x0
y =y0
z :=
z :=
0
0
z=0
Add+ (x)
Add+ (x)
Add− (y )
+2
z=0
Add− (x)
Add− (x)
Add+ (y )
+1
,
,
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
x=x0
y =y0
z :=
z :=
0
0
z=0
Add+ (x)
Add+ (x)
Add− (y )
+2
z=0
Add− (x)
Add− (x)
Add+ (y )
+1
In
,, cost = 2x
0
+ (1 − y0 ) + 2
,
,
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
x=x0
y =y0
z :=
z :=
0
0
z=0
Add+ (x)
Add+ (x)
Add− (y )
+2
z=0
Add− (x)
Add− (x)
Add+ (y )
+1
,, cost = 2x + (1 − y ) + 2
In ,, cost = 2(1 − x ) + y + 1
In
0
0
0
,
,
0
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
x=x0
y =y0
z :=
z :=
0
0
z=0
Add+ (x)
Add+ (x)
Add− (y )
+2
z=0
Add− (x)
Add− (x)
Add+ (y )
+1
,, cost = 2x + (1 − y ) + 2
In ,, cost = 2(1 − x ) + y + 1
In
0
0
0
,
,
0
if y0 < 2x0 , player 2 chooses the first branch: cost > 3
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
x=x0
y =y0
z :=
z :=
0
0
z=0
Add+ (x)
Add+ (x)
Add− (y )
+2
z=0
Add− (x)
Add− (x)
Add+ (y )
+1
,, cost = 2x + (1 − y ) + 2
In ,, cost = 2(1 − x ) + y + 1
In
0
0
0
,
,
0
if y0 < 2x0 , player 2 chooses the first branch: cost > 3
if y0 > 2x0 , player 2 chooses the second branch: cost > 3
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
x=x0
y =y0
z :=
z :=
0
0
z=0
Add+ (x)
Add+ (x)
Add− (y )
+2
z=0
Add− (x)
Add− (x)
Add+ (y )
+1
,, cost = 2x + (1 − y ) + 2
In ,, cost = 2(1 − x ) + y + 1
In
0
0
0
,
,
0
if y0 < 2x0 , player 2 chooses the first branch: cost > 3
if y0 > 2x0 , player 2 chooses the second branch: cost > 3
if y0 = 2x0 , in both branches, cost = 3
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
x=x0
y =y0
z :=
z :=
0
0
z=0
Add+ (x)
Add+ (x)
Add− (y )
+2
z=0
Add− (x)
Add− (x)
Add+ (y )
+1
,, cost = 2x + (1 − y ) + 2
In ,, cost = 2(1 − x ) + y + 1
In
0
0
0
,
,
0
if y0 < 2x0 , player 2 chooses the first branch: cost > 3
if y0 > 2x0 , player 2 chooses the second branch: cost > 3
if y0 = 2x0 , in both branches, cost = 3
; player 2 can enforce cost 3 + |y0 − 2x0 |
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Given two clocks x and y , we can check whether y = 2x.
x=x0
y =y0
z :=
z :=
0
0
z=0
Add+ (x)
Add+ (x)
Add− (y )
+2
z=0
Add− (x)
Add− (x)
Add+ (y )
+1
,, cost = 2x + (1 − y ) + 2
In ,, cost = 2(1 − x ) + y + 1
In
0
0
0
,
,
0
if y0 < 2x0 , player 2 chooses the first branch: cost > 3
if y0 > 2x0 , player 2 chooses the second branch: cost > 3
if y0 = 2x0 , in both branches, cost = 3
; player 2 can enforce cost 3 + |y0 − 2x0 |
Player 1 has a winning strategy with cost ≤ 3 iff y0 = 2x0
63/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Player 1 will simulate a two-counter machine:
each instruction is encoded as a module;
the counter values c1 and c2 are encoded by two clocks:
1
1
x = c1
and
y = c2
2
2
64/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Player 1 will simulate a two-counter machine:
each instruction is encoded as a module;
the counter values c1 and c2 are encoded by two clocks:
1
1
x = c1
and
y = c2
2
2
The two-counter machine has a halting computation iff player 1 has a
winning strategy to ensure a cost no more than 3.
64/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Player 1 will simulate a two-counter machine:
each instruction is encoded as a module;
the counter values c1 and c2 are encoded by two clocks:
1
1
x = c1
and
y = c2
2
2
The two-counter machine has a halting computation iff player 1 has a
winning strategy to ensure a cost no more than 3.
Globally,
(x≤1,y ≤1,u≤1)
x=1,x:=0
∨ y =1,y :=0
u:=0
x=1,x:=0
∨ y =1,y :=0
z:=0
Testy (x=2z)
u=1,u:=0
(u=0)
64/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Player 1 will simulate a two-counter machine:
each instruction is encoded as a module;
the counter values c1 and c2 are encoded by two clocks:
1
1
x = c1
and
y = c2
2
2
The two-counter machine has a halting computation iff player 1 has a
winning strategy to ensure a cost no more than 3.
x=1,x:=0
∨ y =1,y :=0
u:=0
x=1,x:=0
∨ y =1,y :=0
z:=0
Testy (x=2z)
u=1,u:=0
(u=0)
64/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Player 1 will simulate a two-counter machine:
each instruction is encoded as a module;
the counter values c1 and c2 are encoded by two clocks:
1
1
x = c1
and
y = c2
2
2
The two-counter machine has a halting computation iff player 1 has a
winning strategy to ensure a cost no more than 3.
x=1,x:=0
∨ y =1,y :=0
u:=0
x=1,x:=0
∨ y =1,y :=0
z:=0
Ñ
x= 2c11
Testy (x=2z)
u=1,u:=0
(u=0)
é
y = 2c12
z=?
64/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Player 1 will simulate a two-counter machine:
each instruction is encoded as a module;
the counter values c1 and c2 are encoded by two clocks:
1
1
x = c1
and
y = c2
2
2
The two-counter machine has a halting computation iff player 1 has a
winning strategy to ensure a cost no more than 3.
x=1,x:=0
∨ y =1,y :=0
u:=0
x=1,x:=0
∨ y =1,y :=0
u=1,u:=0
z:=0
Ñ
x= 2c11
é
Testy (x=2z)
Ñ
x= 2c11 +α
(u=0)
é
y = 2c12
y = 2c12 +α
z=?
z=0
64/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Player 1 will simulate a two-counter machine:
each instruction is encoded as a module;
the counter values c1 and c2 are encoded by two clocks:
1
1
x = c1
and
y = c2
2
2
The two-counter machine has a halting computation iff player 1 has a
winning strategy to ensure a cost no more than 3.
x=1,x:=0
∨ y =1,y :=0
u:=0
x=1,x:=0
∨ y =1,y :=0
x= 2c11
é
(u=0)
u=1,u:=0
z:=0
Ñ
Testy (x=2z)
Ñ
x= 2c11 +α
é
Ñ
x= 2c11
y = 2c12
y = 2c12 +α
y = 2c12
z=?
z=0
z=α
é
64/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Computing the optimal cost: why is that hard?
Player 1 will simulate a two-counter machine:
each instruction is encoded as a module;
the counter values c1 and c2 are encoded by two clocks:
1
1
x = c1
and
y = c2
2
2
The two-counter machine has a halting computation iff player 1 has a
winning strategy to ensure a cost no more than 3.
x=1,x:=0
∨ y =1,y :=0
u:=0
x=1,x:=0
∨ y =1,y :=0
x= 2c11
é
(u=0)
u=1,u:=0
z:=0
Ñ
Testy (x=2z)
Ñ
x= 2c11 +α
é
y = 2c12
y = 2c12 +α
z=?
z=0
Ñ
x= 2c11
é
y = 2c12
z=
1
2c1 +1
64/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Are we done?
66/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Are we done? No!
66/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Are we done? No!
Optimal cost is computable...
... when cost is strongly non-zeno.
[AM04,BCFL04]
There is κ > 0 s.t. for every region cycle C , for every real run % read on C ,
cost(%) ≥ κ
Optimal cost is not computable...
... when cost is almost-strongly non-zeno.
There is κ > 0 s.t. for every region cycle C , for every real run % read on C ,
cost(%) ≥ κ
or
cost(%) = 0
66/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Are we done? No!
Optimal cost is computable...
... when cost is strongly non-zeno.
[AM04,BCFL04]
There is κ > 0 s.t. for every region cycle C , for every real run % read on C ,
cost(%) ≥ κ
Optimal cost is not computable... but is approximable!
... when cost is almost-strongly non-zeno.
[BJM15]
There is κ > 0 s.t. for every region cycle C , for every real run % read on C ,
cost(%) ≥ κ
or
cost(%) = 0
[BJM15] Bouyer, Jaziri, Markey. On the value problem in weighted timed games (CONCUR’15).
66/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Are we done? No!
Optimal cost is computable...
... when cost is strongly non-zeno.
[AM04,BCFL04]
There is κ > 0 s.t. for every region cycle C , for every real run % read on C ,
cost(%) ≥ κ
Optimal cost is not computable... but is approximable!
... when cost is almost-strongly non-zeno.
[BJM15]
There is κ > 0 s.t. for every region cycle C , for every real run % read on C ,
cost(%) ≥ κ
or
cost(%) = 0
Almost-optimality in practice should be sufficient
Even when we know how to compute the value, we are only able to
synthesize almost-optimal strategies...
[BJM15] Bouyer, Jaziri, Markey. On the value problem in weighted timed games (CONCUR’15).
66/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Idea of the proof: Semi-unfolding
Only cost 0
Kernel K
Only cost 0
Kernel K
69/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Idea of the proof: Semi-unfolding
(`,r )
Only cost 0
Kernel K
Only cost 0
Kernel K
(`,r )
69/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Idea of the proof: Semi-unfolding
(`,r )
Only cost 0
Kernel K
Only cost 0
Kernel K
(`,r )
69/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Idea of the proof: Semi-unfolding
(`,r )
Only cost 0
Kernel K
Hypothesis:
cost > 0 implies cost ≥ κ
Only cost 0
Kernel K
(`,r )
69/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Idea of the proof: Semi-unfolding
(`,r )
Only cost 0
Kernel K
Hypothesis:
cost > 0 implies cost ≥ κ
Only cost 0
Kernel K
(`,r )
Conclusion: we can stop unfolding the game after finitely many steps
69/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Approximation scheme
70/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Approximation scheme
70/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Approximation scheme
Exact computation
70/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Approximation scheme
Exact computation
70/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Approximation scheme
Approximation
Exact computation
70/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Outline
1
Timed automata
2
Weighted timed automata
3
Timed games
4
Weighted timed games
5
Tools
6
Towards applying all this theory to robotic systems
7
Conclusion
74/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Tools for (weighted) timed automata and games
Many tools and prototypes everywhere on earth...
Tool-suite Uppaal, developed in Aalborg (Denmark) and originally
Uppsala (Sweden) since 1995
Our new tool TiAMo, developed by Maximilien Colange (LSV),
using code by Ocan Sankur (IRISA)
TiAMo = Timed Automata
Model-checker
75/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Tools for (weighted) timed automata and games
Many tools and prototypes everywhere on earth...
Tool-suite Uppaal, developed in Aalborg (Denmark) and originally
Uppsala (Sweden) since 1995
Uppaal for timed automata
Uppaal-TiGa for timed games
Uppaal-Cora for weighted timed automata
Our new tool TiAMo, developed by Maximilien Colange (LSV),
using code by Ocan Sankur (IRISA)
TiAMo = Timed Automata
Model-checker
Uppaal url: http://www.uppaal.org
75/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Tools for (weighted) timed automata and games
Many tools and prototypes everywhere on earth...
Tool-suite Uppaal, developed in Aalborg (Denmark) and originally
Uppsala (Sweden) since 1995
Our new tool TiAMo, developed by Maximilien Colange (LSV),
using code by Ocan Sankur (IRISA)
TiAMo = Timed Automata
Model-checker
Uppaal url: http://www.uppaal.org
75/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Tools for (weighted) timed automata and games
Many tools and prototypes everywhere on earth...
Tool-suite Uppaal, developed in Aalborg (Denmark) and originally
Uppsala (Sweden) since 1995
Our new tool TiAMo, developed by Maximilien Colange (LSV),
using code by Ocan Sankur (IRISA)
TiAMo = Timed Automata
Model-checker
Uppaal url: http://www.uppaal.org
TiAMo url: https://git.lsv.fr/colange/tiamo
[BCM16] Bouyer, Colange, Markey. Symbolic optimal reachability in weighted timed automata (CAV’16).
75/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Tools for (weighted) timed automata and games
Many tools and prototypes everywhere on earth...
Tool-suite Uppaal, developed in Aalborg (Denmark) and originally
Uppsala (Sweden) since 1995
Our new tool TiAMo, developed by Maximilien Colange (LSV),
using code by Ocan Sankur (IRISA)
TiAMo = Timed Automata
Model-checker
Timed automata:
(time-optimal) reachability
Weighted timed automata:
optimal rechability
Uppaal url: http://www.uppaal.org
TiAMo url: https://git.lsv.fr/colange/tiamo
[BCM16] Bouyer, Colange, Markey. Symbolic optimal reachability in weighted timed automata (CAV’16).
75/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Tools for (weighted) timed automata and games
Many tools and prototypes everywhere on earth...
Tool-suite Uppaal, developed in Aalborg (Denmark) and originally
Uppsala (Sweden) since 1995
Our new tool TiAMo, developed by Maximilien Colange (LSV),
using code by Ocan Sankur (IRISA)
TiAMo = Timed Automata
Model-checker
Timed automata:
(time-optimal) reachability
Aims at being a platform for
experiments (open source!)
Weighted timed automata:
optimal rechability
Aims at asserting and
comparing algorithms
Uppaal url: http://www.uppaal.org
TiAMo url: https://git.lsv.fr/colange/tiamo
[BCM16] Bouyer, Colange, Markey. Symbolic optimal reachability in weighted timed automata (CAV’16).
75/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Outline
1
Timed automata
2
Weighted timed automata
3
Timed games
4
Weighted timed games
5
Tools
6
Towards applying all this theory to robotic systems
7
Conclusion
83/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Example problem, objective and approach
storage 2
storage 1
Goal: Synthesize a controller:
conveyor belt
Which robot handles an object
robot 1
robot 2
controller
controller
Infinitely many configurations
Complex behaviour
How to avoid collision
Don’t miss any object
Approach:
Discretization of the behaviour
via a fixed set of continuous
controllers
Create an abstraction and use
previous results
Mechanical constraints
[BMPS15] Bouyer, Markey, Perrin, Schlehuber-Caissier. Timed-Automata Abstraction of Switched Dynamical Systems Using Control Funnels
(FORMATS’15).
84/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Example problem, objective and approach
storage 2
storage 1
Goal: Synthesize a controller:
conveyor belt
Which robot handles an object
How to avoid collision
robot 1
robot 2
controller
controller
Infinitely many configurations
Complex behaviour
Don’t miss any object
Approach:
Discretization of the behaviour
via a fixed set of continuous
controllers
Create an abstraction and use
previous results
Mechanical constraints
[BMPS15] Bouyer, Markey, Perrin, Schlehuber-Caissier. Timed-Automata Abstraction of Switched Dynamical Systems Using Control Funnels
(FORMATS’15).
84/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Example problem, objective and approach
storage 2
storage 1
Goal: Synthesize a controller:
conveyor belt
Which robot handles an object
How to avoid collision
robot 1
robot 2
controller
controller
Infinitely many configurations
Complex behaviour
Don’t miss any object
Approach:
Discretization of the behaviour
via a fixed set of continuous
controllers
Create an abstraction and use
previous results
Mechanical constraints
[BMPS15] Bouyer, Markey, Perrin, Schlehuber-Caissier. Timed-Automata Abstraction of Switched Dynamical Systems Using Control Funnels
(FORMATS’15).
84/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Example problem, objective and approach
storage 2
storage 1
Goal: Synthesize a controller:
conveyor belt
Which robot handles an object
How to avoid collision
robot 1
robot 2
controller
controller
Infinitely many configurations
Complex behaviour
Don’t miss any object
Approach:
Discretization of the behaviour
via a fixed set of continuous
controllers
Create an abstraction and use
previous results
Mechanical constraints
[BMPS15] Bouyer, Markey, Perrin, Schlehuber-Caissier. Timed-Automata Abstraction of Switched Dynamical Systems Using Control Funnels
(FORMATS’15).
84/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Our approach
Simplistic idea: fixed set of reference trajectories + property
Corresponding timed automaton:
,
a≤t≤b
t = a12
t := c12
P1
(t ∈ I1 )
P2
t := c21
t = a21
(t ∈ I2 )
85/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Our approach
Simplistic idea: fixed set of reference trajectories + property
Corresponding timed automaton:
,
a≤t≤b
t = a12
t := c12
P1
(t ∈ I1 )
P2
t := c21
t = a21
(t ∈ I2 )
85/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Our approach
More realistic idea: fixed set of funnels for control law + property
85/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Our approach
More realistic idea: fixed set of funnels for control law + property
Corresponding timed automaton:
,
a≤t≤b
a12 ≤ t ≤ b12
t := c12
F1
(t ∈ I1 )
F2
t := c21
a21 ≤ t ≤ b21
(t ∈ I2 )
85/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Control funnels
x2
System with continuous dynamics ẋ = f (x, t)
x1
A (control) funnel is a trajectory F(t) of a set in the state space such
that, for any trajectory x(t) of the dynamical system:
∀t0 ∈ R, x(t0 ) ∈ F(t0 ) ⇒ ∀t ≥ t0 , x(t) ∈ F(t)
86/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Control funnels
x2
System with continuous dynamics ẋ = f (x, t)
x1
A (control) funnel is a trajectory F(t) of a set in the state space such
that, for any trajectory x(t) of the dynamical system:
∀t0 ∈ R, x(t0 ) ∈ F(t0 ) ⇒ ∀t ≥ t0 , x(t) ∈ F(t)
86/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Control funnels
x2
System with continuous dynamics ẋ = f (x, t)
x1
A (control) funnel is a trajectory F(t) of a set in the state space such
that, for any trajectory x(t) of the dynamical system:
∀t0 ∈ R, x(t0 ) ∈ F(t0 ) ⇒ ∀t ≥ t0 , x(t) ∈ F(t)
x2
F(t0 )
F(t)
x1
86/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Example
obstacle
88/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Example
obstacle
F11 (β1 )
F11 (α1 )
F22 (α2 )
F22 (β2 )
F31 (γ2 )
F21 (γ1 )
ct : positional clock; ch : local clock
F11
(ct ∈I11 )
α1 ≤ct ≤β1
ct :=γ1 ; ch :=0
F21
(ct ∈I21 )
ch ≥∆
ch :=0
F22
(ct ∈I22 )
α2 ≤ct ≤β2
ct :=γ2 , ch :=0
F31
(ct ∈I31 )
88/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Summary
storage 2
storage 1
conveyor belt
robot 1
robot 2
controller
controller
;
(huge) timed automata/games
(with weights), with few clocks
89/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Summary
storage 2
storage 1
conveyor belt
robot 1
robot 2
controller
controller
;
(huge) timed automata/games
(with weights), with few clocks
89/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Summary
storage 2
storage 1
conveyor belt
robot 1
robot 2
controller
controller
;
(huge) timed automata/games
(with weights), with few clocks
←
winning (optimal) strategy
89/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Summary
storage 2
storage 1
conveyor belt
robot 1
robot 2
controller
controller
safe (good) controller
;
(huge) timed automata/games
(with weights), with few clocks
←
winning (optimal) strategy
89/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A pick-and-place example
1d point mass
90/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
A pick-and-place example
1d point mass
Funnel system
90/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
1
2
4
3
7
6
5
ref
sys
6
4
1 2
3
5
7
93/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Current challenges
For control people
Handle more non-linear systems (automatically build control funnels)
For us
Does not scale up very well so far (huge timed automata models)
Build the model on-demand?
But, can we give guarantees (optimality) when only part of the
model has been built?
Develop specific algorithms for the special timed automata we
construct?
Implement efficient approx. algorithm for weighted timed games
94/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Current challenges
For control people
Handle more non-linear systems (automatically build control funnels)
For us
Does not scale up very well so far (huge timed automata models)
Build the model on-demand?
But, can we give guarantees (optimality) when only part of the
model has been built?
Develop specific algorithms for the special timed automata we
construct?
Implement efficient approx. algorithm for weighted timed games
94/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Outline
1
Timed automata
2
Weighted timed automata
3
Timed games
4
Weighted timed games
5
Tools
6
Towards applying all this theory to robotic systems
7
Conclusion
95/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Conclusion
Summary of the talk
Overview of results concerning the optimal reachability problem in
weighted timed automata and games
Our new tool TiAMo
Future work
Various theoretical issues
Apply further the idea of approximation
Robustness issues
Continue working on TiAMo
Implementation of (weighted) timed games (good data structures,
abstractions, etc.)
More applications with specific challenges (e.g. robotic problems)
96/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Conclusion
Summary of the talk
Overview of results concerning the optimal reachability problem in
weighted timed automata and games
Our new tool TiAMo
Future work
Various theoretical issues
Apply further the idea of approximation
Robustness issues
Continue working on TiAMo
Implementation of (weighted) timed games (good data structures,
abstractions, etc.)
More applications with specific challenges (e.g. robotic problems)
96/96
Timed automata Weighted timed automata Timed games Weighted timed games Tools Towards further applications Conclusion
Conclusion
Summary of the talk
Overview of results concerning the optimal reachability problem in
weighted timed automata and games
Our new tool TiAMo
Future work
Various theoretical issues
Apply further the idea of approximation
Robustness issues
Continue working on TiAMo
Implementation of (weighted) timed games (good data structures,
abstractions, etc.)
More applications with specific challenges (e.g. robotic problems)
96/96
© Copyright 2026 Paperzz