1 test des machines de mealy stavros tripakis laboratoire verimag master 2 recherche s&l «...

70
1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

Upload: alison-lecuyer

Post on 03-Apr-2015

108 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

1

Test des Machines de Mealy

Stavros Tripakis

Laboratoire Verimag

Master 2 Recherche S&L« Méthodes de test »

Page 2: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

2

Les machines à entrées/sorties synchrones (machines de Mealy)

Machine

entrées sorties

Fonctionnement:Entrées: e1 e2 e3 …

Sorties: s1 s2 s3 …

Page 3: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

3

Un exemple de machine

s1

s2

b/1b/1

a/1

a/0

Page 4: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

4

Objectif : test de conformité

Machine A

1

2

3

4

5

a/1

a/1

a/0 a/0

a/1

a/0

Machine B

Boite noire

Est-elle conforme à A ?

Spécification

Modèle

Implémentation

Se comporte-t-elle comme A ?

Page 5: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

5

Possibilités et impossibilités

s1

b/1

a/0

Comment tester la conformité pour cette spécification ?

Conformité = Isomorphisme

Page 6: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

6

Un exemple un peu plus compliqué …

s1

s2

b/1b/1

a/1

a/0

Spécification Séquence de test

a a b a b b

Observation attendue

? 0 1 1 1 1

Est-ce correct ?

Page 7: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

7

Pas tout à fait …

s1

s2

b/1b/1

a/1

a/0

Spécification Séquence de test

a a b a b b

Observation attendue

? 0 1 1 1 1

t1

t2

a/0 a/1

b/1

Machine B

b/1

Page 8: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

8

Plan du cours

• Rappel sur les machines de Mealy• Problèmes d’identification d’état:

– Séquences « homing » et « synchronizing »– Séquences « distinguishing »– Séquences « UIO »– Existence, construction, longueur, complexité

• Test de conformité

Page 9: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

9

Machines de Mealy: formalisation et rappel de notions

• Ensemble d’états fini

• Déterministe et complète

M = (I, O, S, , )

Page 10: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

10

Machines de Mealy: formalisation et rappel de notions

• Exemple :

• Table des transitions

• Notation

M = (I, O, S, , )

s1

s2

b/1b/1

a/1

a/0

Page 11: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

11

Machines de Mealy: formalisation et rappel de notions

• Équivalence des états, séquences « separating »• Machines minimales• Algorithme de minimisation• Machines équivalentes• Machines isomorphes

• Machines fortement connexes

M = (I, O, S, , )

Page 12: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

12

Plan du cours

• Rappel sur les machines de Mealy• Problèmes d’identification d’état:

– Séquences « homing » et « synchronizing »– Séquences « distinguishing »– Séquences « UIO »– Existence, construction, longueur, complexité

• Test de conformité

Page 13: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

13

Problèmes d’identification d’état

• La machine est connue, son état est inconnu

• Plusieurs types de problèmes:– « homing » : identifier l’état final– « synchronizing » : mener vers un état donné– « distinguishing » : identifier l’état initial– « UIO » (« unique I/O ») : vérifier l’état initial

• Ca va servir pour le test de conformité

Page 14: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

14

Exemple : séquences homing et synchronizing (1)

s1

s2

b/1b/1

a/1

a/0

« M1 »

La séquence « a » est homing.Elle est aussi synchronizing.

Page 15: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

15

Exemple : séquences homing et synchronizing (2)

« M2 »

a/0

s1

s3b/1

b/0

a/1

s2

b/1

a/0

Homing : a b (d’autres ?)

Pas de synchronizing (pourquoi ?)

Cette machine estminimale (pourquoi ?)

Page 16: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

16

Exemple : séquences homing et synchronizing (3)

s1

s2

a/1 a/1

s1

s2

b/1b/1

a/0

a/0

Pas de homing/synchronizing Homing/synchronizing : a

Ces machines ne sont pas minimales (pourquoi ?)

Page 17: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

17

Séquences homing et synchronizing: des faits

• Toute séquence synchronizing est aussi une séquence homing…

• …mais pas l’inverse.• Machines non-minimales : peuvent avoir ou ne

