SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Validation temporelle d’un modèle de
pipeline vis à vis de la cible réelle
Présentation Recherche Bibliographique
BENBOUIDDA Ossama
Ecole Centrale de Nantes – Master ARIA TRCS
2014 - 2015
2
Introduction (1) :
 Contexte :
 Contexte général :
• Vérification des modèles d’automates à états finis
• Validation des modèles
 Contexte particulier/Domaine d’application :
• Modélisation des pipelines (Processeur)
• Vérification des modèles pipeline (Processeur)
• Simulation de pipeline
• Génération de simulateurs de pipelines
3
Introduction (2) :
 Données du problème :
• 1. Spécification du pipeline : Spécification matérielle d’un
pipeline
4
Introduction (3) :
 Données du problème :
• 2. Un modèle d’un pipeline : Un modèle de pipeline sous
forme de Machine de Mealy/Automate.
5
Introduction (4) :
 Le problème :
• Comment valider nos modèles : • Quelle méthode choisir :
6
Introduction (5) :
 Objectif :
• Génération de test ⇒ Sortir avec un verdict
7
Introduction (6) :
 Dans le cadre de ce séminaire :
 Introduction aux notions relatives au sujet :
• Architecture des processeurs
• Modélisation, types d’erreur et vérification
 Généralités et notions sur la théorie des graphes
 Application de la méthode des séquences caractéristiques[CHO78]
 Application de la méthode de Tour de Transition[NT81]
Introcution à
l’architecture des processeurs
Vérification et modélisation
8
9
Introduction aux notions relatives au sujet :
Architectures des processeurs (1) :
 Tout système utilisant un microprocesseurs est organisé selon les
niveaux suivants1 :
1 : Andrew Tanenbaum,Structured Computer Organization (5th Edition)
Niveau 5 : Langage
compilé
Niveau 4 : Langage
assembleur
Niveau 3 : Traitement
Système d’exploitation
Niveau 2 : Architecture
jeu d’instruction (ISA)
Niveau 1 : Micro-
architecture
Niveau 0 : Réalisation
logique numérique
10
Introduction aux notions relatives au sujet :
Architectures des processeurs (2) :
 Niveau 2 - Architecture jeu d’instruction :
Instructions logiques câblés en microprocesseur (LOAD, Or, XOR..)
 Niveau 1 - Microarchitecture :
Vue logique du processeur, elle présente :
 Nombre de pipeline, longueurs.
 Les mémoires caches
 Etc
 Niveau 0 – Réalisation logique numérique:
Le niveau où l’information transite de l’état physique à l’état numérique, via
des techniques comme l’échantillonage et la quantification
11
Introduction aux notions relatives au sujet :
Architectures des processeurs (3) :
 Concept pipeline :
Elément en microarchitecture dans lequel l’éxécution des instructions
est découpé en étages
 Exemple pipeline et modélisation (Avec automate fini) [HML07] :
12
Introduction aux notions relatives au sujet :
Modélisation – Type d’erreurs à éviter:
 Erreurs d’operation:
Il y’a une erreur d’opération entre automate « A » (modèle) et « A’ »
spécification, si en changeant les sorties de l’automate « A », les
automates « A » et « A’ » deviennent équivalents.
13
Introduction aux notions relatives au sujet :
Modélisation – Type d’erreurs à éviter:
 Erreurs de transfert :
Il y’a une erreur d’opération entre automate « A » (modèle) et « A’ »
spécification, si en changeant un des prochains états de « A », les
automates « A » et « A’ » deviennent équivalents.
14
Introduction aux notions relatives au sujet :
Modélisation – Type d’erreurs à éviter:
 Autres types d’erreurs:
Les erreurs mixtes (de transfert ET d’opération), ou des erreurs
d’existence d’état de plus ou de moins.
15
Introduction aux notions relatives au sujet :
Méthodes de detection d’erreurs:
 La méthode de Tour de Transition :
La méthode la plus simple pour générer une séquence de test. Les
séquences d’entrées sont appliquées au hasard au modèle, jusqu’à ce que
les transitions soient traversées au moins une seule fois.
 La méthode de Chow :
Elle génère un ensemble de séquences qui distingue deux paires d’état.
 Autres méthodes [GEN92]:
• Méthode des sequences probabilistes
• Méthode UIO (Unique Input Output)
• Méthode des séquence distinguée
Introduction à la théorie des
graphes
16
17
Introduction à la théorie des graphes :
Graphe orienté et degré d’un sommet:
 Graphe orienté:
Un graphe orienté est défini par
un ensemble d’états, et d’arcs
reliant ces états. Ces arcs ont
un sens, ceci dit : u->v ≠ v-u
 Degré d’un sommet :
Le degré d’un sommet est égal
à la somme des arcs entrants et
des arcs sortants. On le note
« d » .
Exemple :
Le graphe orienté à gauche se
compose de 5 arcs.
On a :
d(‘1’)=3, d(‘2’)=2, d(‘0’)=4
18
Introduction à la théorie des graphes :
Graphe simple et multigraphe:
 Graphe simple:
Un graphe orienté est dit
simple, quand il ne comporte
pas de boucle (Extrémité initiale
= extrémité finale), et deux
arcs, entre deux sommets, de
même sens.
 Multigraphe :
Un multigraphe est un graphe
orienté, qui n’est pas simple.
Donc qui peut comporter des
boucles, et deux arcs de même
sens entre les même sommets.
Graphe pas simple Graphe « pas simple»
(Présence boucle)
Multigraphe
19
Introduction à la théorie des graphes :
Chemin et circuit :
 Chemin:
Un chemin, est une suite de
sommets reliés par des arcs
La longueur d’un chemin est
le nombre de ses arcs.
 Circuit :
Un circuit est un chemin dont
l’extrémité initiale et finale est
confondue
La séquence (0,1,2) constitue un chemin
de longueur 2
La séquence (0,1,2,3,0) consitute un
circuit (Et un chemin aussi)
La séquence/état (2) consitute un chemin
de longueur 0
20
Introduction à la théorie des graphes :
Circuit eulérien et graphe eulérien :
 Circuit eulérien :
