Title: Mod
1Modèle polyédrique et méthodes formelles
- Katell Morin-Allory
- COSI, IRISA
2Plan
- Problématique
- vérification de propriétés de contrôle
- exemple larbitre
- formalisme sous jacent
- Substitutions
- quantification universelle
- quantification existentielle
- PVS et omega
- PVS relation de récurrence
- omega présentation et retour à la
quantification existentielle - Conclusion
3Vérification de propriétés de contrôle
- Propriétés de contrôle
- vivacité
- sûreté
- exclusion mutuelle
- Logique temporelle quantificateurs temporels
- G ? ? sera toujours vrai
- F ? ? sera un jour vrai.
- A U B A est vrai jusquà B.
- X ? l'état suivant vérifie ?
4Arbitre
- Règles dévolution dune unité
- ask vrai tant que l'unité attend la ressource
- use vrai tant que l'unité utilise la ressource
- grant vraie quand larbitre accorde la ressource
- Propriétés
- Exclusion mutuelle
- Respect dun ordre de priorité sur les requêtes
par rapport à la place de lunité dans le
circuit
- initialement, lunité na pas de ressource
- elle nutilise pas la ressource si elle ne lui a
pas été accordée - elle demande la ressource jusqu'à ce quelle lui
soit accordée - elle commence à lutiliser dès quelle lui est
accordée - elle ne demande jamais la ressource lorsquelle
lutilise
5Formalisme sous-jacent
- équations récurrentes Yt,iYt-1,i or
Yt-2,i5 - propriétés de contrôle ? variables booléennes
- paramètres
- ordonnancement indice temporel/ indices
spatiaux - calculs sur les polyèdres
- PVS, omega
6Substitution
- Quantificateur universel
- A tout instant, la propriété est vraie sur tout
lespace des processeurs - Quantificateur existentiel
- A tout instant, il existe un point de lespace
des processeurs où la propriété est vraie
7Pour tout (1)
Or_gett,i case t1 false
Pgtigt11lttlti false i1
1lttltP1 Or_gett-i,ior gett-i,i
i1 tgtP1 gett-i,ior ( not gett-P-i,i)
Pgtigt1ilttltP1 Or_gett-1,i-1 or
gett-i,i or
(Or_gett-1,i and Or_gett-1,i1)
Pgtigt2tgtP1 Or_gett-1,i-1 or gett-i,i
or (Or_gett-1,i and Or_gett-1,i1and
not gett-P-1,i) esac
8Pour tout (2)
Or_gett,i case t1 false
Pgtigt11lttlti false i1
1lttltP1 Or_gett-i,ior gett-i,i
i1 tgtP1 gett-i,ior ( not gett-P-i,i)
Pgtigt1ilttltP1 Or_gett-1,i-1 or
gett-i,i or
(Or_gett-1,i and Or_gett-1,i1)
Pgtigt2tgtP1 Or_gett-1,i-1 or gett-i,i
or( Or_gett-1,i and Or_gett-1,i1and
not gett-P-1,i) esac
Or_gett,i case t1 false
Pgtigt11lttlti false i1
1lttltP1 trueor gett-i,i i1
tgtP1 gett-i,i or ( not gett-P-i,i)
Pgtigt1ilttltP1 true or gett-i,i or
(true and true)
Pgtigt2tgtP1 true or gett-i,i or(true
and true and not gett-P-1,i) esac
- Or_gett,i
- case
- t1 false
- Pgtigt11lttlti false
- i1 1lttltP1 true
- i1 tgtP1 gett-i,i or (not
gett-P-i,i) - Pgtigt1ilttltP1 true
- Pgtigt2tgtP1 true
- esac
- A montrer
- i1 tgtP1 gett-i,i or (not gett-P-i,i)
- Or_get2,1-gt get1,1
9Il existe
- à linstant t la variable à vrai peut être
présente nimporte où dans lespace - condition suffisante mais pas nécessaire
10Il existe
Xt,icase 10lttltP,0ltilt4Xt-i,i2 and
Zt,P 10lttltP,5ltilt10 Xt-i4,i3 or
Xt-5,i-4 10lttltP, 10ltilttXt-i,i or
Xt-4,i-5 esac
11PVS et Omega
- PVS
- validation des relations de récurrence induites
- preuve des tautologies
- Omega
- présentation domega
- retour à lexistence
12PVS
Var Zt1ltiltP of boolean Zt
gett,t
Yt,i case tP1 i1 1ltP
gett-1,P or not True P2ltt
i1 1ltP gett-1,P or not gett-P-1,P
tP1 2ltiltP gett-1,i-1 or not
False P2ltt 2ltiltP
gett-1,i-1 or not gett-P-1,i-1 esac
Yt,i case tP1 i1 1ltP
gett-1,P P2ltt i1 1ltP
Yt-1,P tP1 2ltiltP True
P2ltt 2ltiltP Yt-1,i-1
esac
Zt case t1 1ltP
True 2lttltP gett-1,t-1
esac On a prouvé que Z est vrai partout. ZP
? getP,P ? ?t,i?tgtP1,1?i ? P?
gett,i or not gett-P,i ?
?t,i?tgtP2,i2? gett-i,i or not gett-i-P,i
? ?t,i?tgti,1?i ? P? Or_gett,i
Zt case t1 1ltP
True 2lttltP Zt-1 esac
Or_gett,i case t1 false
Pgtigt11lttlti false i1
1lttltP1 true i1 tgtP1
gett-i,i or (not gett-P-i,i)
Pgtigt1ilttltP1 true
Pgtigt2tgtP1 true esac
Y t,i Pltt Pgtigt1 of boolean Yt,i
gett,i or not gett-P,i
13Omega
- relations et ensembles de n-uplets dentiers
- applications
- analyse de dépendances
- transformations de programmes
- génération de code
- formules de Presburger
- ?,?,?,?,?,?,?,?,?,?,?
- ?x, ?y x ?y
- outils union, intersection, image, domain,
composition, - complexité
14Retour à lexistence
?t?t2lttlt2P (a?b?c)?Dt Dt Dt t,i
tt , 1ltilt2P
?t??i,1? i?2P ? (t,i)?a ? (t,i)?b ? (t,i)?c?
Rt forall(i !(1ltilt2P) ( 1ltiltP
i1lttltPi1) ( P1lttlt2P
P2ltilt2P) ( ti1 1ltilt2P ) )
-tPlt2
R P2 2 lt P
15Conclusion
- Travail effectué
- Quantification universelle du temps
- Preuve sur le domaine de définition
- Propriétés simples juste une variable
- Existencecondition suffisante