This thesis presents work on the formal model-based design of control software. The author develops algorithms and a tool called QKS to automatically synthesize feedback controllers from formal specifications of discrete-time linear hybrid systems. QKS handles nonlinear systems by overapproximating them with linear models. A parallel approach is introduced to speed up the computationally intensive control abstraction step. Methods are also presented for generating smaller controller code to fit on embedded systems and for faster detection of unsolvable synthesis problems during design space exploration. The thesis evaluates the approaches on examples including inverted pendulum control.
1. Formal Model Based Design of Control Software
Vadim Alimguzhin
Computer Science Department
Sapienza University of Rome
Ph.D. Thesis
Thesis Committee Reviewers
Prof. Enrico Tronci (advisor) Prof. Gennady Kulikov
Prof. Igor Melatti Prof. Ganesh Gopalakrishnan
Prof. Nafisa Yusupova Prof. Tiziano Villa
2. Acknowledgement
This work has been partially supported by Erasmus Mundus
MULTIC scholarship from the European Commission
(EMA 2 MULTIC 10-837).
3. Published papers
2012
V. Alimguzhin, F. Mari, I. Melatti, I. Salvo and E. Tronci.
Automatic control software synthesis for quantized discrete time hybrid systems.
In Proceedings of the 51th IEEE Conference on Decision and Control, CDC 2012, pages 6120–6125. IEEE,
2012.
V. Alimguzhin, F. Mari, I. Melatti, I. Salvo and E. Tronci.
On model based synthesis of embedded control software.
In Proceedings of the 12th International Conference on Embedded Software, EMSOFT 2012, pages
227–236. ACM, 2012.
2013
V. Alimguzhin, F. Mari, I. Melatti, I. Salvo and E. Tronci.
A map-reduce parallel approach to automatic synthesis of control software.
In Proc. of International SPIN Symposium on Model Checking of Software (SPIN 2013), volume 7976 of
Lecture Notes in Computer Science, pages 43–60. Springer - Verlag, 2013.
V. Alimguzhin, F. Mari, I. Melatti, I. Salvo and E. Tronci.
On-the-fly control software synthesis.
In Proc. of International SPIN Symposium on Model Checking of Software (SPIN 2013), volume 7976 of
Lecture Notes in Computer Science, pages 61–80. Springer - Verlag, 2013.
4. Outline
Model Based Control Sofware Design
Nonlinear Systems
Parallel Approach
Small Size Controller Synthesis
On-The-Fly Synthesis
Future Work
5. Outline
Model Based Control Sofware Design
Nonlinear Systems
Parallel Approach
Small Size Controller Synthesis
On-The-Fly Synthesis
Future Work
6. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Embedded Systems
Formal Model Based Design of Control Software Vadim Alimguzhin
7. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Software bugs are dangerous
Spanair Flight JK 5022, 20 August 2008
Investigations
The software that should have
prevented the crash failed to do so.
We need to synthesize correct-by-construction software for
embedded systems.
Formal Model Based Design of Control Software Vadim Alimguzhin
8. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Model Based Control Software Design
Input (H, I, G, A/D + D/A)
◮ DTLHS H, initial region I, goal region G
(linear constraints)
◮ conversion A/D and D/A
Output Feedback Controller K
1. mathematical function K s.t.
◮ (K, H) eventually reaches G
◮ K has known controllable region
◮ K is robust w.r.t. parameters variations
2. C implementation of K s.t.
◮ guaranteed WCET ≤ Sampling Time T
K HD/A
A/D
Problem is undecidable [ICTAC, 2012].
[ICTAC, 2012] Federico Mari, Igor Melatti, Ivano Salvo and Enrico Tronci.
Undecidability of Quantized State Feedback Control for Discrete Time Linear Hybrid
Systems.
In Proc. of the International Colloquium on Theoretical Aspects of Computing, ICTAC, volume 7521 of
LNCS, pages 243–258. Springer-Verlag Berlin Heidelberg, 2012.
Formal Model Based Design of Control Software Vadim Alimguzhin
9. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Our Solution
http://mclab.di.uniroma1.it/software qks.html
Algorithm and Tool QKS [TOSEM, 2013]
(H, I, G,
ADDA)
QKS
K +
controlled
region D
Sol
DI NoSol
no solution exists
Unknown
Unknown stems from undecidability of the problem [ICTAC, 2012].
[TOSEM, 2013] Federico Mari, Igor Melatti, Ivano Salvo, and Enrico Tronci.
Model based synthesis of control software from system level formal specifications.
ACM Trans. on Soft. Eng. and Meth., To appear, 2013.
[ICTAC, 2012] Federico Mari, Igor Melatti, Ivano Salvo and Enrico Tronci.
Undecidability of Quantized State Feedback Control for Discrete Time Linear Hybrid
Systems.
In Proc. of the International Colloquium on Theoretical Aspects of Computing, ICTAC, volume 7521 of
LNCS, pages 243–258. Springer-Verlag Berlin Heidelberg, 2012.
Formal Model Based Design of Control Software Vadim Alimguzhin
10. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
QKS Flow
Step 1: Control Abstraction
Computation
Finite LTS Control Problem
Step 2: Symbolic Strong
Controller Synthesis
Most General Optimal
Controller
Step 3: C Code Generation
from OBDD
Control Software
Specifications
Plant Model
(DTLHS)
Implementation Specification
(Quantization Schema)
System Level Formal Specification
(Liveness and Safety)
Formal Model Based Design of Control Software Vadim Alimguzhin
11. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Nonlinear Hybrid Systems
Problem
◮ QKS can deal only with linear hybrid systems.
◮ Dynamics of many interesting hybrid systems cannot be directly modelled
by linear constraints.
Solution
=⇒ Overapproximate nonlinear DTHS with DTLHS, s.t. controllers for
DTLHS are also controllers for DTHS [CDC, 2012].
[CDC, 2012] V. Alimguzhin, F. Mari, I. Melatti, I. Salvo and E. Tronci.
Automatic control software synthesis for quantized discrete time hybrid systems.
In Proceedings of the 51th IEEE Conference on Decision and Control, CDC 2012, pages 6120–6125. IEEE,
2012.
Formal Model Based Design of Control Software Vadim Alimguzhin
12. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel Approach
Problem
◮ Interesting systems have lots of continuous variables.
◮ The higher the number of bits – the better non-functional specifications
(setup time and ripple).
◮ Control abstraction computation (99% of computation time): exponential
number of MILP problems w.r.t. number of bits.
Solution
=⇒ Use a parallel approach to compute control abstraction [SPIN, 2013a].
[SPIN, 2013a] V. Alimguzhin, F. Mari, I. Melatti, I. Salvo and E. Tronci.
A map-reduce parallel approach to automatic synthesis of control software.
In Proc. of International SPIN Symposium on Model Checking of Software (SPIN 2013), volume 7976 of
Lecture Notes in Computer Science, pages 43–60. Springer - Verlag, 2013.
Formal Model Based Design of Control Software Vadim Alimguzhin
13. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Small Size Controller Synthesis
Problem
◮ Embedded systems have limited memory resources.
◮ Time optimal controller code generated by QKS may be too large to be
put on the microcontroller.
Solution
=⇒ Reduce code footprint possibly at the cost of having suboptimal setup
time and ripple [EMSOFT, 2012].
[EMSOFT, 2012] V. Alimguzhin, F. Mari, I. Melatti, I. Salvo and E. Tronci.
On model based synthesis of embedded control software.
In Proceedings of the 12th International Conference on Embedded Software, EMSOFT 2012, pages
227–236. ACM, 2012.
Formal Model Based Design of Control Software Vadim Alimguzhin
14. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
On-The-Fly Synthesis
Problem
◮ Design space exploration: find suitable choice for design parameters
(number of bits for AD conversion b and sampling time T).
◮ For many choices of b and T there is no solution for the synthesis
problem.
◮ QKS takes the same time when it finds solution and when not.
Solution
=⇒ On-The-Fly synthesis algorithm, that detects as soon as possible when a
solution cannot be found [SPIN, 2013b].
[SPIN, 2013b] V. Alimguzhin, F. Mari, I. Melatti, I. Salvo and E. Tronci.
On-the-fly control software synthesis.
In Proc. of International SPIN Symposium on Model Checking of Software (SPIN 2013), volume 7976 of
Lecture Notes in Computer Science, pages 61–80. Springer - Verlag, 2013.
Formal Model Based Design of Control Software Vadim Alimguzhin
15. Outline
Model Based Control Sofware Design
Nonlinear Systems
Parallel Approach
Small Size Controller Synthesis
On-The-Fly Synthesis
Future Work
16. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Overapproximation of DTHS
f (x)
Formal Model Based Design of Control Software Vadim Alimguzhin
17. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Overapproximation of DTHS
f (x)
f +
(x)
f −
(x)
Formal Model Based Design of Control Software Vadim Alimguzhin
18. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Overapproximation of DTHS
f (x)
f +
(x)
f −
(x)
Overapproximation has more behavior than original system.
Formal Model Based Design of Control Software Vadim Alimguzhin
19. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Overapproximation of DTHS
f (x)
I1 I2 I3 I4
Overapproximation has more behavior than original system.
Formal Model Based Design of Control Software Vadim Alimguzhin
20. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Overapproximation of DTHS
f (x)
I1 I2 I3 I4
f −
1 (x)
f +
1 (x)
f −
2 (x)
f +
2 (x)
f −
3 (x)
f +
3 (x)
f −
4 (x)
f +
4 (x)
Overapproximation has more behavior than original system.
Formal Model Based Design of Control Software Vadim Alimguzhin
21. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Inverted Pendulum as a DTHS
¨θ = g
l
sinθ + 1
ml2 uF
x′
1 = x1 + Tx2
x′
2 = x2 + T g
l
sinx1 + T 1
ml2 uF
State variables:
◮ x1: angle (θ)
◮ x2: angular speed ( ˙θ)
Action variables:
◮ u: torquing force direction
Parameters:
◮ F: torquing force value
◮ T: sampling time
◮ l: length
◮ m: mass
θ
u
Formal Model Based Design of Control Software Vadim Alimguzhin
22. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Underactuated Inverted Pendulum (F = 0.5)
Trajectories (9 and 10 bits)
-1
0
1
2
3
4
5
6
7
0 2 4 6 8 10 12 14
time in seconds
angle [x1] 10 bits
angle [x1] 9 bits
Formal Model Based Design of Control Software Vadim Alimguzhin
23. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Underactuated Inverted Pendulum (F = 0.5)
Ripple (10 bits)
-0.102
-0.1
-0.098
-0.096
-0.094
-0.092
-0.09
-0.088
-0.086
-0.084
20 30 40 50 60 70 80 90 100
time in seconds
Formal Model Based Design of Control Software Vadim Alimguzhin
24. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Strongly Underactuated Inverted Pendulum (F = 0.3)
Trajectories (11 bits)
-15
-10
-5
0
5
10
15
20
25
30
35
0 50 100 150 200 250 300 350
time in seconds
angle [x1]
angular speed [x2]
torque [u]
Formal Model Based Design of Control Software Vadim Alimguzhin
25. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Overactuated Inverted Pendulum (F = 2)
Trajectories in phases space (11 bits)
-1.8
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0 0.5 1 1.5 2 2.5 3
angularspeed[x2]
angle [x1]
π/4
π/2
3/4 π
3
Formal Model Based Design of Control Software Vadim Alimguzhin
26. Outline
Model Based Control Sofware Design
Nonlinear Systems
Parallel Approach
Small Size Controller Synthesis
On-The-Fly Synthesis
Future Work
27. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
QKS Flow
Step 1: Control Abstraction
Computation
Finite LTS Control Problem
Step 2: Symbolic Strong
Controller Synthesis
Most General Optimal
Controller
Step 3: C Code Generation
from OBDD
Control Software
Specifications
Plant Model
(DTLHS)
Implementation Specification
(Quantization Schema)
System Level Formal Specification
(Liveness and Safety)
Formal Model Based Design of Control Software Vadim Alimguzhin
28. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel Control Software Synthesis Flow
Step 1: Parallel Control
Abstraction Computation
Finite LTS Control Problem
Step 2: Symbolic Strong
Controller Synthesis
Most General Optimal
Controller
Step 3: C Code Generation
from OBDD
Control Software
Specifications
Plant Model
(DTLHS)
Implementation Specification
(Quantization Schema)
System Level Formal Specification
(Liveness and Safety)
Formal Model Based Design of Control Software Vadim Alimguzhin
29. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Control Abstraction Computation (QKS Step 1)
x1
x2
Formal Model Based Design of Control Software Vadim Alimguzhin
30. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Control Abstraction Computation (QKS Step 1)
x1
x2
Formal Model Based Design of Control Software Vadim Alimguzhin
31. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Control Abstraction Computation (QKS Step 1)
x1
x2
Formal Model Based Design of Control Software Vadim Alimguzhin
32. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Control Abstraction Computation (QKS Step 1)
x1
x2
Formal Model Based Design of Control Software Vadim Alimguzhin
33. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Control Abstraction Computation (QKS Step 1)
x1
x2
Formal Model Based Design of Control Software Vadim Alimguzhin
34. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Control Abstraction Computation (QKS Step 1)
Computation for each cell is independent from others.
=⇒ We can use MapReduce-style parallel aproach.
Formal Model Based Design of Control Software Vadim Alimguzhin
35. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel Control Abstraction Computation
Example
Number of workers: 3
Number of abstract states: 16 (2 state variables, 2 bits each)
x1
x2
Formal Model Based Design of Control Software Vadim Alimguzhin
36. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel Control Abstraction Computation
Example
Number of workers: 3
Number of abstract states: 16 (2 state variables, 2 bits each)
x1
x2
MAP
1 2 3 1
2 3 1 2
3 1 2 3
1 2 3 1
x1
x2
Formal Model Based Design of Control Software Vadim Alimguzhin
37. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel Control Abstraction Computation
Example
Number of workers: 3
Number of abstract states: 16 (2 state variables, 2 bits each)
x1
x2
MAP
1 2 3 1
2 3 1 2
3 1 2 3
1 2 3 1
x1
x2
WORK
ˆN1
Worker1
ˆN2
Worker2
ˆN3
Worker3
Formal Model Based Design of Control Software Vadim Alimguzhin
38. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel Control Abstraction Computation
Example
Number of workers: 3
Number of abstract states: 16 (2 state variables, 2 bits each)
x1
x2
MAP
1 2 3 1
2 3 1 2
3 1 2 3
1 2 3 1
x1
x2
WORK
ˆN1
Worker1
ˆN2
Worker2
ˆN3
Worker3
REDUCE
x1
x2 ˆN
Formal Model Based Design of Control Software Vadim Alimguzhin
39. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel Control Abstraction Computation
Implementation Details
◮ Distributed memory model.
◮ Use MPI Barrier to synchronize processes.
◮ Use shared filesystem to exchange data between processes.
Formal Model Based Design of Control Software Vadim Alimguzhin
40. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel vs Sequential
Inverted Pendulum: Speedup and Efficiency
0
10
20
30
40
50
60
10 20 30 40 50 60
Speedup
Number of processes
9 bits
10 bits
11 bits
Speedup = Sequential Time
Parallel Time
55
60
65
70
75
80
85
90
95
100
10 20 30 40 50 60
Scalingefficiency(%)
Number of processes
9 bits
10 bits
11 bits
Scaling Efficiency = Speedup
Number of Processes
100%
Formal Model Based Design of Control Software Vadim Alimguzhin
41. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Parallel vs Sequential
Inverted Pendulum: Communication time and I/O time
0
5000
10000
15000
20000
25000
10 20 30 40 50 60
Communicationtime(seconds)
Number of processes
9 bits
10 bits
11 bits
0
50
100
150
200
10 20 30 40 50 60
I/Otime(seconds)
Number of processes
9 bits
10 bits
11 bits
Comm Time = Waiting Time + I/O Time
Formal Model Based Design of Control Software Vadim Alimguzhin
42. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Experiments Details
9 bits, 30 workers 9 bits, 40 workers
Formal Model Based Design of Control Software Vadim Alimguzhin
43. Outline
Model Based Control Sofware Design
Nonlinear Systems
Parallel Approach
Small Size Controller Synthesis
On-The-Fly Synthesis
Future Work
44. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
QKS Flow
Step 1: Control Abstraction
Computation
Finite LTS Control Problem
Step 2: Symbolic Strong
Controller Synthesis
Most General Optimal
Controller
Step 3: C Code Generation
from OBDD
Control Software
Specifications
Plant Model
(DTLHS)
Implementation Specification
(Quantization Schema)
System Level Formal Specification
(Liveness and Safety)
Formal Model Based Design of Control Software Vadim Alimguzhin
45. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Small Size Control Software Synthesis Flow
Step 1: Control Abstraction
Computation
Finite LTS Control Problem
Step 2: Symbolic Small Size
Controller Synthesis
Small Size Controller
Step 3: C Code Generation
from OBDD
Control Software
Specifications
Plant Model
(DTLHS)
Implementation Specification
(Quantization Schema)
System Level Formal Specification
(Liveness and Safety)
Formal Model Based Design of Control Software Vadim Alimguzhin
46. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Controller Synthesis (QKS Step 2)
OBDD-based computation of a
controller from a finite state machine
(control abstraction) [Cimatti, 98]
K
0xb9b1a
0xb9b0x[2]
0xb9afx[1]
0xa4dex[0]
1
[Cimatti, 98] Alessandro Cimatti and Marco Roveri and Paolo Traverso.
Strong planning in non-deterministic domains via model checking.
In AIPS, pp. 36–43, 1998.
Formal Model Based Design of Control Software Vadim Alimguzhin
47. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Code Generation (QKS Step 3)
From OBDD to C code [IARIA, 2012]:
taking into account node sharing
int K_exists(unsigned char *);
int K_w1(unsigned char *);
int K(unsigned char *x, unsigned char *a)
{
if (! K_exists(x)) return 0;
a[1] = K_w1(x);
return 1;
}
int K_exists(unsigned char *x)
{
int return_bit = 1;
L_924ed61:
return_bit = ! return_bit;
if (x[2] == 1) goto L_92595a0;
else goto L_924ed40;
L_92595a0:
if (x[4] == 1) goto L_92566a0;
else goto L_9259580;
L_92566a0:
if (x[6] == 1) goto L_9254f80;
else goto L_9256660;
[IARIA, 2012] Federico Mari, Igor Melatti, Ivano Salvo, and Enrico Tronci.
Synthesizing control software from boolean relations.
Int. J. on Advances in SW, 5(3&4):212–223, 2012.
Formal Model Based Design of Control Software Vadim Alimguzhin
48. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Example
Finite State Machine A
0 1 2
3start4
0,1
1
0
101
0
0
1
Formal Model Based Design of Control Software Vadim Alimguzhin
49. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Example
Controllers for A
Most general optimal controller (mgo)
Kmgo
0 1 2
3start4
0,1
1
0
101
0
0
1
Small size controller (sc)
Ksc
0 1 2
3start4
0,1
1
0
101
0
0
1
Try to use always the same action
Formal Model Based Design of Control Software Vadim Alimguzhin
50. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Example
Controllers OBDDs for A
Kmgo
f
v1x[2]
v2 v3x[1]
v4x[0]
1
Ksc
f
v1x[2]
v2x[1]
v3x[0]
1
Increase sharing
Same height
Formal Model Based Design of Control Software Vadim Alimguzhin
51. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Example
C Code for Controllers for OBDDs for A
Kmgo
int ctrlLaw(unsigned char *x) {
int act =0;
L_v1: if (x[2]==1) goto L_v3;
else { act = !act;
goto L_v2; }
L_v2: if (x[1]==1) goto L_v4;
else { act = !act;
goto L_v4; }
L_v3: if (x[1]==1) return act;
else goto L_v4;
L_v4: if (x[0]==1) return act;
else { act = !act;
return act; }
}
Ksc
int ctrlLaw(unsigned char *x) {
int act =0;
L_v1: if (x[2]==1) goto L_v2;
else return act;
L_v2: if (x[1]==1) return act;
else goto L_v3;
L_v3: if (x[0]==1) return act;
else { act = !act;
return act; }
}
Reduced code size
Same WCET
Formal Model Based Design of Control Software Vadim Alimguzhin
52. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Inverted Pendulum: MGO vs Small Size
Pros and Cons
b Kmgo Ksc Ksc
Kmgo Pathmgo Pathsc Pathsc
Pathmgo
8 163 44 27.4% 132.96 234.35 1.76
9 352 92 26.3% 69.64 147.74 2.12
10 752 206 27.5% 59.16 133.70 2.26
|K|: code size in Kilobytes of .o file after gcc compilation
Formal Model Based Design of Control Software Vadim Alimguzhin
53. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Inverted Pendulum: MGO vs Small Size
Setup Time (10 seconds vs 14 seconds)
-2
-1
0
1
2
3
4
5
6
7
0 5 10 15 20
time (seconds)
mgo x1
mgo x2
sc x1
sc x2
Formal Model Based Design of Control Software Vadim Alimguzhin
54. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Inverted Pendulum: MGO vs Small Size
Ripple: 0.0001 radiants vs 0.0002 radiants
-0.0946
-0.09455
-0.0945
-0.09445
-0.0944
-0.09435
-0.0943
25 30 35 40
x1
time (seconds)
mgo x1
MGO Controller
6.1719
6.17195
6.172
6.17205
6.1721
6.17215
6.1722
25 30 35 40
x1
time (seconds)
sc x1
Small Size Controller
Formal Model Based Design of Control Software Vadim Alimguzhin
55. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Inverted Pendulum: MGO vs Small Size
Enabled Actions
MGO Controller Small Size Controller
Formal Model Based Design of Control Software Vadim Alimguzhin
56. Outline
Model Based Control Sofware Design
Nonlinear Systems
Parallel Approach
Small Size Controller Synthesis
On-The-Fly Synthesis
Future Work
57. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
QKS Flow
Step 1: Control Abstraction
Computation
Finite LTS Control Problem
Step 2: Symbolic Strong
Controller Synthesis
Most General Optimal
Controller
Step 3: C Code Generation
from OBDD
Control Software
Specifications
Plant Model
(DTLHS)
Implementation Specification
(Quantization Schema)
System Level Formal Specification
(Liveness and Safety)
Formal Model Based Design of Control Software Vadim Alimguzhin
58. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
On-The-Fly Control Sofware Synthesis Flow
Step 1: On-The-Fly Strong
Controller Synthesis
Most General Optimal
Controller
Step 2: C Code Generation
from OBDD
Control Software
Specifications
Plant Model
(DTLHS)
Implementation Specification
(Quantization Schema)
System Level Formal Specification
(Liveness and Safety)
Formal Model Based Design of Control Software Vadim Alimguzhin
60. Outline
Model Based Control Sofware Design
Nonlinear Systems
Parallel Approach
Small Size Controller Synthesis
On-The-Fly Synthesis
Future Work
61. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Future Work
Methodology
◮ Develop load-balanced parallel algorithm.
◮ Adapt parallel algorithm for the commodity hardware.
◮ Investigate control software synthesis when the state is not
fully observable.
◮ Devise fully symbolic approach.
Formal Model Based Design of Control Software Vadim Alimguzhin
62. Model Based Design Nonlinear Systems Parallel Small Size Controllers On-The-Fly Future
Future Work
Practical Applications
European projects:
◮ FP7 Call 8 - ICT-8-6.1 (Smart energy grids)
SmartHG (Energy Demand Aware Open Services for Smart
Grid Intelligent Automation)
◮ FP7 Call 9 - ICT-2011.5.2 (Virtual Physiological Human)
PAEON (Model Driven Computation of Treatments for
Infertility Related Endocrinological Diseases)
Formal Model Based Design of Control Software Vadim Alimguzhin