Un circuit est dit eulérien s’il
passe par tous les sommets du
graphe, en ne passant qu’une
seule fois par chaque arc.
 Graphe eulérien:
Un graphe est dit eulérien s’il
admet un circuit eulérien (Pas
forcément un seul !)
Circuit eulérien constitué de la séquence (2,0,1,0,1,2)
21
Introduction à la théorie des graphes :
Graphe connexe et graphe fortement connexe :
 Graphe connexe :
Un graphe est dit connexe, s’il
existe un chemin pour tout
couple de sommet (u,v).
 Graphe fortement connexe :
Un graphe est fortement
connexe, s’il existe un chemin,
dans « les deux sens », pour
tout couple (u,v)
Graphe convexeGraphe non convexe Graphe fortement convexe
22
Introduction à la théorie des graphes :
Machine de Mealy:
Définition Machine de Mealy :
On peut définir une machine de Mealy par le quantuplé 𝑆, 𝐼, 𝑂, 𝛿, 𝜆 tel que :
• S est un ensemble d’états finis
• I est un ensemble fini des symboles d’entrée.
• O est un ensemble fini des symboles de sorties
• 𝛿: 𝑆 × 𝐼 ⟶ 𝑆 est la fonction de transfert
• 𝜆: 𝑆 × 𝐼 ⟶ 𝑂 est la fonction de sortie
23
Introduction à la théorie des graphes :
Définitions relatives à la machine de Mealy:
 Etats équivalents :
On dira que deux états q1 et q2 sont
équivalents si toutes les entrées qui
leur sont appliqué donnent lês
mêmes sorties
 Machine de Mealy minimale :
On dira qu’une machine de Mealy est
réduite ou minimale s’elle ne contient
pas des états équivalents.
Machine de Mealy “pas minimale”
La méthode de Chow
24
25
La méthode de Chow [CHO78]:
Ou la méthode des sequences caractéristiques
 Objectif :
Générer une sequence de tests, qui nous permettra de verifier un
modèle par rapport à sa spécification
 Principe :
On distingue chaque paire d’état d’une Machine de Mealy avec
une sequence s caractéristique, de distinction de ces deux états.
 Hypothèses de l’algorithme :
 Machine de Mealy minimale
 Machine de Mealy complete (On a toutes les transitions
possibles depuis chaque état)
26
La méthode de Chow [CHO78]:
Les étapes de realisation de la méthode :
 Etape 1 : Estimer le nombre maximum d’états k dans la spécification de la
machine M.
 Etape 2 : Construire l’ensemble de caractérisation W de la machine M.
 Etape 3 : Construire l’arbre de test de la machine M.
 Etape 4 : Générer, à partir de l’arbre de test, l’ensemble P : L’ensemble de
couverture des transitions.
 Etape 5 : Construire l’ensemble Z à partir de la donnée de P, et de k.
 Etape 6 : Faire les tests P.Z (Ou “.” denote la concatenation), en partant à
chaque fois de l’état initial.
27
La méthode de Chow [CHO78]:
Etape 1 : Estimation du nombre k dans la specification
 L’estimation de k est basée sur la connaissance de l’implémentation. En cas
d’absence de cette donnée, on prendra k = Card(S) (Avec S = l’ensemble
de sommets de notre modélisation)
28
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation W
 C’est quoi W ?
Soit M 𝑆, 𝐼, 𝑂, 𝛿, 𝜆 une machine de Mealy complète et minimale.
On appellera W, l’ensemble des séquences qui nous permettra de distinguer
chaque paire de deux états distincts via leurs sorties.
Si, on a deux états qi et qj ∈ 𝑆, alors ∃ 𝑠 ∈ 𝐼∗ tel que 𝜆(qi,s) ≠ 𝜆(qj,s)
29
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation W
 Exemple de l’ensemble W
W={baaa,aa,aaa}
𝜆(q1,baaa) = 1101
𝜆(q2,baaa) = 1100
Du coup, la sequence “baaa”
distingue l’état q1 de l’état q2.
30
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation W
 Etapes de construction de l’ensemble W :
• Etape 1 : Construire un ensemble de partitions k-équivalentes de
S, dénotés P1, P2..Pk avec k>0
• Etape 2 : Traverser les k-équivalences dans l’inverse pour obtenir
des sequences de distinctions de chaque paire d’état et ainsi
construire l’ensemble W.
31
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-équivalentes
 Etape 1 : construction des partitions k-équivalentes :
Définition : Une partition k-équivalente de S, est un ensemble
d’ensembles Si Tel que ∪ 𝑆𝑖 = S et les états dans chaque Si sont k-
équivalents
Prenons cet exemple :
⟹
Format tabulaire
32
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-équivalentes
 On construit la 1-partition:
On regroupe les états ayant les mêmes sorties et on construit de sous
ensembles
33
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-équivalentes
 On construit la 1-partition:
On rechange les indices des “états suivants” pour ajouter l’indice de
l’ensemble auquel appartient l’état, on supprime aussi la colonne des
sortie. Ceci nous donne la table suivante, la table P1 :
34
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-équivalentes
 On construit la 2-partition:
On regroupe tous les “états suivants” ayant le même indice pour une
transition donnée, “a” ou “b” dans le même sous ensemble. Ceci nous
donne alors la table P2. On change le deuxième indice au niveau de la
2ème colonne.
35
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-équivalentes
 On réitère le processus :
A chaque fois, on va regrouper à chaque fois les deuxième indices dans la
colonne “état suivant”, jusqu’à ce que l’on trouve chaque état à lui seul
dans un ensemble. Ceci nous donne alors
Si Etat
Coutant
Etat suivant
36
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 2 : Traverser les k-equivalence dans l’inverse.
 Trouver une sequence caractéristique pour q1 et q2 par exemple :
 Etape 1 : On essaie de trouver les tables Pi and Pi+1 de tel sorte
à ce que (q1, q2) sont dans le même ensemble dans la table Pi
et dans différents ensembles dans a table Pi+1. Nous trouvons
alors P3 et P4.
 Etape 2 : Nous initialisons z=. Nous essayons de trouver la
