La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Aide à la conception de systèmes distribués

Présentations similaires


Présentation au sujet: "Aide à la conception de systèmes distribués"— Transcription de la présentation:

1 Aide à 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

2 Modè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

3 Automatisation de la vérification
Produit Synchronisé avec l'automate de la propriété LTL f CLASS Philo = ph{1-3} Thinking Waiting Eating Forks //f= G (w1 ® X F e1) PROP w1 = ph1.Waiting e1 = ph1.Eating Spécification RDP Automate Büchi S A Øf true Interpréteur du modèle Produit synchronisé Interpréteur d'automate de Büchi w1 !e1 e1 true Propriété vraie: ou Séquence d'exécution invalidante S A Øf

4 Optimisations heuristiques
Produit Synchronisé avec l'automate de la propriété Complexité : O(Af)*O(GRDP) !!! Bornes de complexité égales Interpréteur d'automate de Büchi Noyau de vérification du modèle 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]

5 Ré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) true w1 !e1 e1 w2 ! e2 e2 w3 ! e3 e3 1 2 2 3 S Différentes classes d'états symétriques par permutations sur 1..3

6 Efficacité vue par GreatSPN
Réseau de Petri Bien Formé > 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 + (p2+p3).Thinking m12 = p2.Waiting + (p1+p3).Thinking m13 = p3.Waiting + (p1+p2).Thinking @ Ù m1= Ph1.Waiting + (Ph2).Thinking Avec Philo = Ph1 È Ph2 (symboliquement) tel que |Ph1| = |Ph2| = 2

7 Efficacité vue par GreatSPN
SRG RG |C| #tang(SRG) #evan(SRG) #tan(RG) #evan(RG) 4 30 312 384 5 39 960 1200 6 48 2736 3456 7 57 7392 9408 8 66 19200 24576 9 75 48384 62208 10 84 119040 153600 Marquages Symboliques Marquages standards 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

8 Exploitation des symétries pour la vérification
Le produit synchronisé doit être un système de transitions symétriques 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 : <m, b> 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)

9 Exploitation 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 : <m, b> 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)

10 Validité 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 -> n2 existe dans le produit synchronisé symbolique alors chaque marquage de n2 is accessible par un marquage de n1

11 Exploitation 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 a 1 a 2 a 3 B b3 b 1 b 2 b 3 a1 b3 Raffinement : Philo = {ph1} È {ph2,ph3} A A Vérifier f = G (ph1.Thinking Þ F ph1.Eating) a 1 a 2 a 3 B B intérêt modèle et propriété fortement symétrique b 3 b 1 b 1 G (a1 FXb3) true

12 Plate-forme de vérification symbolique
Cas des symétries globales CLASS Philo PH1 is {ph1} PH2 is ph{2-4} PROP w1 = PH1.Waiting w2 = exist PH2.Waiting w3 = all PH2.Waiting w4 = # PH2.Waiting > 2 e1 = PH1.Eating e2 = exist PH2.Eating e3 = all PH2.Eating Interface IHM (AMI-NET) Réseau Bien Formé automate Raffinement Interpréteur symbolique (noyau GreatSPN) GMC noyau de vérification Interpréteur d'automate de Büchi true w1 & !w2 ! e1

13 Vérifier les systèmes partiellement symétriques
La plupart des systèmes et algorithmes distribués sont partiellement symétriques Büchi Automaton A¬f 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 Symmetric WN Büchi Automaton A¬f Automaton Ac for the control of asymmetry * * Asymmetric automaton Symmetric system

14 Application : 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 > si

15 Application : Algorithme de Bagrodia
Choix de l'automate de contrôle le plus symétrique possible Condition de retardement Ù iÎA ( Ati Þ Ùj < 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 ( Ati Ùj < i Reti,j ) Ù iÏA Ati I = A È A avec cA |A| = k et |A| = n-k jÎA A1 = A \ A(1) Ak+1 = 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 1 k k+1 n Ù iÎA1 ( Ati Ùj<i Reti,j ) Ù iÎA1 Ati Ù iÎAk ( Ati Ùj < i Reti,j ) Ù iÎAk Ati Ù iÎAk+1 ( Ati Ùj < i Reti,j ) Ù iÎAk+1 Ati Ù iÎAn ( Ati Ùj < i Reti,j ) Ù iÎAn Ati jÎAk+1 jÎAn jÎA1 jÎA2 A paraître chez Hermes en 2002

16 Exploiter les symétries partielles un 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

17 Calcul 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 b1 b2 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]

18 Etat du produit synchronisé symbolique
<H, m, b> 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 ^ ^ ^ ^ ^

19 Calcul du produit synchronisé symbolique
calcul d'un successeur valide Soit <H1, m1, b1> tel que b1 ® b $ m1Î m1 : m1® m et m2|= b2 Alors construire <H1, m1, b1> ® <H2, m2, b2> ^ ^ m1 ^ GH1.m1= m1 ^ b1 m1 =| ^ ^ ^ m2 la classe de marquages est définie par des symétries communes à GH1 et Gb m2 = (GH1 Ç Gb2 ) . m2 on peut exploiter d'autres symétries sur m2 tant que GH2 Í Gm2. ^ 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 ^

20 Condition 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

21 Intégration des symétries partielles pour la vérification
Interface IHM (AMI-NET) Automate de contrôle des asymétries Réseau Bien Formé symétrique automate Cache des partitions locales de couleurs Calcul des états symboliques successeurs Match symbolique Produit Symétries locales Interpréteur symbolique Etendu (noyau GreatSPN) GMC noyau de vérification Interpréteur étendu d'automate de Büchi

22 Modè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) t m1 m2 m ^ ^'

23 symétries partielles pour 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é

24 Perspectives 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


Télécharger ppt "Aide à la conception de systèmes distribués"

Présentations similaires


Annonces Google