paretolib: a python library for parameter synthesis · faster convergence than pre-dating similar...

Post on 25-Jun-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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*

2/36

CONTEXT

Context

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

4/36

MONITORING

► Models are generally hybrid systems producing hybrid traces► Runtime verification (aka monitoring) analyses a single behavior at a

time

5/36

MONITORING

► Models are generally hybrid systems producing hybrid traces► Runtime verification (aka monitoring) analyses a single behavior at a

time

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).

7/36

STL EXAMPLE

After 2s, the signal is never above 3

8/36

PROBLEM

Parameter Synthesis

9/36

PARAMETER SYNTHESIS

Given a Parametric STL formula

𝝋𝝋(𝒑𝒑𝟏𝟏, … ,𝒑𝒑𝒏𝒏)

identify the valuations 𝒗𝒗(𝒑𝒑𝒊𝒊) such that

𝒙𝒙 ⊨ 𝝋𝝋(𝒗𝒗(𝒑𝒑𝟏𝟏), … ,𝒗𝒗(𝒑𝒑𝒏𝒏))

for each parameter 𝒑𝒑𝒊𝒊

10/36

SIGNAL STABILIZATION

Always |x| > _ then after _ s, |x| settles under _ for _ s

11/36

SIGNAL STABILIZATION

Always |x| > _ then after _ s, |x| settles under _ for _ s

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

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

14/36

SIGNAL STABILIZATION

Always |x| > 0.5 then after 1s, |x| settles under 0.5 for 1.5 s

15/36

PARETOLIB

ParetoLib

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

17/36

PARETOLIB LIBRARY

18/36

PARETOLIB LIBRARY

19/36

PARETOLIB LIBRARY

20/36

PARETOLIB LIBRARY

21/36

PARETOLIB LIBRARY

22/36

PARETOLIB LIBRARY

23/36

PARETOLIB LIBRARY

24/36

PARETOLIB LIBRARY

25/36

PARETOLIB LIBRARY

26/36

EXPERIMENTS

Experiments

27/36

EXPERIMENTS

Always |x| > _ then after _ s, |x| settles under _ for _ s

28/36

EXPERIMENTS

Always |x| > _ then after _ s, |x| settles under _ for _ s

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

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

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

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

33/36

CONCLUSIONS

Conclusions

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

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

36/36

THE END

top related