lettre/Transition qui distingue “a” et “b” dans P3, nous trouvons
que c’est b . Nous faisons alors z=b.z
Etape 3 : On réitère l’étape 2, en allant à chaque vers une table
inférieure (P2, puis P1, puis P0), jusqu’à ce que l’on s’arrête
avec la representation tabulaire de notre machine de M. Et nous
trouvons alors z=baaa
𝑂𝑛 𝑎 𝑏𝑖𝑒𝑛 ∶ 𝜆(q1,baaa) = 1101 , 𝜆(q2,baaa) = 1100 et 𝜆(q1,baaa) ≠ 𝜆(q2,baaa)
37
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 2 : Traverser les k-equivalence dans l’inverse
 On répète le processus pour chaque paire d’état:
On trouve alors pour notre exemple :
W={a, aa, aaa, baaa}
38
La méthode de Chow [CHO78]:
Les étapes de realisation de la méthode :
 Etape 1 : Estimer le nombre maximum d’états k dans la spécification de la
machine M.
 Etape 2 : Construire l’ensemble de caractérisation W de la machine M.
 Etape 3 : Construire l’arbre de test de la machine M.
 Etape 4 : Générer, à partir de l’arbre de test, l’ensemble P : L’ensemble de
couverture des transitions.
 Etape 5 : Construire l’ensemble Z à partir de la donnée de P, et de k.
 Etape 6 : Faire les tests P.Z (Ou “.” denote la concatenation), en partant à
chaque fois de l’état initial.
On est arrivé ici
Rappel
39
La méthode de Chow [CHO78]:
Etape 3 : Construction arbre de test
 Construction arbre de test : On commence par l’état initial,et on
franchit toutes les transitions, à chaque fois qu’on trouve un
nouveau état, on continue, et on répète. Sinon, on termine.
=>
Arbre de test
40
La méthode de Chow [CHO78]:
Etape 4 : Génération de l’ensemble P à partir de l’arbre de test
 La generation de l’ensemble P: La generation se fait avec un
parcours de l’arbre en profondeur de l’arbre de test. 𝜀 appartient
à l’arbre de test aussi
=>
P={, a, b, bb, ba, bab, baa, baab, baaa,
baaab, baaaa}
41
La méthode de Chow [CHO78]:
Etape 5 : Construire de Z à partir de W et k
On a : Z = I0.W  I1.W  ….. Ik-1-n.W  Ik-n.W
avec k=card(Sommetspecification), et n=card(Sommetmodel)
Pour le cas particulier ou k=n, on a:
Z = I0.W = W
Pour notre cas, I={a,b}, W={a, aa, aaa, baaa} et k=6, on a :
Z = W  X1.W ={a, aa, aaa, baaa}  {a, b}.{a, aa, aaa, baaa}
={a, aa, aaa, baaa, aa, aaa, aaaa, baaaa, ba, baa, baaa,
bbaaa}
42
La méthode de Chow [CHO78]:
Etape 6 : Générer la suite de test T = P.Z
 La séquence de test, à tester sur notre modèle est alors : T = P.Z
 Ainsi, on essaie d’abord de connaître la réponse par la spécification.
 On fait le même test dans modélisation
 Et on sort avec un verdict. Prenons t2=baaba
Spécification
M(t2)=11011
La méthode des tours de
transitions
© Aditya P. Mathur 2007
43
44
La méthode de Chow [CHO78]:
Ou la méthode des sequences caractéristiques
 Objectif :
Générer une sequence de tests, qui nous permettra de verifier un
modèle par rapport à sa spécification
 Principe :
On fait le parcours du graphe en intégralité pour générér la
sequence de test
 Hypothèses de l’algorithme :
 Machine de Mealy minimale
 Machine de Mealy complete (On a toutes les transitions
possibles depuis chaque état)
 Machine de Mealy fortement convexe
45
La méthode de Tour de Transition [NT81]:
 Etape 1 : Vérifier si le graphe est fortement connexe
 Etape 2 : Vérifier si tous les sommets sont équilibrés. S’ils le sont
on passe directement à l’étape 5 (Puisque notre graphe serait
éulérien1)
 Etape 3 : Equilibrer les sommets en utilisant l’algorithme de
transport.
 Etape 4 : Construire le nouveau graphe, en ajoutant les arcs dans
l’étape 3.
1 : Théorème : Tout graphe fortement connexe et équilibré est eulérien
 Etape 5 : Faire le parcours du graphe eulérien et générer une suite
de test.
46
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 1 : Le graphe est bel et bien
fortement complexe.
 Etape 2 : On a :
𝛿 0 = 𝑑+
0 − 𝑑−
0 = 2 − 2 = 0 ⟹ Sommet équilibré.
𝛿 1 = 𝑑+
1 − 𝑑−
1 = 2 − 3 = −1 ⟹ Sommet
déséquilibré.
𝛿 2 = 𝑑+
2 − 𝑑−
2 = 3 − 2 = +1 ⟹ Sommet
déséquilibré.
𝛿 3 = 𝑑+
3 − 𝑑−
3 = 1 − 2 = −1 ⟹ Sommet
déséquilibré.
𝛿 4 = 𝑑+
4 − 𝑑−
4 = 2 − 1 = +1 ⟹ Sommet
déséquilibré.
47
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 3 : Il y’a des sommets déséquilibrés, il faut les équilibrer en
ajoutant des arcs de plus.
1. On a en général des sommets qui ont un surplus d’arcs entrant par
rapport aux sortants. Leur ensemble, on le note D+
2. On a des sommets qui ont un surplus d’arcs sortant par rapport
aux arcs entrants. Leur ensemble, on le note D-
On essaie alors d’ajouter des arcs de plus allant de sommets ∈ D- au
sommets ∈ D+
Problème linéaire, on utilisera l’algorithme de transport pour le résoudre
48
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 3 : Tout calcul fait avec l’algorithme de Transport, on voit qu’il
faudrait ajouter un arc (1,4) et un arc (3,2), et rend notre circuit eulérien
49
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 4 : Détérmination circuit eulérien.
 Etape 1 : Construction arbre de couverture (Arbre reliant tous
les sommets de notre graphe).
 Etape 2 : Construction d’un tableau avec les sommets de
