KLAI Kais
Direction de recherche : Serge HADDAD
Co-encadrement : ILIÉ Jean-Michel
Réseaux de Petri : Vérification Modulaire et Symbolique
La vérification des propriétés des systèmes concurrents est reconnue comme un problème difficile du fait de l’explosion combinatoire des états possibles pour le système. L'objectif de la thèse est d'explorer deux concepts de la littérature permettant de faire face à ce problème. La modularité intrinsèque aux systèmes concurrents d'une part, et la représentation de l'espace d'états accessibles du système en utilisant la structure de diagramme de décision binaire (BDD) d'autre part. La vérification d'une propriété est dite modulaire quand la vérification sur le modèle final se déduit des vérifications de ses composants. Malgré quelques résultats forts du point de vue théorique, la non préservation des propriétés par (dé) composition induit généralement une faible propension à être appliquée à des systèmes réels. Notre idée est de prendre davantage en compte les mécanismes de communication des systèmes pour établir des méthodes reposant sur des conditions d'application plus réalistes. Les approches BDD permettent d'un autre coté, de minimiser l'impact de l'explosion du nombre d'états du système grâce à une représentation des états et des comportements du système particulièrement concise. Le travail effectué dans cette thèse a abouti à trois approches jouant sur des aspects orthogonaux. Dans la première approche, nous abordons la décomposition du réseau de Petri en sous réseaux, tirant profit de synchronisations par fusion de transitions pour préserver le comportement originel. Après avoir corrigé et amélioré le travail de [Souissi91], nous proposons une technique de vérification ramenant la vérification d'une propriété sur le système global à une vérification modulaire sur des parties du système. L'originalité de ce travail réside dans le fait que la procédure de construction des modules étudiés est automatisable en exploitant les propriétés structurelles du modèle global (les invariants du système). Un module est en fait composé d'un sous-réseau complété par une abstraction de son environnement dans le système, de façon à assurer la couverture de l'ensemble des comportements du système global. Sous l'hypothèse d'une non contraignance entre deux modules (dont des conditions effectives de vérification sont donnée), nous assurons la préservation des propriétés de vivacité et du caractère borné ainsi que la préservation des propriétés temporelles validées sur des séquences infinies locales à un sous-réseau (propriétés observationnelles). Dans la deuxième approche présentée dans cette thèse, nous proposons une méthode de vérification purement comportementale. Cette méthode est basée sur la construction d'un graphe réduit à partir de l'observation des actions (transitions) apparaissant dans la formule à vérifier. Les noeuds de ce graphe, dit graphe d'observation, représentent l'abstraction d'un ensemble de marquages liés entre eux par des actions non observées, et les arcs sont exclusivement étiquetés par des actions observées. L'originalité de notre travail réside dans le fait que ce graphe peut être codé de façon très compacte, tirant profit des techniques de représentations symboliques dites BDD (Binary Diagram Decision), tout en préservant le pouvoir de vérification. En effet, la structure du graphe obtenu peut être directement utilisée par les algorithmes classiques de vérification (model-checking) de formules de logique temporelle à temps linéaire. La troisième technique de vérification est une technique fondée sur des heuristiques qui exploitent à la fois la structure du réseau et la propriété à vérifier. Nous proposons une procédure de décision automatisable consistant à définir un sous-système très réduit sur lequel on puisse projeter de façon certaine le processus de vérification d'une propriété de logique temporelle. Dans cette approche, le système est décomposé en deux sous réseaux synchronisés sur un ensemble de transitions : celui supportant la vérification et celui qui représente son environnement. La technique proposée vise, d'une part, à dépasser les limites de notre approche purement structurelles, quand celle-ci fait échec, et d'autre part à exploiter la structure très réduite du graphe d'observation des modules synchronisés.
Soutenance : 01/12/2003
Membres du jury :
Petrucci Laure, (Professeur à Paris 13) [Rapporteur]
Vernadat François, (HDR au LAAS) [Rapporteur]
Haddad Serge, (Professeur à Paris 9)
Ilié Jean-Michel, (Maître de conférences à Paris 5)
Kordon Fabrice, (Professeur à Paris 6)
Barkaoui Kamel, (Professeur au CNAM)
Publications 2002-2017
-
2017
- S. Baarir, K. Klai : “First international workshop on verification of business and software processes”, International Conference on Software and System Process, Paris, France, pp. 143-144, (ACM), (ISBN: 978-1-4503-5270-3) (2017)
-
2011
- A. Duret‑Lutz, K. Klai, D. Poitrenaud, Y. Thierry‑Mieg : “Self-Loop Aggregation Product - A New Hybrid Approach to On-the-Fly LTL Model Checking”, 9th International Symposium on Automated Technology for Verification and Analysis (ATVA'11), vol. 6996, Lecture Notes in Computer Science, Taipei, Taiwan, Province of China, pp. 336-350, (Springer) (2011)
-
2010
- Ch. Choppy, A. Dedova, S. Evangelista, S. Hong, K. Klai, L. Petrucci : “The {NEO} Protocol for Large-Scale Distributed Database Systems: Modelling and Initial Verification”, 31st International Conference on Petri Nets and Other Models of Concurrency (ICATPN 2010), vol. 6128, Lecture Notes in Computer Science, Braga, Portugal, pp. 145-164, (Springer) (2010)
-
2009
- O. Bertrand, A. Calonne, Ch. Choppy, S. Hong, K. Klai, F. Kordon, Y. Okuji, E. Paviot‑Adet, L. Petrucci, J.‑P. Smets : “Verification of large-scale distributed database systems in the NEOPPOD project”, Workshop on Petri Nets and Software Engineering (PNSE'09, associated with Petri Nets 2009) - poster paper, Paris, France, pp. 315-316 (2009)
-
2008
- K. Klai, D. Poitrenaud : “MC-SOG: An LTL Model Checker Based on Symbolic Observation Graphs”, 29th International Conference on Application and Theory of Petri Nets (ICATPN'08), vol. 5062, Lecture Notes in Computer Science, Xian, China, pp. 288-306, (Springer-Verlag) (2008)
-
2005
- K. Klai, S. Haddad, J.‑M. Ilié : “Modular Verification of Petri Nets Properties: A Structure-Based Approach”, 25th IFIP International Conference on Formal Techniques for Networked and Distributed Systems (FORTE'05), vol. 3731, Lecture Notes in Computer Science, Taipei, Taiwan, Province of China, pp. 189-203, (Springer-Verlag) (2005)
-
2004
- S. Haddad, J.‑M. Ilié, K. Klai : “Symbolic Observation Graph : An Efficient Structure for On-The-Fly Action-based Linear Time Logic Model Checking”, 15th IEEE International Symposium on Software Reliability Engineering (ISSRE '04), Saint-Malo, France, pp. 11-12 (2004)
- S. Haddad, J.‑M. Ilié, K. Klai : “Design and Evaluation of a Symbolic and Abstraction-based Model Checker”, 2nd International Symposium on Automated Technology for Verification and Analysis (ATVA '04), vol. 3299, Lecture Notes in Computer Science, Taipei, Taiwan, Province of China, pp. 196-210, (Springer-Verlag) (2004)
-
2003
- J.‑M. Ilié, K. Klai : “A Modular Verification Methodology for D-NRI Petri Nets”, International Conference ACS/IEEE 2003 on Computer Systems and Applications (AICCSA-03), Tunis, Tunisia, (IEEE) (2003)
-
2002
- J.‑M. Ilié, K. Klai, S. Haddad : “An Incremental Verification Technique Using Reduction of Petri Nets : A Petri net Approach”, International IEEE Conference on System Man and Cybernetics 2002 (IEEE SMC 02), Hammamet, Tunisia, (IEEE-CS Press) (2002)