pas avoir des séquences homing/synchronizing.• Toute machine minimale a une séquence

homing…• …mais elle peut ne pas avoir de synchronizing.

Page 18: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

18

Comment trouver des séquences homing: le « successor tree »

(pour machines minimales)

« M2 »

a/0

s1

s3b/1

b/0

a/1

s2

b/1

a/0

(s1, s2, s3)

a

0 1(s1, s3) (s2)

b

1 0(s2, s3) (s1)

a

1 0(s2) (s1)

0(s3)

Page 19: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

19

Existence des séquences homing(pour machines minimales)

• Toute machine minimale avec n états a une séquence homing de longueur 2)1( n

Page 20: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

20

Longueur des séquences homing

• Il existe des machines qui nécessitent une séquence de longueur

• (exercice)

2

)1( nn

Page 21: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

21

Comment trouver des séquences synchronizing (s’il en existe)

• Utiliser le « successor tree »

• Modifications:– Ignorer les sorties– Arrêter l’exploration quand on tombe sur une

boucle– Arrêter quand on trouve un nœud singleton:

séquence synchronizing trouvée !

Page 22: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

22

Exemple: synchronizing

(s1, s2)

a

(s1)

b

(s1, s2)

s1

s2

b/1b/1

a/1

a/0

« M1 »

Page 23: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

23

Exemple: pas de synchronizing

(s1, s2, s3)

a

(s1, s2, s3)

b

(s1, s2, s3)

« M2 »

a/0

s1

s3b/1

b/0

a/1

s2

b/1

a/0

Page 24: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

24

Exercice

• Trouver si la machine a une synchronizing

0 1

A B, 0 D, 0

B A, 0 B, 0

C D, 1 A, 0

D D, 1 C, 0

étatsentrées

Page 25: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

25

Longueur des séquences synchronizing

• Si une séquence synchronizing existe, alors il existe une de longueur

• Il existe des machines qui nécessitent une séquence de longueur

• (exercices)

2

)1( 2

nn

2)1( n

Page 26: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

26

Plan du cours

• Rappel sur les machines de Mealy• Problèmes d’identification d’état:

– Séquences « homing » et « synchronizing »– Séquences « distinguishing »– Séquences « UIO »– Existence, construction, longueur, complexité

• Test de conformité

Page 27: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

27

Exemple : une séquence distinguishing

s1

s2

b/1b/1

a/1

a/0

« M1 »

La séquence « a » est distinguishing:

• Si on observe « 0 », on était à s1

• Si on observe « 1 », on était à s2

Toute séquence distinguishing est aussi une séquence homing (pourquoi ?)

Page 28: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

28

Exemple: pas de séquence distinguishing (machine non-minimale)

s1

s2

b/1b/1

a/0

a/0

Une machine non-minimale ne peut avoirde séquence distinguishing (pourquoi ?)

Page 29: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

29

Exemple: pas de séquence distinguishing (machine minimale)

• Ca ne peut pas commencer par a,

• Ca ne peut pas commencer par b,

• M4 est minimale (pourquoi ?)« M4 »

a/0

s1

s2

b/0

a/0

b/0

s3

b/1

a/0

Page 30: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

30

Comment trouver des séquences distinguishing (s’il en existe)

• Utiliser le « successor tree » pour homing• Modifications:

– Arrêter l’exploration quand on tombe sur une boucle

– Arrêter l’exploration quand on tombe sur un nœud avec deux mêmes états dans un block

– Arrêter quand on trouve un nœud avec que des singletons: séquence distinguishing trouvée !

Page 31: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

31

Exemple : distinguishing

« M2 »

a/0

s1

s3b/1

b/0

a/1

s2

b/1

a/0

(s1, s2, s3)

a

0 1(s1, s3) (s2)

b

1 0(s2, s3) (s1)

a

1 0(s2) (s1)

0(s3)

Page 32: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

32

Exemple : pas de distinguishing

(s1, s2, s3)

a

0(s1, s1, s2)

b

0 1(s3, s3) (s3)

« M4 »

a/0

s1

s2

b/0

a/0

b/0

s3

b/1

a/0

Page 33: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

33

Des tests « adaptatifs »

s2

s6

b/0

a/1

a/0

« M5 »

s3

s5

a/1

s4

s1 b/0

b/0

a/0

b/0

a/1

b/0

a/0

b/0

M5 est minimale (pourquoi?)

M5 n’a pas de séquence distinguishing (pourquoi?)

S4S1 S3

a

b S5

a

a b

a

S6 b

a

S2

a

b

0 1

1

1

1

11

0

0

0

0

0

0

0

0

Un test adaptatif :il est distinguishing !

Page 34: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

34

Tests adaptatifs : des faits

• Tout test non-adaptatif peut être vu comme adaptatif.

• Il existe des machines qui ont un distinguishing adaptatif mais pas de distinguishing non-adaptatif.

• La longueur des adaptatifs est inférieure (dans le pire cas polynomiale vs. exponentielle pour les non-adaptatifs).

• L’adaptation n’influence pas l’existence de séquences synchronizing (pourquoi ?)

Page 35: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

35

Plan du cours

• Rappel sur les machines de Mealy• Problèmes d’identification d’état:

– Séquences « homing » et « synchronizing »– Séquences « distinguishing »– Séquences « UIO »– Existence, construction, longueur, complexité

• Test de conformité

Page 36: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

36

Exemple : séquence UIO

s1

s2

b/1b/1

a/1

a/0

« M1 »

La séquence « a » est UIO pour s1:

• Si on observe « 0 », on était à s1

• Si on observe « 1 », on n’était pas à s1

S’il existe un test distinguishing alors il existeune séquence UIO pour tout état (pourquoi ?)

Une séquence UIO peut ne pas exister pourun ou plusieurs états (pourquoi ?)

Page 37: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

37

Exemple : séquence UIO

s1

s2

b/1b/1

a/1

a/0

« M1 »

La séquence « a » est UIO pour s1:

• Si on observe « 0 », on était à s1

• Si on observe « 1 », on n’était pas à s1

L’adaptation influence-t-elle l’existencede séquence UIO ?

Page 38: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

38

Exemple : séquence UIO

s1

s2

b/1b/1

a/1

a/0

« M1 »

La séquence « a » est UIO pour s1:

• Si on observe « 0 », on était à s1

• Si on observe « 1 », on n’était pas à s1

Exercice : proposer une méthode pour chercher des séquences UIO

Page 39: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

39

Complexité

• Les algorithmes basés sur le « successor tree » sont chers : exponentiels.

• Peut-on faire mieux ?

Page 40: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

40

Complexité : homing/synchronizing

• Les problèmes d’existence et construction sont polynomiaux.

• Idée : utiliser la preuve sur la longueur de homing pour n’explorer qu’un seul chemin dans le successor tree.

Page 41: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

41

Complexité : homing/synchronizing

• Trouver les séquences les plus courtes est un problème difficile : NP-dur.

• Réduction du problème 3SAT : au tableau !

Est-ce que j’ai triché ?

Page 42: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

42

Complexité : distinguishing

• Trouver une séquence non-adaptative (s’il y en a) est difficile : PSPACE-dur.– Réduction du problème « Intersection

d’Automates Finis ».

• Trouver des séquences adaptatifs est « facile » : polynomial.

Page 43: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

43

Complexité : UIO

• Les problèmes suivants sont PSPACE-complets :– Est-ce qu’un état s de M a une séquence UIO ?– Est-ce que tout état de M a une séquence UIO ?– Y a-t-il des états de M qui possèdent une

séquence UIO ?

Page 44: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

44

Plan du cours

• Rappel sur les machines de Mealy• Problèmes d’identification d’état:

– Séquences « homing » et « synchronizing »– Séquences « distinguishing »– Séquences « UIO »– Existence, construction, longueur, complexité

• Test de conformité

Page 45: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

45

Objectif : test de conformité

Machine A

1

2

3

4

5

a/1

a/1

a/0 a/0

a/1

a/0

Machine B

Boite noire

B conforme à A?

Spécification

Modèle

Implémentation

Page 46: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

46

Objectif : test de conformité

Machine A

1

2

3

4

5

a/1

a/1

a/0 a/0

a/1

a/0

Machine B

Boite noire

B équivalente à A ?

Spécification

Modèle

Implémentation

Page 47: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

47

Hypothèses

• Le nombre d'états de B est k– pour commencer, k = nombre d'états de A

• A est minimale– si elle ne l’est pas, on peut toujours la

minimiser sans changer la spécification

• A est fortement connexe– sinon, on ne peut pas tout tester - pourquoi ?

Page 48: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

48

Objectif : test de conformité

Machine A

1

2

3

4

5

a/1

a/1

a/0 a/0

a/1

a/0

Machine B

Boite noire

B isomorphe à A ?

Spécification

Modèle

Implémentation

Page 49: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

49

Méthode• Deux phases :

– Mener B vers un état donné • Pour cela on va utiliser des séquences homing ou

synchronizing

– Parcourir toutes les transitions de B et vérifier qu’elles produisent les bonnes sorties

• Pour cela on va utiliser des séquences « checking »• Pour produire des séquences checking, on peut utiliser des

séquences distinguishing, UIO, ou d’autres

• Le test final est la concaténation de ces tests.

Page 50: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

50

Première phase: mener B vers un état donné s

• Si A a une séquence synchronizing vers s, utiliser cette séquence.

• Si A n’a pas de séquence synchronizing :– utiliser une séquence homing pour aller vers un état

connu – utiliser une séquence de transfert pour aller vers s

(pourquoi c’est toujours possible ?)

• Séquence de transfert (s1,s2) : une séquence qui mène de l'état s1 à l'état s2.

Page 51: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

51

Première phase : exemple 1

s1

s2

b/1b/1

a/1

a/0

Machine A Séquence synchronizingpour l'état s1 :

a

Et pour l'état s2 ?

Page 52: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

52

Première phase : exemple 2

Pas de séquence synchronizingMachine A

« M2 »

a/0

s1

s3b/1

b/0

a/1

s2

b/1

a/0

Séquence homing : a b

s10 0s3

s31 1s2

s20 1s1

Etat finalSortieEtat initial

Page 53: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

53

Première phase : exemple 2

Machine A

« M2 »

a/0

s1

s3b/1

b/0

a/1

s2

b/1

a/0

Selon l'état final, appliquer :

s1 s1

s1bs3

s1s2

Nouvel étatSéquence de transfert

Etat final

b b

Le test de la première phase est en général adaptatif

Page 54: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

54

Séquences « checking »

• Étant donnés une machine A avec n états et un état s de A,

• Une séquence d’entrées x est une séquence checking pour (A, s) ssi :

• Pour toute machine B avec ≤ n états, si B n’est pas isomorphe à A, alors pour tout état s’ de B ),'(),( xsxs BA