notre arbre de couverture, des sommets prédécésseurs et
arcs prédécesseurs. On part de l’état premier de notre
tableau, et on ajoute le premier arc prédécesseur
correspondant à la fin d’une liste, et on repart au sommet
prédécesseur, et on refait la même procedure, jusqu’à ce que
l’on ait plus d’arcs prédécesseurs.
50
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 4 : Détérmination circuit eulérien.
Le circuit trouvé consitituera notre séquence de test, et on
va faire les tests avec :
a/1, b/4, c/1, b/4, e/3, f/2, g/3, f/2, h/0, i/2, j/1, d/0
51
Séquences de tests avec Tour de Transition
On part de l’état initial qu’on avait pris dans notre arbre de
couverture et on fait alors la séquence de tests suivants :
Merci de votre attention
52
53
Références :
 [CHO78] : T.S. Chow. Testing software design modeled by finite-state
machines. Software Engineering, IEEE Transactions on, (3) :178–187,
1978
 [NT81] : Sachio Naito and Masahiro Tsunoyama. Fault detection for
sequential machines by transition tours. In Proc. FTCS, volume 81,
pages 238–243, 1981
 [HML07] : Rola Kassem, Mikäel Briday, Jean-Luc Béchennec, Guillaume
Savaton, Yvon Trinquet. Harmless, a Hardware Architecture Description
Language Dedicated to Real-Time Embedded System Simulation.
Journal of Systems Architecture, Elsevier, 2012, 58 (8), pp.318-337.
 [GEN92] Towards a New World in Computer Communication: Eleventh
International Conference on Computer Communication, Genova, Italy,
1992

Contenu connexe

Tendances

Tp circuits electriques( avec logiciel "CADENCE PSD")
Tp circuits electriques( avec logiciel "CADENCE PSD") Tp circuits electriques( avec logiciel "CADENCE PSD")
Tp circuits electriques( avec logiciel "CADENCE PSD") YassineLamgammah
 
TP Les bascules - logique combinatoire
TP Les bascules - logique combinatoire TP Les bascules - logique combinatoire
TP Les bascules - logique combinatoire bilal001
 
Cours4 Systèmes linéaires asservis: Analyse de la stabilité
Cours4 Systèmes linéaires asservis: Analyse de la stabilitéCours4 Systèmes linéaires asservis: Analyse de la stabilité
Cours4 Systèmes linéaires asservis: Analyse de la stabilitésarah Benmerzouk
 
Présentation logique_sequentielle
 Présentation logique_sequentielle Présentation logique_sequentielle
Présentation logique_sequentielletoumed
 
Cours8 Introduction à la représentation d'état
Cours8 Introduction à la représentation d'étatCours8 Introduction à la représentation d'état
Cours8 Introduction à la représentation d'étatsarah Benmerzouk
 
Prog Pc 1
Prog Pc 1Prog Pc 1
Prog Pc 1IPEIT
 

Tendances (12)

Logique
LogiqueLogique
Logique
 
Bascules
BasculesBascules
Bascules
 
Tp circuits electriques( avec logiciel "CADENCE PSD")
Tp circuits electriques( avec logiciel "CADENCE PSD") Tp circuits electriques( avec logiciel "CADENCE PSD")
Tp circuits electriques( avec logiciel "CADENCE PSD")
 
TP Les bascules - logique combinatoire
TP Les bascules - logique combinatoire TP Les bascules - logique combinatoire
TP Les bascules - logique combinatoire
 
Matlab
MatlabMatlab
Matlab
 
Cours4 Systèmes linéaires asservis: Analyse de la stabilité
Cours4 Systèmes linéaires asservis: Analyse de la stabilitéCours4 Systèmes linéaires asservis: Analyse de la stabilité
Cours4 Systèmes linéaires asservis: Analyse de la stabilité
 
Présentation logique_sequentielle
 Présentation logique_sequentielle Présentation logique_sequentielle
Présentation logique_sequentielle
 
Cours8 Introduction à la représentation d'état
Cours8 Introduction à la représentation d'étatCours8 Introduction à la représentation d'état
Cours8 Introduction à la représentation d'état
 
Pdf compteur
Pdf compteurPdf compteur
Pdf compteur
 
Prog Pc 1
Prog Pc 1Prog Pc 1
Prog Pc 1
 
Chap04 automates finis
Chap04 automates finisChap04 automates finis
Chap04 automates finis
 
Cours mooremealy [autosaved]
Cours mooremealy [autosaved]Cours mooremealy [autosaved]
Cours mooremealy [autosaved]
 

En vedette

Presentation soiree annuelle Competences Plus 2014
Presentation soiree annuelle Competences Plus 2014Presentation soiree annuelle Competences Plus 2014
Presentation soiree annuelle Competences Plus 2014competencesplus
 
PowerPoint About Us / Our Team Slide
PowerPoint About Us / Our Team SlidePowerPoint About Us / Our Team Slide
PowerPoint About Us / Our Team SlideMianlside
 
Business powerpoint presentations process diagram six decisions cycle flow ch...
Business powerpoint presentations process diagram six decisions cycle flow ch...Business powerpoint presentations process diagram six decisions cycle flow ch...
Business powerpoint presentations process diagram six decisions cycle flow ch...SlideTeam.net
 
Event Management Company Profile
Event Management Company ProfileEvent Management Company Profile
Event Management Company Profileconceptmakerz123
 
Event planning powerpoint
Event planning powerpointEvent planning powerpoint
Event planning powerpointkatelandturner
 
Rapport final cbi
Rapport final cbiRapport final cbi
Rapport final cbiMan Foru
 

En vedette (8)

Optimisation2010 request
Optimisation2010 requestOptimisation2010 request
Optimisation2010 request
 
Presentation soiree annuelle Competences Plus 2014
Presentation soiree annuelle Competences Plus 2014Presentation soiree annuelle Competences Plus 2014
Presentation soiree annuelle Competences Plus 2014
 
