Télécharger le fichier pdf d’un mémoire de fin d’études
Logique Temporelle a temps Linéaire
Model checking DE LTL A L’AIDE DES AUTOMATES DE BUCHI
La premi`ere m´ethode est plus compliqu´ee `a mettre en place puisqu’il faut pouvoir tester l’´egalit´ entre l’intersection et le mod`ele lui-mˆeme. Etape qui n’est pas n´ecessaire dans le deuxi`eme cas, puisqu’il est suffisant de tester la vacuit´e du langage.
Decidabilit´ de l’accessibilit´ des ´etats
(t1, t2) ∈ F est not´e t1−◦ t2 (t1 inhibe (ou interdit le tir de) t2) et (t1, t2) ∈ A est not´e t2−• t1 (t1 autorise (ou permet) le tir de t2). Une transition sera dite T-sensibilis´ee si z´ero appartient `a son intervalle de tir. Dire d’une transition qu’elle est tirable est ´equivalent `a dire qu’elle est T-sensibili ´ee dans le formalisme des TPN (mais pas dans celui des ipTPN !).
Le mod`ele des r´eseaux de Petri admet intrins`equement un fonctionnement parall`ele (ou concurrent) et peut ultimement ˆetre d´ecompos´ jusqu’`a n’avoir plus qu’une seule transition (et toutes les places n´ecessaires a` ses pr´e/post-conditions) par composant. Cette d´ecomposition n’est pas toujours la plus ad´equate en terme de conception, mais sa faisabilit´e ne pose aucun probl`eme th´eorique. L’une des meilleures d´emonstrations de ce fait est le langage alg´ebrique a` base de boˆıtes Petri, le Petri Box Calculus [BDH92], o`u l’´el´ement de base est une transition avec une place en entr´ee et en sortie, qui va ˆetre manipul´e par des op´erateurs de composition (proches de ceux que nous venons de d´efinir) tels que l’on puisse construire plus ou moins ais´ement tout type de r´eseaux.
S’il est reconnu que les r´eseaux de Petri sont ais´ement composables, il est par contre ´egalement connu que rajouter une information temporelle sur les transitions restreint fortement les possibilit´es de composition tr`es larges qui existaient dans le cadre atemporel. En effet, comment composer des transitions portant un intervalle temporel non trivial ? Comment concilier des intervalles diff´erents ? La m´ethode la plus courante, nous venons de le voir, est de prendre l’intersection des intervalles temporels des transitions compos´ees. Mais ceci n’est qu’un pis-aller posant plus de probl`emes qu’il n’en r´esout. Cela signifie que l’on ne peut pas toujours effectuer la composition : si les intervalles sont disjoints le r´esultat serait incoh´erent. Mais, plus grave, cette composition ne pr´esente pas, comme nous allons le voir, de «bonnes propri´et´es» en ce qui concerne la v´erification et la mod´elisation.
Plutˆot que d’´etudier la composition dans sa totalit´e, nous allons utiliser la restriction suivante : D´efinition 24 Composition parall`ele //
Soient deux r´eseaux de Petri etiquet´es Na = P a, T a, Prea, Posta, m0a, Isa, F a, Aa, Σaǫ, La et Nb = P b, T b, Preb, Postb, m0b, Isb, F b, Ab, Σbǫ, Lb .
Si (∀p ∈ P a)(∀p′ ∈ P b)(La(p) =ǫ Lb(p′)), alors la composition Na ⊙ Nb pourra etre notée par
Na//Nb . L’opérateur // est dit operateur de composition parallèle.
|
Table des matières
1 Introduction
1.1 Organisation de la th`ese
2 Eléments contextuels a la vérification par model checking
2.1 Etapes du model checking
2.2 Systèmes de transitions temporises
2.3 Logique Temporelle a temps Lineaire
2.4 Model checking de LTL a l’aide des automates de Buchi
2.5 Decidabilite de l’accessibilite des etats
2.6 Bisimulation
2.7 R´eseaux de Petri temporels
2.7.1 D´efinitions
2.7.2 S´emantique
2.7.3 D´ecidabilit´e
2.8 Des classes pour les TPN
2.8.1 Graphe de classe lin´eaire
2.9 Extensions
2.9.1 read arcs
2.9.2 arcs inhibiteurs
2.9.3 Arcs chronom`etres
2.10 Conclusion
3 Réseaux de Petri a permissions et inhibitions
3.1 Introduction – Motivation de l’extension
3.2 R´eseaux de Petri temporels `a permissions et inhibitions
3.3 Expressivit´e
3.3.1 Introduction
3.3.2 Composition des ipTPN
3.3.3 Les ipTPN pour rendre les TPN composables
3.3.4 Les ipTPN pour coder les TA
3.4 Abstractions de l’espace d’´etats pour les ipTPN
3.4.1 Graphe de classes (`a temps) lin´eaire
3.4.2 Graphe de classes lin´eaires fortes
3.5 Conclusions
4 Le langage Pola
4.1 Introduction
4.1.1 Objectif
4.1.2 Un langage sp´ecifique `a un domaine
4.1.3 Syst`emes temps r´eel
4.1.4 Caract´erisation du domaine
4.1.5 des langages d´edi´es existants
4.2 Description du langage
4.2.1 Groupes de tˆaches et points de r´eordonnancement `a la Osek
4.2.2 partitionnement `a la Arinc 653
4.3 Conclusion
5 S´emantique de Pola
5.1 Le m´eta-mod`ele Pola
5.2 Pr´eprocesseur de r´eseaux de Petri
5.3 Notation graphique
5.3.1 Associ´ee aux arcs
5.3.2 Associ´ee `a tout ´el´ement
5.4 S´emantique par traduction
5.4.1 Syntaxe textuelle des r´eseaux de Petri `a permission/inhibition
5.4.2 system et ressources
5.4.3 Traduction d’une tˆache
5.4.4 Traduction d’une action
5.4.5 Traduction d’une p´eriode
5.4.6 Traduction d’un offset
5.4.7 Traduction d’une ´ech´eance
5.5 Traduction d’une politique d’ordonnancement
5.5.1 Sur les politiques dynamiques
5.6 Traduction d’une allocation
5.6.1 Utiliser ou ne pas utiliser la politique d’ordonnancement, telle est la question
5.6.2 La traduction
5.7 Assemblage des ´el´ements
5.7.1 S´equencement et priorit´e des ´ev`enements
5.7.2 Gestion de l’ind´eterminisme des actions / p´eriodes / offsets
5.7.3 Composition des ´el´ements Pola
5.8 Conclusion
6 L’outil Pola : Etudes de cas et exp´erimentations
6.1 Architecture
6.1.1 Propri´et´es
6.2 Pr´esentation des mod`eles
6.2.1 Mod`eles utilisant des groupes Osek
6.2.2 Base
6.2.3 Variation 1
6.2.4 Variation 2
6.2.5 Variation 3
6.2.6 Variation 4, 4′ et 4′′
6.3 Influences des param`etres
6.4 Cas d’´etude : Arinc 653
6.4.1 Base
6.4.2 Variation 1
6.4.3 Variation 2
6.4.4 Les variations de la variation 3
6.4.5 R´esultats
6.5 Corrections d’erreurs et raffinages quantitatifs
6.5.1 Une erreur dans le mod`ele Osek
6.5.2 Analyse quantitative manuelle par raffinages successifs
6.5.3 Comparaison avec l’outil Times
6.6 Conclusion
7 Conclusion
7.1 Contributions
7.2 Perspectives
Télécharger le rapport complet