Page 55: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

55

Séquences checking : quelques faits

• On peut toujours construire une séquence checking pour une machine minimale– En utilisant des séquences « identifying »

– Problème : longueur peut être exponentielle

• S’il en existent, on peut aussi utiliser des tests distinguishing (adaptatifs ou pas)– Longueur de la séquence checking : polynomiale sur la

longueur du test distinguishing et la taille de A

Page 56: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

56

Construction d’une séquence checking à partir d’une séquence

distinguishing (I)

• Objectif : vérifier que B a n états distincts• Supposons :

– x : une séquence distinguishing pour A– s1 : l'état initial de A (après la première phase)– ti = (si, x)

• Séquence (I) :

x (t1,s2)x (t2,s3) x (tn,s1)x

Page 57: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

57

Exemple (I)

s1

s2

b/1b/1

a/1

a/0

Séquence distinguishing : aSpécification

t1 = (s1, a) = s1

t2 = (s2, a) = s1

(t1,s2) = b(t2,s1) = vide

Séquence (I) : a b a a

Page 58: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

58

Construction d’une séquence checking à partir d’une séquence

distinguishing (II)

• Objectif : vérifier toute transition de B – Pour chaque transition

1. Mener la machine à l'état si

2. Appliquer l’entrée a et observer la sortie o

