Upload
phungthuy
View
215
Download
0
Embed Size (px)
Citation preview
Discretely FasterImproving Controller Latency in Discrete Controller
Synthesis
Ezequiel Castellano Universidad de Buenos Aires, Argentina
in collaboration with V. Braberman, N. D’Ippolito, S. Uchitel,
Motivating Example Possible Solutions
Robot 1
Robot 2
Position A
Position B
Flying Area 1
Flying Area 2
Motivating Example Possible Solutions
E || xi ⊨ GR1
R2
Pos. A
Pos. B Robot 1 at Pos A and
Robot 2 at Pos B
forall f: Flying Area #robots(f) <= 1
Motivating Example Possible Solutions
E || xi ⊨ G
R1
R2Pos. A
Pos. B
R1
R2Pos. A
Pos. B
R1
R2Pos. A
Pos. B
T = R2toB + R1toAR1
R2Pos. A
Pos. B
Motivating Example Possible Solutions
E || xj ⊨ G
R1
R2Pos. A
Pos. B
T = R2toB or R1toA
R1
R2
Pos. A
Pos. B
R1
R2
Pos. A
Pos. B
Hard Goals vs Soft GoalsMove R1 to A and R2 to B
avoiding crashes
forall f: Flying Area#robots(f) <= 1
R1 at Pos Aand
R2 at Pos B
Move R1 to A Move R2 to B
Move R2 (FA2) to B
Air Trafic Control
Robot 1 Move R2 (FA1) to B
Robot 2
Lower Latency
+ -
sR1.a1.pA eR1.a1.pA
Symbolic Interpretation of Time
u<=0
[u=0]sR1.a1.pB
{u,x1}
[x1=T1]eR1.a1.pB
{u}x1<=T1 u<=0{u} u<=0
[u=0]sR1.a1.pB
{u,x1}
[x1=T1]eR1.a1.pB
{u}x1<=T1 u<=0u<=0[u=0]
sF{u, xf}
u<=0[xf=Tf]
eF{u}{u}
Time
Latencyt0 tf
Latencyt0 tf
Non transient Transient
robot 1
flying area 1
position AR1.a1.pA
reseted clocks
condition invariant
Time in LTS Measuring and Comparing
Time
Latencyt0 tf
u<=0
[Xa=Ta]eR1.a1.pA
{u}[u=0]
sR2.a2.pB{u,Xb}
[u=0]sR1.a1.pA{u,Xa}
[Xb=Tb]eR2.a2.pB
{u}
u<=0
Xb<=TbXa<=Ta
u<=0
Xb<=Tb
[Xb=Tb]eR2.a2.pB
{u}
Xb<=Tb
[Xb=Tb]eR2.a2.pB
{u}
[u=0]sR1.a1.pA{u,Xa}
[Xa=Ta]eR1.a1.pA
{u}
u<=0
u<=0
u<=0[u=0]
sF{u, xf}{u}
[xf=Tf]eF{u}
Transient
Non transient
Time in LTS Measuring and Comparing
Time
Latencyt0 tf
u<=0
[Xa=Ta]eR1.a1.pA
{u}[u=0]
sR2.a2.pB{u,Xb}
[u=0]sR1.a1.pA{u,Xa}
[Xb=Tb]eR2.a2.pB
{u}
u<=0
Xb<=TbXa<=Ta
u<=0
Xb<=Tb
[Xb=Tb]eR2.a2.pB
{u}
Xb<=Tb
[Xb=Tb]eR2.a2.pB
{u}
[u=0]sR1.a1.pA{u,Xa}
[Xa=Ta]eR1.a1.pA
{u}
u<=0
u<=0
u<=0[u=0]
sF{u, xf}{u}
[xf=Tf]eF{u}
(Ta<=Tb and
Tf =Tb)
(Ta<=Tb and Tf =Tb)
Time in LTS Measuring and Comparing
Time
Latencyt0 tf
u<=0
[Xa=Ta]eR1.a1.pA
{u}[u=0]
sR2.a2.pB{u,Xb}
[u=0]sR1.a1.pA{u,Xa}
[Xb=Tb]eR2.a2.pB
{u}
u<=0
Xb<=TbXa<=Ta
u<=0
Xb<=Tb
[Xb=Tb]eR2.a2.pB
{u}
Xb<=Tb
[Xb=Tb]eR2.a2.pB
{u}
[u=0]sR1.a1.pA{u,Xa}
[Xa=Ta]eR1.a1.pA
{u}
u<=0
u<=0
u<=0[u=0]
sF{u, xf}{u}
[xf=Tf]eF{u}
(Tb<=Ta and
Tf =Ta)
(Ta<=Tb and Tf =Tb)
(Tb<=Ta and Tf =Ta)
Time in LTS Measuring and Comparing
Time
Latencyt0 tf
u<=0
[Xa=Ta]eR1.a1.pA
{u}[u=0]
sR2.a2.pB{u,Xb}
[u=0]sR1.a1.pA{u,Xa}
[Xb=Tb]eR2.a2.pB
{u}
u<=0
Xb<=TbXa<=Ta
u<=0
Xb<=Tb
[Xb=Tb]eR2.a2.pB
{u}
Xb<=Tb
[Xb=Tb]eR2.a2.pB
{u}
[u=0]sR1.a1.pA{u,Xa}
[Xa=Ta]eR1.a1.pA
{u}
u<=0
u<=0
u<=0[u=0]
sF{u, xf}{u}
[xf=Tf]eF{u}
(Ta<=Tb and Tf =Tb) or
(Tb<=Ta and Tf=Ta) or
(Tb=0 and Tf=Ta)
(Tb=0 and
Tf=Ta)
(Ta<=Tb and Tf =Tb)
(Tb<=Ta and Tf =Ta)
(Tb=0 and Tf=Ta)
Robot 1
Robot 2
Position A
Flying Area 3
Motivating Example Possible Solutions
Flying Area 1
Flying Area 2
Position CGo to
Position C
Position B
Comparing Symbolic Time Expressions
SAT or
UNSATZ3
Symbolic Time Expression C1σi Symbolic Time
Expression C2σi
tf1 > tf2 tf1 < tf2Question
Comparing Symbolic Time Expressions
SAT or
UNSATZ3
Symbolic Time Expression C1σi Symbolic Time
Expression C2σi
tf1 > tf2 tf1 < tf2
Time in LTS Comparing Symbolic Time Expressions
Tf2 =Tb + Ta
Or(And(Ta<=Tb,Tf1 =Tb), And(Tb<=Ta,Tf1=Ta), And(Tb=0,Tf1=Ta))
Tf1 > Tf2 Tf1 < Tf2 Z3 ¿∃ (Ta,Tb,Tf1,Tf2)?
UNSAT SAT
Tb=1,Ta=1,Tf1=1,Tf2=2
σ 1
C1σ1 is better than
C2σ1
Time in LTS Comparing Symbolic Time Expressions
Or(And(Tc <=Ta,Tf2=Ta + Tb + Tc), And(Ta <=Tc,Tf2=Ta + Tb + Tc),
And(Tb=0,Tf2=Ta + Tc), And(Tc=0,Tf2 =Ta + Tb))
Or(And(Tb=Ta,Tf1=Tb+Tc), And(Tb=0,Ta<=Tc,Tf1=Tc),
And(Tb+Tc<=Ta,Tf1=Ta),And(Tb=0,Ta=0,Tf1=Tc), And(Tb=0,Tc<=Ta,Tf1=Ta), And(Tb=0,Tc=0,Tf1=Ta),
And(Ta<=Tb+Tc,Tf1=Tb+Tc))
C1σ2 is better than
C2σ2
Tf1 > Tf2 Tf1 < Tf2 Z3 ¿∃ (Ta,Tb,Tc,Tf1,Tf2)? UNSAT SAT
Tc=1,Tb=1,Ta=1,Tf1=2,Tf2=3
σ 2
C1 is better than
C2
Cost of Comparing• Existential in the Symbolic Expressions
• Generate all,
- the solutions for the problem
- the schedulers
• Comparison between two expressions
Heuristics
• Minimise controller’s waits
- Non-transient states
• Maximise concurrency
- Fluents representing each activities
Where we are?• Parametric timed interpretation of LTS
• Comparison of the symbolic metric
• Heuristics to produce lower-latency controllers
- Minimise controllers wait
- Maximise concurrency
Future Work• Support for wider range of
- hard goals (e.g. SGR(1))
- soft goals (e.g. throughput)
• Improve activities time information
- Heuristics
- Comparison
• Explore the space of the solutions
- Controllers
- Schedulers
• Multiple preferences
- Priorities