Title: Nouvelles techniques de ModelChecking pour la vrification de Systmes Complexes
1Nouvelles techniques de Model-Checkingpour la
vérification de Systèmes Complexes
- Y. Thierry-Mieg, S.Baarir, A. Duret-Lutz, F.
Kordon, - Laboratoire d'Informatique de Paris 6
- prénom.nom_at_lip6.fr
2Introduction les besoins émergents
- Contexte les systèmes répartis
- Indéterminisme difficile/impossible à appréhender
- Une démarche de test classique est inopérante
- Même les modèles de répartition simples
engendrent des systèmes complexes - Client/serveur
- Limite à terme de ces modèles de répartition dans
les systèmes industriels - MBD Model Based Development
- Avatar du MDA?
- Besoins
- Ordre 1 développer plus vite à qualité
constante - Aspects purement économiques
- Ordre 2 développer des systèmes plus fiables
- Fiable déterministes dans les systèmes répartis
- Intérêt des méthodes formelles
3Familles d'approches formelles
- Démarches orientées preuves
- Le modèle axiomes
- La propriété un théorème
- La preuve démonstration du théorème à partir
desaxiomes - Usage de theorem prover
- Ça marche PVS, B, Z, spec. algébriques, etc.
- Model checking
- Le modèle une spécification dans un langage
formel - La propriété une formule LTL/CTL -gt automate
- La preuve synchronisation d'automates
- L'espace d'états du système
- L'automate de la propriété
- Ça marche SPIN, PROD, SPOT, etc.
paramétrable systèmes infinis -
besoin d'expertise - outils complexes -
systèmes statiques
automatisable plus accessibles
systèmes dynamiques - non paramétrable -
systèmes finis
4Model Checking
- Contrôler l'explosion combinatoire
- Besoin d'optimiser systématiquement à différents
niveaux - Modélisation
- Génération de l'espace d'états
- Problème crucial occupation mémoire
- Codage des états
- Factorisation des états
- Recherche de chemins dans l'espace d'états ou
synchronisation d'automates - Ce qui sera présenté aujourd'hui
- Factorisation des états
- Identification des symétries (globales et/ou
partielles) - Exploitation des symétries pour la génération
despaces détats - Exploitation des symétries pour la vérification
LTL - Exploitation des symétries admises par une
propriété
5Un système client/serveur simple
- Modèle RPC simple
- Deux instances de clients appellent des méthodes
du serveur et se bloquent en attente dune
réponse - Le serveur traite les requêtes localement et
renvoie un acquittement. - Fonctionnement en boucle
- Points darrêt au moment des synchronisations de
processus (envois et réceptions)
6Espace d'états concrets(C2, S1, M2)
- Noeud une configuration
- Processus
- État des communications
- Arc instanciation d'une transition
- Dimensions
- 24 Noeuds
- 54 Arcs
- Cycleappel avec mlt2 sans entrelacement
7Graphe Quotient(1)Les Clients sont Permutables
8Graphe Quotient (2)Les Messages Sont Permutables
Un client envoie un message au serveur Deux
chemins (M1 ? M2)
Même configuration, un seul chemin (identité des
messages permutables)
9Model-Checking LApproche Automate
- Vérification dune propriété sur un modèle
- Comportements du modèle L(AM)
- Comportements reconnus comme invalides par la
propriété L(A?) - Intersection des langages gt contre-exemple si
propriété fausse
10LTL et Automates reconnaissant un langage
- LTL Linear Time Logic
- Expression de propriétés temporelles sur les
éxécutions du système - Propriété G(capteur?F alarme).
- Automate de sa négation
11Approche Automate et Graphe Quotient
C1C2
C1?C2
- Compatibilité nécessaire entre les alphabets
pour faire le produit synchronisé - Les permutations utilisées pour construire le
graphe quotient ne doivent pas modifier la valeur
de vérité des propositions atomiques de la
propriété à vérifier
12Analyse Des PermutationsAdmises Par Une Formule
- Propriété à vérifier ? G(a ? b)
- a le réseau R contient un message du client C1
de type M1 - b C1 attend un acquittement
- Permutations admises
- a gt C1?C2 et M1?M2
- b gt C1?C2
- Compatibilité graphe quotient / propriété
- C1?C2 et M1?M2 ? Pas de permutations admises
- PAS DE GAIN AVEC LAPPROCHE
- PAR GRAPHE QUOTIENT
-
13Permutations admises et Automate de la Propriété
true
C1C2 et M1M2
- Propriété à vérifier ? G(a ? b)
- a le réseau R contient un message du client C1
de type M1 - b C1 attend un acquittement
- Permutations admises
- True gt C1C2 et M1M2
- a gt C1?C2 et M1?M2
- b gt C1?C2 et M1M2
- a? b gt C1?C2 et M1?M2
q0
C1?C2 et M1?M2
a? b
A? Automate de la négation de la propriété
q1
true
C1C2 et M1M2
Localité des distinctions interdisant les
permutations
14SSP Symbolic Synchronized Product
C1C2
C1?C2
- Idée
- Etudier directement le produit synchronisé
- Compatibilité évaluée à la volée (Localement)
- PLUSIEURS GROUPES DE PERMUTATIONS
- COEXISTENT DANS LE SSP
15Construction du SSP
true
C1C2 M1M2
ltq0,s0gt
True C1C2 M1M2
q0
C1?C2 M1?M2
ltq0,s1gt
a? b
True C1C2 M1M2
q1
true
- Aucun état ne vérifie a? b gt
- Le SSP est produit en permettant les permutations
- C1C2 M1M2
C1C2 M1M2
16Étude de cas réellel'intergiciel PolyORB
- Intergiciel schizophrène
- Réflexion sur l'architecture d'un intergiciel
- Un intergiciel extrêmement générique et
vérifiable - http//www.polyorb.eu.org
API (applicative)
Coeur neutre réutilisable
API (protocole)
17Étude de cas réellele modèle
- Construction à partir des composants du système
- Vision hierarchique
- Assemblage de patterns simples
- Configuration de l'exemple présenté
- Multithreadé
- Politique Leader-Follower (TAO)
- Le modèle
- 89 places
- 72 transitions
- 289 arcs
Thread(s) en modefollower
Gestion des sources et des événements reçus
Thread en mode leader
FIFO
18Étude de cas réelleEspaces détats concrets et
quotient
19PerformancesGraphe Quotient et SSP
20Conclusion perspectives
- Maturité de ces techniques
- Ces techniques deviennent mûres et utilisables
par des peu spécialistes - Support par des outils
- La convivialité arrive-)
- Travaux sur des études de cas réelles
- Travaux en cours des extensions aux techniques
actuelles - Evaluation de performances stochastiques
- Prise en compte de symétries locales
- Techniques de représentation en mémoire
- Codage des état pour partager des sections
- Utilisation d'arbres de décisions (classique
pourl'espace d'états concrets)
10620