3. Vérifier que l'état destination est bien sj

– Pour ce faire, appliquer la séquence (II) :

sia / o s j

(t,si 1)x (ti 1,si)ax(t est l'état de départ, après la séquence précédente)

Page 59: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

59

Exemple (II)

s1

s2

b/1b/1

a/1

a/0

Spécification Séquence distinguishing : a

t1 = (s1, a) = s1

t2 = (s2, a) = s1

(t1,s2) = b(t2,s1) = vide

Séquence (II) pour :

a b b a

s2b /1 s1

Page 60: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

60

Et s’il n’y a que de tests distinguishing adaptatifs ?

S4S1 S3

a

b S5

a

a b

a

S6 b

a

S2

a

b

0 1

1

1

1

11

0

0

0

0

0

0

0

0

Pour chaque état si, définir uneséquence xi : le chemin de l’arbre

x1 = a a b a b ax6 = a b a

Les séquences (I) et (II) deviennent :

(t,si 1)x i 1 (ti 1,si)ax j

x1 (t1,s2)x2 (t2,s3) xn (tn,s1)x1

Page 61: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

61

Longueur de la séquence checking

O((lt ld )n ld (2lt ld 1)m)

lt = longueur de séquence de transfert < n

ld = longueur de séquence distinguishing

Page 62: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

62

Exercice

• Trouver un test de conformité pour la machine :

« M2 »

a/0

s1

s3b/1

b/0

a/1

s2

b/1

a/0

Page 63: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

63

La vie plus facile : les machines avec « status » ou « reset »

• Status : dévoile l'état de la machine– Un « self-loop » à chaque état « si » de A avec une

entrée « status » qui donne une sortie « si ».

• Reset : amène la machine dans un état donné– Une transition de chaque état de A vers un état « s1 »

avec entrée « reset » (peu importe la sortie).

• Hypothèse : « status » et « reset » fonctionnent correctement dans la machine B (« reliable »).

Page 64: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

64

Les machines avec « status »

• Pour construire une séquence checking :– Trouver un chemin qui parcourt toutes les transitions de

la machine A.– Appliquer l’entrée « status » entre chaque deux autres

entrées.

• Exemple :– Chemin (à partir de s1) : a b a b b– Checking : s a s b s a s b s b s– (entrée « s » implicite)

s1

s2

b/1b/1

a/1

a/0

Page 65: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

65

Les machines avec « reset »• Pour construire une séquence checking :

– Trouver un « spanning tree » T– Pour chaque état :

• Appliquer « reset », puis le chemin de T qui mène vers cet etat• Vérifier l'état à l’aide d’une séquence distinguishing• (ça vérifie aussi les transitions de T)

– Vérifier les transitions restantes

• Exemple :– T : s1 -> s2– Pour s1 : r a– Pour s2 : r b a– Puis : r b b– (entrée « r » vers s1 implicite)

s1

s2

b/1b/1

a/1

a/0

Page 66: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

66

La vie plus difficile : k = n + u(k = borne sur le nombre d'états de B)

• Le test devient beaucoup plus « cher » : – Si le nombre d'entrées est p, alors la longueur

du test est – Exemple :

O( pu)

Machine A (presque)

q1 q2 q3 qu

s x0 x1 x2 xu-1

xu/faute

La machine B est un « combination lock »

Machine B

Page 67: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

67

Questions ?

Page 68: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

68

Conclusions

• Modèle : machines de Mealy– Simple, bon pour les circuits– Entrées/sorties « synchrones »

• Théorie bien développée :– Algorithmes, propriétés, complexité

Page 69: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

69

Bibliographie

• Zvi Kohavi, « Switching and finite automata theory », 2nd edition, 1978, McGraw-Hill, Chapter 13.

• David Lee and Mihalis Yannakakis, « Principles and methods of testing finite-state machines – A survey », Proceedings of the IEEE, vol.84, no.8, August 1996.

Page 70: 1 Test des Machines de Mealy Stavros Tripakis Laboratoire Verimag Master 2 Recherche S&L « Méthodes de test »

70

Pour aller plus loin• D’autres modèles :

– Machines non-déterministes– Machines avec entrées/sorties « asynchrones »– Machines étendues avec variables– Automates temporisés– Machines probabilistes– …

• D’autres relations de conformité• D’autres techniques de génération et sélection des tests

– Algorithmes randomisés – Couverture– …