Validation temporelle d’un modèle de
pipeline vis à vis de la cible réelle
Présentation Recherche Bibliographique
BENBOUID...
2
Introduction (1) :
 Contexte :
 Contexte général :
• Vérification des modèles d’automates à états finis
• Validation d...
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...
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 ...
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 microproce...
10
Introduction aux notions relatives au sujet :
Architectures des processeurs (2) :
 Niveau 2 - Architecture jeu d’instr...
11
Introduction aux notions relatives au sujet :
Architectures des processeurs (3) :
 Concept pipeline :
Elément en micro...
12
Introduction aux notions relatives au sujet :
Modélisation – Type d’erreurs à éviter:
 Erreurs d’operation:
Il y’a une...
13
Introduction aux notions relatives au sujet :
Modélisation – Type d’erreurs à éviter:
 Erreurs de transfert :
Il y’a u...
14
Introduction aux notions relatives au sujet :
Modélisation – Type d’erreurs à éviter:
 Autres types d’erreurs:
Les err...
15
Introduction aux notions relatives au sujet :
Méthodes de detection d’erreurs:
 La méthode de Tour de Transition :
La ...
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é...
18
Introduction à la théorie des graphes :
Graphe simple et multigraphe:
 Graphe simple:
Un graphe orienté est dit
simple...
19
Introduction à la théorie des graphes :
Chemin et circuit :
 Chemin:
Un chemin, est une suite de
sommets reliés par de...
20
Introduction à la théorie des graphes :
Circuit eulérien et graphe eulérien :
 Circuit eulérien :
Un circuit est dit e...
21
Introduction à la théorie des graphes :
Graphe connexe et graphe fortement connexe :
 Graphe connexe :
Un graphe est d...
22
Introduction à la théorie des graphes :
Machine de Mealy:
Définition Machine de Mealy :
On peut définir une machine de ...
23
Introduction à la théorie des graphes :
Définitions relatives à la machine de Mealy:
 Etats équivalents :
On dira que ...
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, qu...
26
La méthode de Chow [CHO78]:
Les étapes de realisation de la méthode :
 Etape 1 : Estimer le nombre maximum d’états k d...
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...
28
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation W
 C’est quoi W ?
Soit M 𝑆, 𝐼, 𝑂, 𝛿, 𝜆...
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,...
30
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation W
 Etapes de construction de l’ensembl...
31
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-...
32
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-...
33
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-...
34
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-...
35
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 1 : Construction de partitions k-...
36
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 2 : Traverser les k-equivalence d...
37
La méthode de Chow [CHO78]:
Etape 2 : Construire l’ensemble de caracétérisation
Etape 2 : Traverser les k-equivalence d...
38
La méthode de Chow [CHO78]:
Les étapes de realisation de la méthode :
 Etape 1 : Estimer le nombre maximum d’états k d...
39
La méthode de Chow [CHO78]:
Etape 3 : Construction arbre de test
 Construction arbre de test : On commence par l’état ...
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’ensem...
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...
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...
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, qu...
45
La méthode de Tour de Transition [NT81]:
 Etape 1 : Vérifier si le graphe est fortement connexe
 Etape 2 : Vérifier s...
46
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 1 : Le graphe est bel et bi...
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é...
48
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 3 : Tout calcul fait avec l...
49
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 4 : Détérmination circuit e...
50
La méthode de Tour de Transition [NT81]:
Application de la méthode sur un exemple :
 Etape 4 : Détérmination circuit e...
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...
Merci de votre attention
52
53
Références :
 [CHO78] : T.S. Chow. Testing software design modeled by finite-state
machines. Software Engineering, IEE...
Prochain SlideShare
Chargement dans…5
×

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

756 vues

Publié le

Dans le cadre du travail de recherche bibliographique devant être effectué à l'IRCCyN qui a comme sujet "La validation de modèles de pipeline, vis à vis de leur cible réelle", il m'étais imparti de trouver des méthodes de vérification formelle d'automates finies.

Le présent slide présente deux algorithmes de vérification formelle : La méthode de Chow, et la méthode de Tour de Transition

Publié dans : Ingénierie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
756
Sur SlideShare
0
Issues des intégrations
0
Intégrations
10
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 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. 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. 3 Introduction (2) :  Données du problème : • 1. Spécification du pipeline : Spécification matérielle d’un pipeline
  4. 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. 5 Introduction (4) :  Le problème : • Comment valider nos modèles : • Quelle méthode choisir :
  6. 6. 6 Introduction (5) :  Objectif : • Génération de test ⇒ Sortir avec un verdict
  7. 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. 8. Introcution à l’architecture des processeurs Vérification et modélisation 8
  9. 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. 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. 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. 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. 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. 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. 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. 16. Introduction à la théorie des graphes 16
  17. 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. 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. 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. 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. 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. 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. 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. 24. La méthode de Chow 24
  25. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 43. La méthode des tours de transitions © Aditya P. Mathur 2007 43
  44. 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. 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. 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. 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. 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. 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. 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. 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. 52. Merci de votre attention 52
  53. 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

×