PowerPoint About Us / Our Team Slide
PowerPoint About Us / Our Team SlidePowerPoint About Us / Our Team Slide
PowerPoint About Us / Our Team Slide
 
Business powerpoint presentations process diagram six decisions cycle flow ch...
Business powerpoint presentations process diagram six decisions cycle flow ch...Business powerpoint presentations process diagram six decisions cycle flow ch...
Business powerpoint presentations process diagram six decisions cycle flow ch...
 
Event Management Company Profile
Event Management Company ProfileEvent Management Company Profile
Event Management Company Profile
 
Event planning powerpoint
Event planning powerpointEvent planning powerpoint
Event planning powerpoint
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Rapport final cbi
Rapport final cbiRapport final cbi
Rapport final cbi
 

Similaire à Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Transition

Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 
La reconnaissance des gestes
La reconnaissance des gestesLa reconnaissance des gestes
La reconnaissance des gestesLoghin Dumitru
 
Chapitre3_Partie1.pdf
Chapitre3_Partie1.pdfChapitre3_Partie1.pdf
Chapitre3_Partie1.pdfMbarkiIsraa
 
CA_RESMA_2022_01 Chap1.pdf
CA_RESMA_2022_01 Chap1.pdfCA_RESMA_2022_01 Chap1.pdf
CA_RESMA_2022_01 Chap1.pdfYassineAmal2
 
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variableMayssa Rjaibia
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011sunprass
 
Ppt ines f
Ppt ines fPpt ines f
Ppt ines fInès IG
 
Moteur Asynchrone
Moteur AsynchroneMoteur Asynchrone
Moteur AsynchroneMed Amine
 
Système de transition étiquété
Système de transition étiquétéSystème de transition étiquété
Système de transition étiquétéIntissar Dguechi
 
Cours electronique conversion de donnees
Cours electronique conversion de donneesCours electronique conversion de donnees
Cours electronique conversion de donneesRachid Richard
 
Rapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizRapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizbabaoui mohamed
 

Similaire à Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Transition (20)

Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 
La reconnaissance des gestes
La reconnaissance des gestesLa reconnaissance des gestes
La reconnaissance des gestes
 
Chapitre3_Partie1.pdf
Chapitre3_Partie1.pdfChapitre3_Partie1.pdf
Chapitre3_Partie1.pdf
 
CA_RESMA_2022_01 Chap1.pdf
CA_RESMA_2022_01 Chap1.pdfCA_RESMA_2022_01 Chap1.pdf
CA_RESMA_2022_01 Chap1.pdf
 
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
 
espace etat.ppsx
espace etat.ppsxespace etat.ppsx
espace etat.ppsx
 
Video
VideoVideo
Video
 
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011
 
1 exam sa2005
1 exam sa20051 exam sa2005
1 exam sa2005
 
1 exam sa2005
1 exam sa20051 exam sa2005
1 exam sa2005
 
Chapitre5
Chapitre5Chapitre5
Chapitre5
 
02systemediapo.pdf
02systemediapo.pdf02systemediapo.pdf
02systemediapo.pdf
 
Ppt ines f
Ppt ines fPpt ines f
Ppt ines f
 
Moteur Asynchrone
Moteur AsynchroneMoteur Asynchrone
Moteur Asynchrone
 
Système de transition étiquété
Système de transition étiquétéSystème de transition étiquété
Système de transition étiquété
 
Lustre
LustreLustre
Lustre
 
Cours electronique conversion de donnees
Cours electronique conversion de donneesCours electronique conversion de donnees
Cours electronique conversion de donnees
 
Tests unitaires
Tests unitairesTests unitaires
Tests unitaires
 
Rapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizRapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakiz
 

