Aide à la conception de systèmes distribués

Slides:



Advertisements
Présentations similaires
Yassine Lakhnech Prof. UJF Verimag
Advertisements

Machines séquentielles
Karima Boudaoud, Charles McCathieNevile
LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement.
Algorithmes et structures de données avancés
UML / Réseaux de Petri Validation / Vérification
Projet FIACRE 1 ACI Sécurité InformatiqueToulouse, novembre 2004 FIACRE Fiabilité des Assemblages de Composants Répartis Modèles et outils pour lanalyse.
Regroupement (clustering)
Introduction à l’Algorithmique
Découverte automatique de mappings fondée sur les requêtes dans un environnement P2P Présenté Par: Lyes LIMAM Encadré Par: Mohand-Said Hacid.
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
Yann Chevaleyre et Jean-Daniel Zucker
Notions de base de l’optique ondulatoire
Cliques & Bicliques Maximales
"Recherche de scénarios redoutés à partir d'un modèle réseau de Petri"
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
Quoi ? Un tampon.
Bouyekhf Rachid-Lyuboumir Gruitch Laboratoire SeT UTBM
Tests et Validation du logiciel
Ordonnancement des mouvements de deux robots
Système de gestion de bases de données. Modélisation des traitements
Alain Le Guennec Jean-Marc Jézéquel Action Triskell
Un système de médiation basé sur les ontologies
MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE Professeur à l'UHP / ESIAL
Application des algorithmes génétiques
Journée du travail du groupe S3
Aide à la décision et à la négociation dans un problème de gestion de production distribuée Jean-Pierre Camalot et Patrick Esquirol LAAS-CNRS 7, avenue.
Graphes Conceptuels J.F. Baget Inria.
Programmation logique Logique des prédicats du premier ordre
Exploitation du modèle holonique dans un cadre combinant IAD et IHM
(ref : Bray section pages 283 à 290)
Sylvie Alayrangues Jacques-Olivier Lachaud
Ordonnancement avec exclusion mutuelle par un graphe d’intervalles ou d’une classe apparentée : complexité et algorithmes ~ Frédéric Gardi - 14 Juin.
algorithme de Lamport - Exercice N° 2
Une visite guidée dans le monde des ondelettes
Automatisme de portail Autonome
Maîtrise des risques et sûreté de fonctionnement – Avignon – 6-10 Octobre 2008 Modélisation des dysfonctionnements dun système dans le cadre dactivités.
Techniques de test Boulanger Jean-Louis.
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
Vincent GOURCUFF, Olivier De SMET, Jean-Marc FAURE
IFT 2251 Génie Logiciel Spécification de Processus Concurrents
Buy Large COOA Etudiants : Zhengyi Cao Mickael Orsolino Vadim Pivak
Rappels de logique des prédicats du 1er ordre
IFT Complexité et NP-complétude
Courbes de Bézier.
Exploitation de l’affinité dans les réseaux pair à pair
Révisions - IA Généralité: problèmes de lIA Recherche Logique Traitement de lincertitude Apprentissage Langue naturelle.
Plan Introduction Architecture des FPGA Modèles des fautes
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Partie II Sémantique.
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Programmation procédurale Transformations
Stage 2A CS80 pour Origin 1/28. 1) Presentation of the internship 2) The Multi-Oscillator 3) Connection-GUI’s API Conclusion Stage 2A CS80 pour Origin.
ANALYSE METHODE & OUTILS
Arithmétique Modulaire
30 Janvier 2002 Club SEE 63 "Systèmes Informatiques de Confiance" 1 Vérification de spécification de logiciel critique Jean-Louis Boulanger RATPEST/ITF/AQL.
Chapitre 3 Simulation de Fautes
Amélioration de la simulation stochastique
Supports de formation au SQ Unifié
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
Complexité des Problèmes Combinatoires Module IAD/RP/RO/Complexité Philippe Chrétienne.
Les processus métiers : concepts, modèles et systèmes Claude Godart Université de lorraine. Esstin
J. Cardoso — C. Sibertin-Blanc — C
Université Pierre et Marie Curie Laboratoire d’Informatique de Paris VI Département ASIM Analyse et résultats sur le dimensionnement des mémoires pour.
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Contributions de l’ENST Bretagne à l’ACI Dispo RSM/SERES.
Mai 2005 Ghislain Fraidy Bouesse TIMA-CNRS-INPG-UJF 46 Av. Félix Viallet Grenoble Cedex France CIS group "Concurrent Integrated Systems" Les Circuits.
Le Model Checker SPIN Présentation Algorithmes sous-jacents
Algorithmique et Complexité
Réseaux de Petri et suivi du joueur
Transcription de la présentation:

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

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

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

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]

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 1 3

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| = 1 |Ph2| = 2

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

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)

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)

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

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

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

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

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

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

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

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]

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 ^ ^ ^ ^ ^

Calcul du produit synchronisé symbolique calcul d'un successeur valide Soit <H1, m1, b1> tel que b1 ® b2 $ m1Î m1 : m1® m2 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 Gb2 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 ^

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

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

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 ^ ^'

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é

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