KeYmaeraX: tutorial
PROSSIMO
Progettazione, sviluppo e ottimizzazione di sistemi intelligenti multi-oggetto
Azioni Cluster “Top Down”
Progetto finanziato con fondi POR FESR 2014/2020
ASSE PRIORITARIO I “RICERCA SCIENTIFICA, SVILUPPO TECNOLOGICO E INNOVAZIONE”
1 / 99
Schema del tutorial
1 Panoramica su KeYmaera X
Obiettivo del tutorial e introduzione ai sistemi cyber-fisici (CPS)
2 Logica differenziale dinamica Programmi ibridi
Esempi
Logica dei sistemi ibridi Esercitazione: specificare CPS
3 Assiomi dinamici per sistemi dinamici Assiomatica
Prove dL in KeYmaera X Esempi
4 Invarianti differenziali per equazioni differenziali Completezza
Assiomatica Esempi
2 / 99
Schema del tutorial
1 Panoramica su KeYmaera X
Obiettivo del tutorial e introduzione ai sistemi cyber-fisici (CPS)
2 Logica differenziale dinamica Programmi ibridi
Esempi
Logica dei sistemi ibridi Esercitazione: specificare CPS
3 Assiomi dinamici per sistemi dinamici Assiomatica
Prove dL in KeYmaera X Esempi
4 Invarianti differenziali per equazioni differenziali Completezza
Assiomatica Esempi
3 / 99
Domande sulla correttezza nella progettazione di CPS
Safety Il sistema deve essere sicuro in ogni circostanza Liveness Il sistema deve raggiungere un determinato obiettivo Come possiamo rendere sicuri i sistemi cyber-fisici?
Test approfonditi? Revisioni del codice? Quando abbiamo finito?
Quanti casi di test sono sufficienti? Abbiamo coperto tutti i test?
4 / 99
Vantaggi dei fondamenti logici per la Verifica e la Validazione (V & V) di CPS
Dimostrazioni
Safety Formalizzare le proprietà del sistema: che cos’è “Sicuro”?
“Raggiunge l’obiettivo”?
ModelsFormalizzare i modelli di sistema, chiarire il comportamento Assumptions Rendere le ipotesi esplicite piuttosto che silenziose PredictionsL’analisi di sicurezza prevede il comportamento per infiniti casi
ConstraintsRivelare invarianti, condizioni di commutazione, condizioni operative
DesignInvarianti/prove guidano la progettazione di controller sicuri
5 / 99
Vantaggi dei fondamenti logici per la Verifica e la Validazione (V & V) di CPS [continua]
Sottoprodotti
Analisi Determinare tempestivamente compromessi di progettazione e fattibilità
Sintesi Trasforma i modelli in codice e in monitor per la sicurezza Strumenti
KeYmaera X aXiomatic Tactical Theorem Prover per CPS
6 / 99
Un aXiomatic Tactical Theorem Prover per CPS
7 / 99
Microkernel di KeYmaera
8 / 99
Usare KeYmaera X per:
1 Modellare sistemi cyber-fisici
2 Esprimere le proprietà di sicurezza/correttezza
3 Trovare bug nella progettazione di un sistema
4 Identificare i vincoli di sicurezza
5 Identificare le invarianti di sistema
6 Verificare il progetto finale del sistema
7 Scrivere tattiche di prova automatizzate
8 Provare le equazioni differenziali
9 Sintetizzare i monitor di runtime corretti per costruzione
9 / 99
Analisi di CPS
Nozione generale (Logica differenziale dinamica)
10 / 99
Analisi di CPS
Nozione generale (Logica differenziale dinamica)
11 / 99
Analisi di CPS
Nozione generale (Logica differenziale dinamica)
12 / 99
Schema del tutorial
1 Panoramica su KeYmaera X
Obiettivo del tutorial e introduzione ai sistemi cyber-fisici (CPS)
2 Logica differenziale dinamica Programmi ibridi
Esempi
Logica dei sistemi ibridi Esercitazione: specificare CPS
3 Assiomi dinamici per sistemi dinamici Assiomatica
Prove dL in KeYmaera X Esempi
4 Invarianti differenziali per equazioni differenziali Completezza
Assiomatica Esempi
13 / 99
Programmazione di CPS
Programmare CPS 6= programmare parte cyber k programmare parte fisica Definizione (Programma ibrido)
14 / 99
Programmazione di CPS
Programmare CPS 6= programmare parte cyber k programmare parte fisica Definizione (Programma ibrido)
15 / 99
Programmazione di CPS
Programmare CPS 6= programmare parte cyber k programmare parte fisica Definizione (Programma ibrido)
16 / 99
Runaround Robot
17 / 99
Runaround Robot
Esempio (Runaround Robot)
18 / 99
Runaround Robot
Esempio (Runaround Robot)
19 / 99
Runaround Robot
Esempio (Runaround Robot)
20 / 99
Runaround Robot
Esempio (Runaround Robot)
21 / 99
Runaround Robot
Esempio (Runaround Robot)
22 / 99
Runaround Robot
Esempio (Runaround Robot)
23 / 99
Runaround Robot
Esempio (Runaround Robot)
24 / 99
Runaround Robot
Esempio (Runaround Robot)
25 / 99
Runaround Robot
Esempio (Runaround Robot)
26 / 99
Runaround Robot
Esempio (Runaround Robot)
27 / 99
Runaround Robot
Esempio (Runaround Robot)
28 / 99
Runaround Robot
Esempio (Runaround Robot)
29 / 99
Runaround Robot
Esempio (Runaround Robot)
30 / 99
Logica per le specifiche di CPS: d L
Definizione (programma ibrido)
Definizione (logica differenziale dinamica)
31 / 99
Logica per le specifiche di CPS: d L
Definizione (programma ibrido)
Definizione (logica differenziale dinamica)
32 / 99
Logica per le specifiche di CPS: d L
Definizione (programma ibrido)
Definizione (logica differenziale dinamica)
33 / 99
Logica per le specifiche di CPS: d L
Definizione (programma ibrido)
Definizione (logica differenziale dinamica)
34 / 99
Logica per le specifiche di CPS: d L
Definizione (programma ibrido)
Definizione (logica differenziale dinamica)
35 / 99
Logica per le specifiche di CPS: d L
Definizione (programma ibrido)
Definizione (logica differenziale dinamica)
36 / 99
Logica per le specifiche di CPS: d L
Definizione (programma ibrido)
Definizione (logica differenziale dinamica)
37 / 99
Logica per le specifiche di CPS: d L
Definizione (programma ibrido)
Definizione (logica differenziale dinamica)
38 / 99
Slide title
Definizione (semantica di un programma ibrido) (J·K : HP → ℘(S × S ))
Definizione (semantica d L) (J·K : Fml → ℘(S ))
39 / 99
Bouncing Ball
Esempio (Bouncing Ball)
40 / 99
Bouncing Ball
Esempio (Bouncing Ball)
41 / 99
Bouncing Ball
Non se g <0 in antigravità Esempio (Bouncing Ball)
42 / 99
Bouncing Ball
Esempio (Bouncing Ball)
43 / 99
Bouncing Ball
Non se c> 1 per anti-smorzamento Esempio (Bouncing Ball)
44 / 99
Bouncing Ball
Esempio (Bouncing Ball)
45 / 99
Bouncing Ball
Non se v> 0 arrampicata iniziale Esempio (Bouncing Ball)
46 / 99
Bouncing Ball
Esempio (Bouncing Ball)
47 / 99
Bouncing Ball
Non se v 0 dribbling iniziale Esempio (Bouncing Ball)
48 / 99
Bouncing Ball
Esempio (Bouncing Ball)
49 / 99
Schema del tutorial
1 Panoramica su KeYmaera X
Obiettivo del tutorial e introduzione ai sistemi cyber-fisici (CPS)
2 Logica differenziale dinamica Programmi ibridi
Esempi
Logica dei sistemi ibridi Esercitazione: specificare CPS
3 Assiomi dinamici per sistemi dinamici Assiomatica
Prove dL in KeYmaera X Esempi
4 Invarianti differenziali per equazioni differenziali Completezza
Assiomatica Esempi
50 / 99
Prove per CPS
semantica composizionale ⇒ prove composizionali
51 / 99
Prove per CPS
52 / 99
Prove per CPS
53 / 99
Prove per CPS
54 / 99
Prove per CPS
55 / 99
Logica differenziale dinamica: Assiomatizzazione
56 / 99
KeYmaera X
Affidabile
Uniform substitution Sound & complete Small core: 1700 LOC
Flessibile
Prove automatiche UI interattiva Programmabile
Personalizzabile Scala + Java API Linea di comando REST API
57 / 99
KeYmaera X Microkernel (1700 Linee Di Codice)
58 / 99
Schema del tutorial
1 Panoramica su KeYmaera X
Obiettivo del tutorial e introduzione ai sistemi cyber-fisici (CPS)
2 Logica differenziale dinamica Programmi ibridi
Esempi
Logica dei sistemi ibridi Esercitazione: specificare CPS
3 Assiomi dinamici per sistemi dinamici Assiomatica
Prove dL in KeYmaera X Esempi
4 Invarianti differenziali per equazioni differenziali Completezza
Assiomatica Esempi
59 / 99
Assiomatizzazione dell’equazione differenziale
Approccio classico: 1 Data una ODE 2 Risolve la ODE 3 Analizza la soluzione
Potenza descrittiva: l’ODE è molto più semplice della sua soluzione Analizzare le ODE tramite le soluzioni annulla il potere descrittivo!
1 Fondamenti logici degli invarianti di equazioni differenziali
2 Decidere l’invarianza tramite una prova dL
non ha una soluzione elementare in forma chiusa
60 / 99
Proprietà delle Equazioni differenziali
Concetto(Logica Differenziale Dinamica)
61 / 99
Completezza per invarianti di equazioni differenziali
62 / 99
Assiomatizzazione dell’equazione differenziale
Teorema (Completezza Algebrica)
Il calcolo d L è un’assiomatizzazione sound & complete di invarianti algebrici di equazioni differenziali polinomiali. Sono decidibili tramite DI, DC, DG
Teorema (Completezza Semialgebrica)
Il calcolo d L con RI è un’assiomatizzazione sound & complete di invarianti semialgebrici di equazioni differenziali. Sono decidibili in d L
63 / 99
Invarianti Differenziali per Equazioni Differenziali
64 / 99
Invarianti Differenziali per Equazioni Differenziali
65 / 99
Invarianti Differenziali per Equazioni Differenziali
66 / 99
Invarianti Differenziali per Equazioni Differenziali
67 / 99
Invarianti Differenziali per Equazioni Differenziali
68 / 99
Invarianti Differenziali per Equazioni Differenziali
69 / 99
Invarianti Differenziali per Equazioni Differenziali
70 / 99
Invarianti Differenziali per Equazioni Differenziali
71 / 99
Invarianti Differenziali per Equazioni Differenziali
72 / 99
Invarianti Differenziali per Equazioni Differenziali
73 / 99
Invarianti Differenziali per Equazioni Differenziali
se g (x, y ) = a(x)y + b(x), ha una soluzione lunga!
74 / 99
Invarianti Differenziali per Equazioni Differenziali
75 / 99
Invarianti Differenziali per Equazioni Differenziali
76 / 99
Invarianti Differenziali per Equazioni Differenziali
77 / 99
Invarianti Differenziali per Equazioni Differenziali
78 / 99
Invarianti Differenziali per Equazioni Differenziali
79 / 99
Invarianti Differenziali per Equazioni Differenziali
80 / 99
Tagli Differenziali per Equazioni Differenziali
81 / 99
Tagli Differenziali per Equazioni Differenziali
82 / 99
Tagli Differenziali per Equazioni Differenziali
83 / 99
Tagli Differenziali per Equazioni Differenziali
84 / 99
Tagli Differenziali per Equazioni Differenziali
85 / 99
Tagli Differenziali per Equazioni Differenziali
86 / 99
Tagli Differenziali per Equazioni Differenziali
87 / 99
Tagli Differenziali per Equazioni Differenziali
88 / 99
Tagli Differenziali per Equazioni Differenziali
89 / 99
Tagli Differenziali per Equazioni Differenziali
90 / 99
Tagli Differenziali per Equazioni Differenziali
91 / 99
Completezza per invarianti di equazioni differenziali
92 / 99
Esempio: dinamica longitudinale di un aeroplano
Studio (equazioni di volo longitudinale del 6o ordine)
93 / 99
Esempio: dinamica longitudinale di un aeroplano
Studio (equazioni di volo longitudinale del 6o ordine)
DRI genera automaticamente funzioni invarianti
94 / 99
Esempio: dinamiche Dubins di 2 aeroplani
DRI genera automaticamente invarianti
95 / 99
Esempio: Problema dei due corpi di Keplero
96 / 99
Esempio: Problema dei due corpi di Keplero
Esempio (problema dei due corpi)
97 / 99
Esempio: Problema dei due corpi di Keplero
Esempio (problema dei due corpi)
98 / 99
Esempio: Problema dei due corpi di Keplero
Esempio (problema dei due corpi)
99 / 99