Vérification formelle de modèle - Méthode de Chow et Méthode de Tour de Transition

  • 1. Validation temporelle d’un modèle de pipeline vis à vis de la cible réelle Présentation Recherche Bibliographique BENBOUIDDA Ossama Ecole Centrale de Nantes – Master ARIA TRCS 2014 - 2015
  • 2. 2 Introduction (1) :  Contexte :  Contexte général : • Vérification des modèles d’automates à états finis • Validation des modèles  Contexte particulier/Domaine d’application : • Modélisation des pipelines (Processeur) • Vérification des modèles pipeline (Processeur) • Simulation de pipeline • Génération de simulateurs de pipelines
  • 3. 3 Introduction (2) :  Données du problème : • 1. Spécification du pipeline : Spécification matérielle d’un pipeline
  • 4. 4 Introduction (3) :  Données du problème : • 2. Un modèle d’un pipeline : Un modèle de pipeline sous forme de Machine de Mealy/Automate.
  • 5. 5 Introduction (4) :  Le problème : • Comment valider nos modèles : • Quelle méthode choisir :
  • 6. 6 Introduction (5) :  Objectif : • Génération de test ⇒ Sortir avec un verdict
  • 7. 7 Introduction (6) :  Dans le cadre de ce séminaire :  Introduction aux notions relatives au sujet : • Architecture des processeurs • Modélisation, types d’erreur et vérification  Généralités et notions sur la théorie des graphes  Application de la méthode des séquences caractéristiques[CHO78]  Application de la méthode de Tour de Transition[NT81]
  • 8. Introcution à l’architecture des processeurs Vérification et modélisation 8
  • 9. 9 Introduction aux notions relatives au sujet : Architectures des processeurs (1) :  Tout système utilisant un microprocesseurs est organisé selon les niveaux suivants1 : 1 : Andrew Tanenbaum,Structured Computer Organization (5th Edition) Niveau 5 : Langage compilé Niveau 4 : Langage assembleur Niveau 3 : Traitement Système d’exploitation Niveau 2 : Architecture jeu d’instruction (ISA) Niveau 1 : Micro- architecture Niveau 0 : Réalisation logique numérique
  • 10. 10 Introduction aux notions relatives au sujet : Architectures des processeurs (2) :  Niveau 2 - Architecture jeu d’instruction : Instructions logiques câblés en microprocesseur (LOAD, Or, XOR..)  Niveau 1 - Microarchitecture : Vue logique du processeur, elle présente :  Nombre de pipeline, longueurs.  Les mémoires caches  Etc  Niveau 0 – Réalisation logique numérique: Le niveau où l’information transite de l’état physique à l’état numérique, via des techniques comme l’échantillonage et la quantification
  • 11. 11 Introduction aux notions relatives au sujet : Architectures des processeurs (3) :  Concept pipeline : Elément en microarchitecture dans lequel l’éxécution des instructions est découpé en étages  Exemple pipeline et modélisation (Avec automate fini) [HML07] :
  • 12. 12 Introduction aux notions relatives au sujet : Modélisation – Type d’erreurs à éviter:  Erreurs d’operation: Il y’a une erreur d’opération entre automate « A » (modèle) et « A’ » spécification, si en changeant les sorties de l’automate « A », les automates « A » et « A’ » deviennent équivalents.
  • 13. 13 Introduction aux notions relatives au sujet : Modélisation – Type d’erreurs à éviter:  Erreurs de transfert : Il y’a une erreur d’opération entre automate « A » (modèle) et « A’ » spécification, si en changeant un des prochains états de « A », les automates « A » et « A’ » deviennent équivalents.
  • 14. 14 Introduction aux notions relatives au sujet : Modélisation – Type d’erreurs à éviter:  Autres types d’erreurs: Les erreurs mixtes (de transfert ET d’opération), ou des erreurs d’existence d’état de plus ou de moins.
  • 15. 15 Introduction aux notions relatives au sujet : Méthodes de detection d’erreurs:  La méthode de Tour de Transition : La méthode la plus simple pour générer une séquence de test. Les séquences d’entrées sont appliquées au hasard au modèle, jusqu’à ce que les transitions soient traversées au moins une seule fois.  La méthode de Chow : Elle génère un ensemble de séquences qui distingue deux paires d’état.  Autres méthodes [GEN92]: • Méthode des sequences probabilistes • Méthode UIO (Unique Input Output) • Méthode des séquence distinguée
  • 16. Introduction à la théorie des graphes 16
  • 17. 17 Introduction à la théorie des graphes : Graphe orienté et degré d’un sommet:  Graphe orienté: Un graphe orienté est défini par un ensemble d’états, et d’arcs reliant ces états. Ces arcs ont un sens, ceci dit : u->v ≠ v-u  Degré d’un sommet : Le degré d’un sommet est égal à la somme des arcs entrants et des arcs sortants. On le note « d » . Exemple : Le graphe orienté à gauche se compose de 5 arcs. On a : d(‘1’)=3, d(‘2’)=2, d(‘0’)=4
  • 18. 18 Introduction à la théorie des graphes : Graphe simple et multigraphe:  Graphe simple: Un graphe orienté est dit simple, quand il ne comporte pas de boucle (Extrémité initiale = extrémité finale), et deux arcs, entre deux sommets, de même sens.  Multigraphe : Un multigraphe est un graphe orienté, qui n’est pas simple. Donc qui peut comporter des boucles, et deux arcs de même sens entre les même sommets. Graphe pas simple Graphe « pas simple» (Présence boucle) Multigraphe
  • 19. 19 Introduction à la théorie des graphes : Chemin et circuit :  Chemin: Un chemin, est une suite de sommets reliés par des arcs La longueur d’un chemin est le nombre de ses arcs.  Circuit : Un circuit est un chemin dont l’extrémité initiale et finale est confondue La séquence (0,1,2) constitue un chemin de longueur 2 La séquence (0,1,2,3,0) consitute un circuit (Et un chemin aussi) La séquence/état (2) consitute un chemin de longueur 0
  • 20. 20 Introduction à la théorie des graphes : Circuit eulérien et graphe eulérien :  Circuit eulérien : Un circuit est dit eulérien s’il passe par tous les sommets du graphe, en ne passant qu’une seule fois par chaque arc.  Graphe eulérien: Un graphe est dit eulérien s’il admet un circuit eulérien (Pas forcément un seul !) Circuit eulérien constitué de la séquence (2,0,1,0,1,2)
  • 21. 21 Introduction à la théorie des graphes : Graphe connexe et graphe fortement connexe :  Graphe connexe : Un graphe est dit connexe, s’il existe un chemin pour tout couple de sommet (u,v).  Graphe fortement connexe : Un graphe est fortement connexe, s’il existe un chemin, dans « les deux sens », pour tout couple (u,v) Graphe convexeGraphe non convexe Graphe fortement convexe
  • 22. 22 Introduction à la théorie des graphes : Machine de Mealy: Définition Machine de Mealy : On peut définir une machine de Mealy par le quantuplé 𝑆, 𝐼, 𝑂, 𝛿, 𝜆 tel que : • S est un ensemble d’états finis • I est un ensemble fini des symboles d’entrée. • O est un ensemble fini des symboles de sorties • 𝛿: 𝑆 × 𝐼 ⟶ 𝑆 est la fonction de transfert • 𝜆: 𝑆 × 𝐼 ⟶ 𝑂 est la fonction de sortie
  • 23. 23 Introduction à la théorie des graphes : Définitions relatives à la machine de Mealy:  Etats équivalents : On dira que deux états q1 et q2 sont équivalents si toutes les entrées qui leur sont appliqué donnent lês mêmes sorties  Machine de Mealy minimale : On dira qu’une machine de Mealy est réduite ou minimale s’elle ne contient pas des états équivalents. Machine de Mealy “pas minimale”
  • 24. La méthode de Chow 24
  • 25. 25 La méthode de Chow [CHO78]: Ou la méthode des sequences caractéristiques  Objectif : Générer une sequence de tests, qui nous permettra de verifier un modèle par rapport à sa spécification  Principe : On distingue chaque paire d’état d’une Machine de Mealy avec une sequence s caractéristique, de distinction de ces deux états.  Hypothèses de l’algorithme :  Machine de Mealy minimale  Machine de Mealy complete (On a toutes les transitions possibles depuis chaque état)
  • 26. 26 La méthode de Chow [CHO78]: Les étapes de realisation de la méthode :  Etape 1 : Estimer le nombre maximum d’états k dans la spécification de la machine M.  Etape 2 : Construire l’ensemble de caractérisation W de la machine M.  Etape 3 : Construire l’arbre de test de la machine M.  Etape 4 : Générer, à partir de l’arbre de test, l’ensemble P : L’ensemble de couverture des transitions.  Etape 5 : Construire l’ensemble Z à partir de la donnée de P, et de k.  Etape 6 : Faire les tests P.Z (Ou “.” denote la concatenation), en partant à chaque fois de l’état initial.
  • 27. 27 La méthode de Chow [CHO78]: Etape 1 : Estimation du nombre k dans la specification  L’estimation de k est basée sur la connaissance de l’implémentation. En cas d’absence de cette donnée, on prendra k = Card(S) (Avec S = l’ensemble de sommets de notre modélisation)
  • 28. 28 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation W  C’est quoi W ? Soit M 𝑆, 𝐼, 𝑂, 𝛿, 𝜆 une machine de Mealy complète et minimale. On appellera W, l’ensemble des séquences qui nous permettra de distinguer chaque paire de deux états distincts via leurs sorties. Si, on a deux états qi et qj ∈ 𝑆, alors ∃ 𝑠 ∈ 𝐼∗ tel que 𝜆(qi,s) ≠ 𝜆(qj,s)
  • 29. 29 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation W  Exemple de l’ensemble W W={baaa,aa,aaa} 𝜆(q1,baaa) = 1101 𝜆(q2,baaa) = 1100 Du coup, la sequence “baaa” distingue l’état q1 de l’état q2.
  • 30. 30 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation W  Etapes de construction de l’ensemble W : • Etape 1 : Construire un ensemble de partitions k-équivalentes de S, dénotés P1, P2..Pk avec k>0 • Etape 2 : Traverser les k-équivalences dans l’inverse pour obtenir des sequences de distinctions de chaque paire d’état et ainsi construire l’ensemble W.
  • 31. 31 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation Etape 1 : Construction de partitions k-équivalentes  Etape 1 : construction des partitions k-équivalentes : Définition : Une partition k-équivalente de S, est un ensemble d’ensembles Si Tel que ∪ 𝑆𝑖 = S et les états dans chaque Si sont k- équivalents Prenons cet exemple : ⟹ Format tabulaire
  • 32. 32 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation Etape 1 : Construction de partitions k-équivalentes  On construit la 1-partition: On regroupe les états ayant les mêmes sorties et on construit de sous ensembles
  • 33. 33 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation Etape 1 : Construction de partitions k-équivalentes  On construit la 1-partition: On rechange les indices des “états suivants” pour ajouter l’indice de l’ensemble auquel appartient l’état, on supprime aussi la colonne des sortie. Ceci nous donne la table suivante, la table P1 :
  • 34. 34 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation Etape 1 : Construction de partitions k-équivalentes  On construit la 2-partition: On regroupe tous les “états suivants” ayant le même indice pour une transition donnée, “a” ou “b” dans le même sous ensemble. Ceci nous donne alors la table P2. On change le deuxième indice au niveau de la 2ème colonne.
  • 35. 35 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation Etape 1 : Construction de partitions k-équivalentes  On réitère le processus : A chaque fois, on va regrouper à chaque fois les deuxième indices dans la colonne “état suivant”, jusqu’à ce que l’on trouve chaque état à lui seul dans un ensemble. Ceci nous donne alors Si Etat Coutant Etat suivant
  • 36. 36 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation Etape 2 : Traverser les k-equivalence dans l’inverse.  Trouver une sequence caractéristique pour q1 et q2 par exemple :  Etape 1 : On essaie de trouver les tables Pi and Pi+1 de tel sorte à ce que (q1, q2) sont dans le même ensemble dans la table Pi et dans différents ensembles dans a table Pi+1. Nous trouvons alors P3 et P4.  Etape 2 : Nous initialisons z=. Nous essayons de trouver la lettre/Transition qui distingue “a” et “b” dans P3, nous trouvons que c’est b . Nous faisons alors z=b.z Etape 3 : On réitère l’étape 2, en allant à chaque vers une table inférieure (P2, puis P1, puis P0), jusqu’à ce que l’on s’arrête avec la representation tabulaire de notre machine de M. Et nous trouvons alors z=baaa 𝑂𝑛 𝑎 𝑏𝑖𝑒𝑛 ∶ 𝜆(q1,baaa) = 1101 , 𝜆(q2,baaa) = 1100 et 𝜆(q1,baaa) ≠ 𝜆(q2,baaa)
  • 37. 37 La méthode de Chow [CHO78]: Etape 2 : Construire l’ensemble de caracétérisation Etape 2 : Traverser les k-equivalence dans l’inverse  On répète le processus pour chaque paire d’état: On trouve alors pour notre exemple : W={a, aa, aaa, baaa}
  • 38. 38 La méthode de Chow [CHO78]: Les étapes de realisation de la méthode :  Etape 1 : Estimer le nombre maximum d’états k dans la spécification de la machine M.  Etape 2 : Construire l’ensemble de caractérisation W de la machine M.  Etape 3 : Construire l’arbre de test de la machine M.  Etape 4 : Générer, à partir de l’arbre de test, l’ensemble P : L’ensemble de couverture des transitions.  Etape 5 : Construire l’ensemble Z à partir de la donnée de P, et de k.  Etape 6 : Faire les tests P.Z (Ou “.” denote la concatenation), en partant à chaque fois de l’état initial. On est arrivé ici Rappel
  • 39. 39 La méthode de Chow [CHO78]: Etape 3 : Construction arbre de test  Construction arbre de test : On commence par l’état initial,et on franchit toutes les transitions, à chaque fois qu’on trouve un nouveau état, on continue, et on répète. Sinon, on termine. => Arbre de test
  • 40. 40 La méthode de Chow [CHO78]: Etape 4 : Génération de l’ensemble P à partir de l’arbre de test  La generation de l’ensemble P: La generation se fait avec un parcours de l’arbre en profondeur de l’arbre de test. 𝜀 appartient à l’arbre de test aussi => P={, a, b, bb, ba, bab, baa, baab, baaa, baaab, baaaa}
  • 41. 41 La méthode de Chow [CHO78]: Etape 5 : Construire de Z à partir de W et k On a : Z = I0.W  I1.W  ….. Ik-1-n.W  Ik-n.W avec k=card(Sommetspecification), et n=card(Sommetmodel) Pour le cas particulier ou k=n, on a: Z = I0.W = W Pour notre cas, I={a,b}, W={a, aa, aaa, baaa} et k=6, on a : Z = W  X1.W ={a, aa, aaa, baaa}  {a, b}.{a, aa, aaa, baaa} ={a, aa, aaa, baaa, aa, aaa, aaaa, baaaa, ba, baa, baaa, bbaaa}
  • 42. 42 La méthode de Chow [CHO78]: Etape 6 : Générer la suite de test T = P.Z  La séquence de test, à tester sur notre modèle est alors : T = P.Z  Ainsi, on essaie d’abord de connaître la réponse par la spécification.  On fait le même test dans modélisation  Et on sort avec un verdict. Prenons t2=baaba Spécification M(t2)=11011
  • 43. La méthode des tours de transitions © Aditya P. Mathur 2007 43
  • 44. 44 La méthode de Chow [CHO78]: Ou la méthode des sequences caractéristiques  Objectif : Générer une sequence de tests, qui nous permettra de verifier un modèle par rapport à sa spécification  Principe : On fait le parcours du graphe en intégralité pour générér la sequence de test  Hypothèses de l’algorithme :  Machine de Mealy minimale  Machine de Mealy complete (On a toutes les transitions possibles depuis chaque état)  Machine de Mealy fortement convexe
  • 45. 45 La méthode de Tour de Transition [NT81]:  Etape 1 : Vérifier si le graphe est fortement connexe  Etape 2 : Vérifier si tous les sommets sont équilibrés. S’ils le sont on passe directement à l’étape 5 (Puisque notre graphe serait éulérien1)  Etape 3 : Equilibrer les sommets en utilisant l’algorithme de transport.  Etape 4 : Construire le nouveau graphe, en ajoutant les arcs dans l’étape 3. 1 : Théorème : Tout graphe fortement connexe et équilibré est eulérien  Etape 5 : Faire le parcours du graphe eulérien et générer une suite de test.
  • 46. 46 La méthode de Tour de Transition [NT81]: Application de la méthode sur un exemple :  Etape 1 : Le graphe est bel et bien fortement complexe.  Etape 2 : On a : 𝛿 0 = 𝑑+ 0 − 𝑑− 0 = 2 − 2 = 0 ⟹ Sommet équilibré. 𝛿 1 = 𝑑+ 1 − 𝑑− 1 = 2 − 3 = −1 ⟹ Sommet déséquilibré. 𝛿 2 = 𝑑+ 2 − 𝑑− 2 = 3 − 2 = +1 ⟹ Sommet déséquilibré. 𝛿 3 = 𝑑+ 3 − 𝑑− 3 = 1 − 2 = −1 ⟹ Sommet déséquilibré. 𝛿 4 = 𝑑+ 4 − 𝑑− 4 = 2 − 1 = +1 ⟹ Sommet déséquilibré.
  • 47. 47 La méthode de Tour de Transition [NT81]: Application de la méthode sur un exemple :  Etape 3 : Il y’a des sommets déséquilibrés, il faut les équilibrer en ajoutant des arcs de plus. 1. On a en général des sommets qui ont un surplus d’arcs entrant par rapport aux sortants. Leur ensemble, on le note D+ 2. On a des sommets qui ont un surplus d’arcs sortant par rapport aux arcs entrants. Leur ensemble, on le note D- On essaie alors d’ajouter des arcs de plus allant de sommets ∈ D- au sommets ∈ D+ Problème linéaire, on utilisera l’algorithme de transport pour le résoudre
  • 48. 48 La méthode de Tour de Transition [NT81]: Application de la méthode sur un exemple :  Etape 3 : Tout calcul fait avec l’algorithme de Transport, on voit qu’il faudrait ajouter un arc (1,4) et un arc (3,2), et rend notre circuit eulérien
  • 49. 49 La méthode de Tour de Transition [NT81]: Application de la méthode sur un exemple :  Etape 4 : Détérmination circuit eulérien.  Etape 1 : Construction arbre de couverture (Arbre reliant tous les sommets de notre graphe).  Etape 2 : Construction d’un tableau avec les sommets de notre arbre de couverture, des sommets prédécésseurs et arcs prédécesseurs. On part de l’état premier de notre tableau, et on ajoute le premier arc prédécesseur correspondant à la fin d’une liste, et on repart au sommet prédécesseur, et on refait la même procedure, jusqu’à ce que l’on ait plus d’arcs prédécesseurs.
  • 50. 50 La méthode de Tour de Transition [NT81]: Application de la méthode sur un exemple :  Etape 4 : Détérmination circuit eulérien. Le circuit trouvé consitituera notre séquence de test, et on va faire les tests avec : a/1, b/4, c/1, b/4, e/3, f/2, g/3, f/2, h/0, i/2, j/1, d/0
  • 51. 51 Séquences de tests avec Tour de Transition On part de l’état initial qu’on avait pris dans notre arbre de couverture et on fait alors la séquence de tests suivants :
  • 52. Merci de votre attention 52
  • 53. 53 Références :  [CHO78] : T.S. Chow. Testing software design modeled by finite-state machines. Software Engineering, IEEE Transactions on, (3) :178–187, 1978  [NT81] : Sachio Naito and Masahiro Tsunoyama. Fault detection for sequential machines by transition tours. In Proc. FTCS, volume 81, pages 238–243, 1981  [HML07] : Rola Kassem, Mikäel Briday, Jean-Luc Béchennec, Guillaume Savaton, Yvon Trinquet. Harmless, a Hardware Architecture Description Language Dedicated to Real-Time Embedded System Simulation. Journal of Systems Architecture, Elsevier, 2012, 58 (8), pp.318-337.  [GEN92] Towards a New World in Computer Communication: Eleventh International Conference on Computer Communication, Genova, Italy, 1992