Title: Aide
1Aide à la conception de systèmes distribués
J-M. Ilié Lip6 SRC
- Cadre théorique
- réduction de modèle
- réduction d'espace d'états
- Outils de vérification
- LTL et Automates de Büchi
- Outils d'évaluation de performance
- évaluation probabiliste et chaîne de Markov
- Perspectives
2Modèles-cadres pour la vérification
- Système concurrent fini
- RDP
- Sémantique concurrente asynchrone
- Générateur d'espace d'états
- Aspects structurels (invariants, dépendances)
- Aspect symbolique (gestion des couleurs)
- Propriété de logique temporelle
- Linéaire LTL, automates de Büchi
- Logique intuitive
- Aspects applicatifs (propositions d'états,
- propositions événementielles)
- Même complexité en temps que CTL
- Traitement possible de l'équité des systèmes
- Vérification à la volée
3Automatisation de la vérification
Produit Synchronisé avec l'automate de la
propriété
LTL
f
//f G (w1 X F e1) PROP w1 ph1.Waiting e1
ph1.Eating
Automate Büchi
Spécification RDP
S
A Øf
true
Interpréteur d'automate de Büchi
Produit synchronisé
Interpréteur du modèle
w1
true
!e1
e1
- Propriété vraie
- ou
- Séquence d'exécution invalidante
4Optimisations heuristiques
- Produit Synchronisé avec l'automate de la
propriété - Complexité O(Af)O(GRDP) !!!
- Bornes de complexité égales
- Optimisation fonction d'une propriété
- Réduction de modèle thèse de Klai
- sous-réseau suffisant pour la vérification
- Réduction d'espace d'états thèse de Ajami
- exploitation des symétries partielles
- Optimisations du noyau DEA de Roux
- Algorithme magique évitement des redondances de
recherche, cache d'états - Satisfaction semi-décidable cache d'états
réduits aux bits
5Réduction des espaces d'états symétriques
Des symétries ressortent de l'analyse des
permutations des propositions atomiques
-
- Groupe de symétries globales sur les états
- . sÎ S Û "p, p.s Î S
- . s1 s2 Î S Û "p, p.s1 p.s2 Î S
- . s. S0 S0
- Classes d'équivalence d'états symétriques
- Graphe d'états quotient (graphe de classes
d'équivalence) - Automate de Büchi quotient ( préserver les
états d'acceptation)
f ORiÎPhilo G (wi X F ei)
Différentes classes d'états symétriques par
permutations sur 1..3
1 3
6Efficacité vue par GreatSPN
- Réseau de Petri Bien Formé ---------gt Système
de transitions symétriques - Classe de couleurs Famille génératrice de
symétries par - Action permutations préservant les classes
- Marquage symbolique Représentation d'une
classe de marquages - Franchissement symbolique Préservation des
symétries - Graphe de marquages symboliques Graphe
quotient
m11 p1.Waiting (p2p3).Thinking m12
p2.Waiting (p1p3).Thinking m13 p3.Waiting
(p1p2).Thinking
_at_
Ù
m1 Ph1.Waiting (Ph2).Thinking
Avec Philo Ph1 È Ph2 (symboliquement)
tel que Ph1 1 Ph2 2
7Efficacité vue par GreatSPN
evan(RG)
tang(RG)
tang(SRG)evan(SRG)
RG graphe de marquages SRG graphe de
marquages symboliques evan marquage évanescent
(proba nulle) tang marquage tangible
8Exploitation des symétries pour la vérification
Le produit synchronisé doit être un système de
transitions symétriques
1,2 - 2,3 - 1,3
- Produit synchronisé quotient
- S Groupe de symétrie
- Espace d'états symétrique sur S
- Propriété symétrique sur S
- Produit synchronisé quotient (symbolique)
- état du produit synchronisé quotient ltm, bgt
- contrainte " m Î m
m b
f GF (ÙiÎPhilo phi.Thinking)
Sans précaution, seules des symétries
propositionnelles sont exploitables !!
Les philosophes ne sont pas (suffisamment)
symétriques pour la vérification
f ÙiÎPhilo G (phi.Thinking Þ F phi.Eating)
9Exploitation des symétries pour la vérification
Le produit synchronisé doit être un système de
transitions symétriques
- Construction d'un produit synchronisé quotient
- Groupe de symétries S
- Espace d'états symétrique sur S
- Propriété symétrique sur S
- Produit synchronisé quotient (symbolique)
- état du produit synchronisé quotient ltm, bgt
- contrainte " m Î m
m b
1,2 - 2,3 - 1,3
f GF (ÙiÎPhilo phi.Thinking)
Sans précaution, seules des symétries
propositionnelles sont exploitables !!
Les philosophes ne sont pas (suffisamment)
symétriques pour la vérification
f ÙiÎPhilo G (phi.Thinking Þ F phi.Eating)
10Validité de l'approche quotient
Assurer par construction la préservation des
séquences invalidantes
Chaque séquence invalidante du produit
synchronisé quotient doit correspondre à une
séquence invalidante dans le produit synchronisé
ordinaire
Lemme Si n1 -gt n2 existe dans le produit
synchronisé symbolique alors chaque marquage de
n2 is accessible par un marquage de n1
11Exploitation des symétries pour la vérification
- Cas des RDP symétriques
- définir le sous groupe de symétries valides
- définition statiques de sous classes de couleurs
- actions permutations préservant les sous
classes de couleurs
A
a1
B
b3
Raffinement Philo ph1 È ph2,ph3
A
A
Vérifier f G (ph1.Thinking Þ F ph1.Eating)
B
B
- intérêt
- modèle et propriété fortement symétrique
G (a1 ??FXb3) true
12Plate-forme de vérification symbolique
Cas des symétries globales
CLASS Philo PH1 is ph1 PH2 is ph2-4 PROP w1
PH1.Waiting w2 exist PH2.Waiting w3 all
PH2.Waiting w4 PH2.Waiting gt 2 e1
PH1.Eating e2 exist PH2.Eating e3 all
PH2.Eating
Interface IHM (AMI-NET)
automate
Réseau Bien Formé
Raffinement
GMC noyau de vérification
Interpréteur d'automate de Büchi
Interpréteur symbolique (noyau GreatSPN)
true
w1 !w2
! e1
13Vérifier les systèmes partiellement symétriques
La plupart des systèmes et algorithmes distribués
sont partiellement symétriques
Büchi Automaton Af
Automaton Ac for the control of asymmetry
Symmetric WN
- Définition du système (1) système
symétrique (2) un automaton de contrôle des
asymétries
Asymmetric system
Les comportements asymétriques sont reportés sur
ceux de l'automate de Büchi
- Model Checking
- produit synchronisé des automates
- calcul des symétries locales
- calcul à la volée des symétries du
produit synchronisé symbolique
Büchi Automaton Af
Automaton Ac for the control of asymmetry
Asymmetric automaton
Symmetric system
14Application Algorithme de Bagrodia
Rendez-vous distribué fonctionnant par paire de
site possibilité de retardement de sites
Comportement partiellement symétrique
- Eviter les blocages retard possible de
sj par si seulement si sj gt si
15Application Algorithme de Bagrodia
Choix de l'automate de contrôle le plus
symétrique possible
Condition de retardement
Ù iÎA ( Ati Þ Ùj lt i Reti,j )
- Seuls les sites mutuellement en attente de
réponse peuvent être retardés - Les sites qui ne sont pas en attente sont
laissés symétriques
I A È A avec
Ù iÎA ( Ati Ùj lt i Reti,j ) Ù iÏA Ati
cA
A k et A n-k
jÎA
Ak1 A È A(1)
A1 A \ A(1)
An A È A(n-k)
A2 A \ A(2)
Ak A\ A(k)
A\ k
A È k
avec kÎA
avec kÎA
cA
cA
cA
cA
n
k
k1
1
¼
¼
Ù iÎA1 ( Ati Ùjlti Reti,j ) Ù iÎA1 Ati
Ù iÎAk ( Ati Ùj lt i Reti,j ) Ù iÎAk Ati
Ù iÎAk1 ( Ati Ùj lt i Reti,j ) Ù iÎAk1 Ati
Ù iÎAn ( Ati Ùj lt i Reti,j ) Ù iÎAn Ati
jÎAn
jÎAk1
jÎA1
jÎA2
A paraître chez Hermes en 2002
16Exploiter les symétries partiellesun historique
Sur le modèle
- distinguer parties asymmetriques and symétriques
- RDP et Graphe de marquages symboliques étendu
- prise en compte dynamique du sous groupe de
symétries
Pb applications aux propriété de sûreté
Thèse de Zouari, 95
- Autoriser les comportements symétriques mais
seulement sur les états totalement
symétriques
Pb très peu d'applications
Emerson and Trefler, 99
Sur l'automate de la formule
- Définir un ensemble de relations d'équivalence
d'états en fonctions d'un famille de sous
groupes - construire un produit synchronisé quotient adapté
Ajami al, 98
Pb petit facteur de réduction dues aux
contraintes de bissimulation de la relation
17Calcul de symétries locales
Chaque état permet localement de calculer un sous
groupe de symétries
Gb0 GPhilo
Gb1 2 3,identity
Gb2 identity
- Intérêt principal indépendance de la
structure de l'automate
b0
b2
b1
true
w1 ! e1 t2 t3
w2 ! e1
Représentation sous forme de partitions des
couleurs
- Restriction locale des permutations
- analogie sous-classes statiques
- des réseaux bien formés
H0 1,2,...
H1 1 È2,3
H2 1 È2 È3
Haddad, Ilié - FORTE 2000
18Etat du produit synchronisé symbolique
ltH, m, bgt partition
représentation (symbolique) état de
l'automate de couleurs d'un ensemble
de marquages
Contraintes (c1) chaque état de m satisfait
b "m Îm m b (c2) les symétries d'états
déduites de H préservent la classe d'états GH .
m m
19Calcul du produit synchronisé symbolique
- calcul d'un successeur valide
Soit ltH1, m1, b1gt tel que b1 b2 m1Î
m1 m1 m2 et m2 b2 Alors
construire ltH1, m1, b1gt ltH2, m2, b2gt
m1
GH1.m1 m1
b1
m1
- la classe de marquages est définie par des
symétries communes à GH1 et Gb2 m2
(GH1 Ç Gb2 ) . m2 - on peut exploiter d'autres symétries sur m2
tant que GH2 Í Gm2.
m2
b2
m2
GH2.m2 m2 ?
H2 est choisi pour représenter un sous groupe de
symétries (maximal) au minimum GH2 (GH1 Ç
Gb2 ) au plus GH2 Gm2
20Condition de regroupement de sous classes de
couleurs
Pour 2 sous classes de couleurs - uniformité de
chaque sous classe - même distribution d'états
pour les deux classes
m (S1 S2 S3) . Repos (S1) .
EnCours Avec H S1, S2, S3 et Sites S1È S2 È
S3 et S1 S2 S3 1
m (S1 S2 S3) . Repos (S1) .
EnCours Avec H S1, S23 et Sites S1È S23 et
S1 1 S23 2
21Intégration des symétries partielles pour la
vérification
Interface IHM (AMI-NET)
Automate de contrôle des asymétries
automate
Réseau Bien Formé symétrique
- Cache des partitions locales de couleurs
- Calcul des états symboliques successeurs
- Match symbolique
Produit
Symétries locales
Interpréteur symbolique Etendu (noyau GreatSPN)
Interpréteur étendu d'automate de Büchi
GMC noyau de vérification
22Modèle pour l'évaluation de performances
- RDP
- Réseau de Petri Bien Formé Þ Système
symétrique - Taux de franchissement sur les transitions Þ
fonction des sous classes statiques - Poids sur les transitions immédiates
- Nombre de serveurs par transition
- Graphe de marquages symboliques étiqueté
Þ Taux de sortie des Marquages - Equiprobabilité au sein d'un marquage symbolique
- Equivalence à une chaîne de Markov agrégée Þ
Analyse globale du graphe - Vérifier la condition d'ergodicité (régime
permanent) Þ test de forte connexité du GMS - Abstraire les marquages evanescents (probabilité
nulle) - Vérifier la condition d'agrégation (homogénéité
des taux de sortie)
23symétries partiellespour l'évaluation de
performances
- Graphe de Marquages
- Symbolique étendu
- graphe très compact
- accessibilité préservée
Interface IHM (AMI-NET)
- "Prise en compte dynamique" des sous
classes de couleurs - Re-calcul de marquages symboliques
- Raffinements de graphe
- Ergodicité
- Chaîne de Markov agrégée
Réseau Bien Formé
Interpréteur symbolique étendu (noyau GreatSPN)
Calcul de la Chaîne de Markov agrégé
Test ergodicité
24Perspectives
- Recherche
-
- Affiner la notion de symétries partielles
- Rapprocher le graphes de performance et de
vérification - Traitement des logiques temporisées
probabilistes - Intégrer la réduction de modèles
- Atelier
- Automatiser la construction des automates de
contrôle des asymétries - Traitement des logiques événementielles
- Introduire l'équité pour la vérification