ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar...
Transcript of ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar...
![Page 1: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/1.jpg)
Bâtiment IMAG, Université Grenoble Alpes700, avenue centrale
38401 Saint Martin d’Hères, Francehttp://www-verimag.imag.fr
ParetoLib: A Python Library for Parameter
SynthesisJosé-Ignacio Requeno
Alexey BakhirkinNicolas Basset
Oded Maler*
![Page 2: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/2.jpg)
2/36
CONTEXT
Context
![Page 3: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/3.jpg)
3/36
CYBER-PHYSICAL SYSTEMS
© Antoine Heusse
■ Cyber-Physical Systems:► hardware/software interacting with the physical environment► computerized control systems► uncertain / changing environment (timing constraints)► large scale, distributed / networked
■ Criticality:► safety (absence of errors)► security (resistance to attacks)► certification
■ Validation & Verification:► hybrid: discrete + real-time systems
+
© Sancio83
![Page 4: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/4.jpg)
4/36
MONITORING
► Models are generally hybrid systems producing hybrid traces► Runtime verification (aka monitoring) analyses a single behavior at a
time
![Page 5: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/5.jpg)
5/36
MONITORING
► Models are generally hybrid systems producing hybrid traces► Runtime verification (aka monitoring) analyses a single behavior at a
time
![Page 6: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/6.jpg)
6/36
MOTIVATION
After 2s, the signal is never above 3
*Donzé, A.: On signal temporal logic. In: Legay, A., Bensalem, S. (eds.) RV 2013. LNCS, vol. 8174, pp. 382–383. Springer, Heidelberg (2013).
![Page 7: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/7.jpg)
7/36
STL EXAMPLE
After 2s, the signal is never above 3
![Page 8: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/8.jpg)
8/36
PROBLEM
Parameter Synthesis
![Page 9: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/9.jpg)
9/36
PARAMETER SYNTHESIS
Given a Parametric STL formula
𝝋𝝋(𝒑𝒑𝟏𝟏, … ,𝒑𝒑𝒏𝒏)
identify the valuations 𝒗𝒗(𝒑𝒑𝒊𝒊) such that
𝒙𝒙 ⊨ 𝝋𝝋(𝒗𝒗(𝒑𝒑𝟏𝟏), … ,𝒗𝒗(𝒑𝒑𝒏𝒏))
for each parameter 𝒑𝒑𝒊𝒊
![Page 10: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/10.jpg)
10/36
SIGNAL STABILIZATION
Always |x| > _ then after _ s, |x| settles under _ for _ s
![Page 11: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/11.jpg)
11/36
SIGNAL STABILIZATION
Always |x| > _ then after _ s, |x| settles under _ for _ s
![Page 12: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/12.jpg)
12/36
PARAMETER SYNTHESIS
■ Challenges► Multiple solutions: which one to chose?► Tightness implies to “optimize” the valuation 𝑣𝑣(𝑝𝑝𝑖𝑖) for each parameter 𝑝𝑝𝑖𝑖
■ The multi-criteria optimization problem can be greatly simplified if the formula is monotonic in each 𝒑𝒑𝒊𝒊► In case of monoticity, the border of the validity domain has the
structure of a Pareto front
![Page 13: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/13.jpg)
13/36
VALIDITY DOMAINS
► The validity domain 𝑿𝑿 of formula 𝝋𝝋 and signal 𝒙𝒙 is the set of valuations𝒗𝒗(𝒑𝒑𝒊𝒊) such that 𝒙𝒙 ⊨ 𝝋𝝋(𝒗𝒗(𝒑𝒑𝟏𝟏), … ,𝒗𝒗(𝒑𝒑𝒏𝒏)) for each parameter 𝒑𝒑𝒊𝒊
► In case of monoticity, the border of the validity domain has the structure of a Pareto front
𝑝𝑝1
𝑝𝑝2
![Page 14: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/14.jpg)
14/36
SIGNAL STABILIZATION
Always |x| > 0.5 then after 1s, |x| settles under 0.5 for 1.5 s
![Page 15: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/15.jpg)
15/36
PARETOLIB
ParetoLib
![Page 16: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/16.jpg)
16/36
PARETOLIB
■ Python library for solving multi-criteria optimization problems:► Faster convergence than pre-dating similar algorithms► Parallel computation in multi-core CPU’s► Generic interface for domain-specific decision procedures (Oracle)
■ Application to parameter synthesis:► Integration with Signal Temporal Logic runtime monitors► Experiments with parametric Signal Temporal Logic specifications
![Page 17: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/17.jpg)
17/36
PARETOLIB LIBRARY
![Page 18: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/18.jpg)
18/36
PARETOLIB LIBRARY
![Page 19: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/19.jpg)
19/36
PARETOLIB LIBRARY
![Page 20: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/20.jpg)
20/36
PARETOLIB LIBRARY
![Page 21: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/21.jpg)
21/36
PARETOLIB LIBRARY
![Page 22: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/22.jpg)
22/36
PARETOLIB LIBRARY
![Page 23: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/23.jpg)
23/36
PARETOLIB LIBRARY
![Page 24: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/24.jpg)
24/36
PARETOLIB LIBRARY
![Page 25: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/25.jpg)
25/36
PARETOLIB LIBRARY
![Page 26: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/26.jpg)
26/36
EXPERIMENTS
Experiments
![Page 27: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/27.jpg)
27/36
EXPERIMENTS
Always |x| > _ then after _ s, |x| settles under _ for _ s
![Page 28: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/28.jpg)
28/36
EXPERIMENTS
Always |x| > _ then after _ s, |x| settles under _ for _ s
![Page 29: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/29.jpg)
29/36
EXPERIMENTS
Always |x| > p2 then after p1 s, |x| settles under p2 indefinitely
𝜑𝜑 ≔ F 0,𝑝𝑝1 G 0,∞ (On 0,∞ Max 𝑥𝑥 − On 0,∞ Min 𝑥𝑥)) < 𝑝𝑝2
![Page 30: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/30.jpg)
30/36
EXPERIMENTS
Always |x| > p2 then after p1 s, |x| settles under p2 indefinitely
𝜑𝜑 ≔ F 0,𝑝𝑝1 G 0,∞ (On 0,∞ Max 𝑥𝑥 − On 0,∞ Min 𝑥𝑥)) < 𝑝𝑝2
![Page 31: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/31.jpg)
31/36
EXPERIMENTS
Always |x| > 0.25 then after 155 s, |x| settles under 0.25 indefinitely
𝜑𝜑 ≔ F 0,155 G 0,∞ (On 0,∞ Max 𝑥𝑥 − On 0,∞ Min 𝑥𝑥)) < 0.25
![Page 32: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/32.jpg)
32/36
EXPERIMENTS
Always |x| > 0.25 then after 155 s, |x| settles under 0.25 indefinitely
𝜑𝜑 ≔ F 0,155 G 0,∞ (On 0,∞ Max 𝑥𝑥 − On 0,∞ Min 𝑥𝑥)) < 0.25
![Page 33: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/33.jpg)
33/36
CONCLUSIONS
Conclusions
![Page 34: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/34.jpg)
34/36
CONCLUSIONS
■ Python library for solving multi-criteria optimization problems:► Faster convergence than pre-dating similar algorithms► Parallel computation in multi-core CPU’s► Generic interface for domain-specific decision procedures (Oracle)
■ Application to parameter synthesis:► Integration with Signal Temporal Logic runtime monitors► Experiments with parametric Signal Temporal Logic specifications
![Page 35: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/35.jpg)
35/36
FUTURE WORK
■ Python library for solving multi-criteria optimization problems:► Keep on improving the tool performance► Introduction of new features
■ Application to parameter synthesis:► Integration with new temporal logics
![Page 36: ParetoLib: A Python Library for Parameter Synthesis · Faster convergence than pre-dating similar algorithms Parallel computation in multi -core CPU’s Generic interface for domain](https://reader036.fdocuments.net/reader036/viewer/2022081402/5f0cd6797e708231d4376120/html5/thumbnails/36.jpg)
36/36
THE END