• Aucun résultat trouvé

Contributions à la génération de tests à partir d'automates à pile temporisés

N/A
N/A
Protected

Academic year: 2021

Partager "Contributions à la génération de tests à partir d'automates à pile temporisés"

Copied!
163
0
0

Texte intégral

(1)

HAL Id: tel-01614351

https://tel.archives-ouvertes.fr/tel-01614351

Submitted on 10 Oct 2017

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Hana M’Hemdi

To cite this version:

Hana M’Hemdi. Contributions à la génération de tests à partir d’automates à pile temporisés. Au-tomatique. Université de Franche-Comté; Université de Tunis El-Manar. Faculté des Sciences de Tunis (Tunisie), 2016. Français. �NNT : 2016BESA2050�. �tel-01614351�

(2)

THESE

présentée en vue de l’obtention du

Doctorat en Informatique

par

Hana M'HEMDI

(Master en Informatique, Université de Bourgogne Franche-Comté)

Contributions à la Génération de tests à

partir d'automates à pile temporisés

Soutenue le 23/09/2016 devant le Jury :

Hacène FOUCHAL Professeur (Univ. de Reims), Rapporteur Moncef TAJINA Professeur (ENSI-Manouba, Tunisie), Rapporteur

Pierre-Cyrille HEAM Professeur (Univ. de Bourgogne Franche-Comté), Examinateur Ouajdi KORBAA Professeur (ISTICom-Sousse, Tunisie), Examinateur

Nicolas STOULS MCF (INSA Lyon), Examinateur

Jacques JULLIAND Professeur (Univ. de Bourgogne Franche-Comté), Directeur de thèse Riadh ROBBANA Professeur (INSAT-Tunis, Tunisie), Directeur de thèse

Pierre-Alain MASSON MCF (Univ. de Bourgogne Franche-Comté), Co-directeur de thèse

Thèse préparée sous convention de cotutelle

(3)
(4)

FORMATION DOCTORALE EN INFORMATIQUE

THESE

présentée en vue de l’obtention du

Doctorat en Informatique

par

Hana M'HEMDI

(Master en Informatique, Université de Franche Comté )

Contributions à la Génération de tests à partir

d'automates à pile temporisés

sous la direction de :

JaquesJULLIAND Professeur (Univ. de Franche Comté-France) Riadh ROBBANA Professeur (INSAT-Univ. de Carthage-Tunisie) Pierre-Alain MASSON MCF (Univ. de Franche Comté-France)

Thèse préparée sous convention de cotutelle

FST-Tunis, Tunisie (Laboratoire LIP2) et Université de Franche Comté, France ( Laboratoire femto-st)

Contributions `a la G ´en ´eration de

tests `a partir d’automates `a pile

temporis ´es

(5)
(6)

J’aimerais d’abord remercier mes encadrants de th `ese :

Monsieur Jacques JULLIAND, professeur `a l’universit ´e de Bourgogne

Franche-Comt ´e, pour m’avoir support ´e pendant toutes ces ann ´ees de th `ese. Gr ˆace `a ses conseils judicieux, ses relectures, sa patience et son aide pr ´ecieuse, j’ai pu mener `a bien mes travaux de th `ese et aboutir `a mes r ´esultats et publications. J’ai eu beaucoup de plaisir `a travailler avec lui.

Monsieur Riadh ROBBANA, professeur `a l’Institut national des sciences

ap-pliqu ´ees et de technologie de Carthage, Tunisie, pour ses conseils, sa pr ´esence continuelle et son aide pr ´ecieuse, autant du c ˆot ´e scientifique que du c ˆot ´e humain. Monsieur Pierre-Alain MASSON, maˆıtre de conf ´erences `a l’universit ´e de

Bour-gogne Franche-Comt ´e, pour m’avoir fait b ´en ´eficier tout au long de ce travail de sa grande comp ´etence et de son efficacit ´e certaine que je n’oublierai jamais. J’aimerais ´egalement lui dire `a quel point j’ai appr ´eci ´e sa grande disponibilit ´e.

Je tiens `a remercier monsieurHac `ene FOUCHAL, professeur `a l’universit ´e de Reims et

monsieurMoncef TAJINA, professeur `a l’ ´ecole nationale des sciences de l’informatique

de Manouba, Tunisie, pour avoir accept ´e de rapporter cette th `ese et pour leurs remar-ques pertinentes et pr ´ecieuses qui ouvrent de nouveaux horizons pour ce travail. Merci `a monsieurPierre-Cyrille HEAM, professeur `a l’universit ´e de Bourgogne Franche-Comt ´e,

monsieur Ouajdi KORBAA, professeur `a l’institut sup ´erieur d’informatique et des

tech-niques de communication de Hammam Sousse, Tunisie et monsieur Nicolas STOULS,

maˆıtre de conf ´erences `a l’institut national des sciences appliqu ´ees de Lyon pour avoir accept ´e d’examiner ce travail.

Je profite aussi ici d’exprimer mes remerciements `a toutes les personnes que j’ai c ˆotoy ´ees pendant ces ann ´ees de th `ese, notamment les membres respectifs du labora-toire FEMTO-ST et du laboralabora-toire LIP2.

Je souhaite remercier ma m `ere Moufida et mon p `ere Belhassen, ainsi que mes fr `eres Abdelkader et Hani et mes sœurs Hanene et Manel pour leurs encouragements, leur confiance et leur soutien tout au long de mes ´etudes. Je souhaite aussi remercier tous mes chers amis pour leur soutien et leur disponibilit ´e. Merci particuli `erement `a Huda, Hayfa, Tarek, Bassem, Ibrahim, Rania, Lemia, Hamida, Anis, Mouhebeddine, Lucas et Karla.

(7)
(8)

I Contexte et Probl ´ematique 1

1 Introduction 3

1.1 Contexte . . . 3

1.1.1 Les syst `emes temps-r ´eel . . . 3

1.1.2 Les automates `a pile . . . 4

1.1.3 Les automates `a pile temporis ´es . . . 4

1.1.4 Test de syst `emes informatiques . . . 4

1.2 Motivations et contributions . . . 5

1.3 Organisation du document . . . 7

2 Pr ´eliminaires 9 2.1 Syst `emes de transitions ´etiquet ´es (LTS) et IOLTS . . . 9

2.2 Automates temporis ´es . . . 11

2.2.1 Automate temporis ´e . . . 11

2.2.2 Automate temporis ´e avec deadlines . . . 12

2.2.3 Automate temporis ´e avec entr ´ees/sorties (TAIO) . . . 14

2.2.4 Composition parall `ele de deux TAIO . . . 15

2.3 Discr ´etisation des automates temporis ´es . . . 16

2.3.1 R ´eduction par partitionnement en r ´egions . . . 16

2.3.2 R ´eduction par partitionnement en zones [DT98] . . . 19

2.3.2.1 Graphe des zones . . . 20

2.3.2.2 Les DBMs . . . 21

2.3.2.3 K-approximation ou extrapolation [DT98] . . . 22

2.3.3 R ´eduction par discr ´etisation du temps [HMP92][Rob95] . . . 23

2.4 R `egles de simplification d’un automate temporis ´e avec −transitions . . . . 24

2.5 D ´eterminisation des automates temporis ´es . . . 27

(9)

2.5.1 D ´eterminisation exacte [BBBB09] . . . 27

2.5.2 D ´eterminisation avec sur-approximation [KT09] . . . 28

2.5.3 D ´eterminisation avec sur-approximation plus pr ´ecise . . . 31

2.6 Automates `a pile . . . 31

2.6.1 D ´efinition . . . 32

2.6.2 Accessibilit ´e . . . 33

2.7 Conclusion . . . 36

3 Etat de l’art´ 37 3.1 Test structurel et fonctionnel . . . 37

3.1.1 Notion de test . . . 38

3.1.2 Test structurel par ex ´ecution symbolique et Mutation . . . 38

3.1.2.1 G ´en ´eration de tests couvrant le graphe de flot de contr ˆole 38 3.1.2.2 G ´en ´eration de tests couvrant le flot de donn ´ees . . . 39

3.1.2.3 Ex ´ecution symbolique . . . 40

3.1.2.4 G ´en ´eration et ´evaluation par mutation . . . 42

3.1.3 Test fonctionnel de conformit ´e engendr ´e `a partir de mod `eles . . . . 42

3.1.3.1 Test fonctionnel . . . 42

3.1.3.2 G ´en ´eration de tests `a partir de mod `eles . . . 43

3.1.3.3 Test de conformit ´e . . . 44

3.2 G ´en ´eration de tests `a partir d’IOLTS . . . 45

3.2.1 Relation de conformit ´e ioco . . . 45

3.2.2 G ´en ´eration de test `a partir d’un IOLTS . . . 46

3.3 G ´en ´eration de tests `a partir de PA . . . 47

3.3.1 Mod ´elisation d’un programme r ´ecursif par un PA . . . 47

3.3.2 G ´en ´eration de tests `a partir d’un automate `a pile . . . 49

3.3.2.1 G ´en ´eration de tests `a partir de grammaires . . . 49

3.3.2.2 G ´en ´eration al ´eatoire-uniforme d’arbres de d ´erivation . . . 49

3.3.2.3 M ´ethode de test al ´eatoire d’un programme r ´ecursif . . . . 49

3.4 G ´en ´eration de tests `a partir de TAIO . . . 50

3.4.1 Test de conformit ´e `a partir d’un TAIO . . . 50

3.4.1.1 Relation de conformit ´e tioco . . . 50

3.4.1.2 G ´en ´eration de tests analogiques . . . 51

3.4.1.3 Test digital . . . 53

(10)

3.5 Conclusion . . . 54

II Contributions 55 4 Automate `a pile temporis ´e avec entr ´ees/sorties 57 4.1 TPAIO : d ´efinition, s ´emantique et exemples . . . 58

4.2 Relation de conformit ´e tpioco . . . 64

4.3 Atteignabilit ´e dans un TPAIO . . . 65

4.4 Conclusion . . . 66

5 G ´en ´eration de tests `a partir d’un TPAIO d ´eterministe 67 5.1 Processus de g ´en ´eration de tests . . . 68

5.2 Construction d’un testeur `a partir d’un TPAIO . . . 69

5.3 Calcul d’un RTA `a partir d’un TPAIO . . . 72

5.3.1 R `egles de calcul d’un automate temporis ´e d’accessibilit ´e complet . 74 5.3.2 Algorithme de calcul d’un RTA fini et incomplet. . . 76

5.4 G ´en ´eration d’un arbre de tests . . . 81

5.5 Correction, incompl ´etude et couverture de test de la m ´ethode . . . 85

5.5.1 Correction . . . 85

5.5.2 Incompl ´etude . . . 86

5.5.3 Couverture des tests . . . 88

5.6 Conclusion . . . 88

6 Test de conformit ´e `a partir d’un programme r ´ecursif temporis ´e 91 6.1 Processus de g ´en ´eration de tests . . . 92

6.2 Construction d’un testeur `a partir d’un TPAIO . . . 93

6.3 Calcul d’un RA `a partir d’un STPTIO . . . 100

6.4 G ´en ´eration des cas de tests . . . 102

6.5 Exp ´erimentation . . . 103

6.6 Correction, incompl ´etude et couverture de la m ´ethode . . . 106

6.6.1 Correction . . . 106

6.6.2 Incompl ´etude . . . 107

6.6.3 Couverture des tests . . . 108

6.7 Conclusion . . . 108

(11)

7.1 Construction d’un STPTIO `a partir d’un TPAIO . . . 110

7.2 G ´en ´eration d’arbres de test . . . 114

7.3 Correction de la m ´ethode . . . 115

7.4 Exp ´erimentation . . . 115

7.4.1 Op ´erateurs de mutation d’un TPAIO . . . 116

7.4.2 Produit synchronis ´e d’une impl ´ementation I et d’un cas de test . . . 117

7.4.3 R ´esultats exp ´erimentaux . . . 119

7.5 Incompl ´etude . . . 121

7.6 Conclusion . . . 123

III Conclusion et perspectives 125 8 Conclusion et Perspectives 127 8.1 Bilan . . . 127

(12)

2.1 Exemple d’IOLTS . . . 10

2.2 R ´epr ´esentation des TPC pour une transition de garde g, selon la deadline-Les ’X’ repr ´esentent les instants o `u le temps n’est pas autoris ´e `a s’ ´ecouler dans la localit ´e source de la transition de garde g et de deadline indiqu ´e . . 13

2.3 Partie d’un exemple de TAD . . . 13

2.4 TAIO de reconnaissance de clics simple ou double . . . 15

2.5 Ensemble des r ´egions dans le cas cx = 2 et cy = 1 . . . 17

2.6 TA `a deux horloges . . . 18

2.7 Automate des r ´egions du TA de la Fig. 2.6 . . . 18

2.8 DBMde la contrainte 1 6 x16 4 ∧ 1 6 x2 6 3 ∧ x1− x2 6 1 . . . 21

2.9 (a). DBM de la garde g, (b). DBM de z ∩ g, (c). DBM de z ∩ g[{x2} := 0] . . . 22

2.10 (a). TA, (b). son graphe de zones infini et (c). son graphe de zones fini avec 3-approximation . . . 23

2.11 Fusion de trois -transitions successives en une seule transition d ´echlenchable . . . 26

2.12 Fusion de trois -transitions successives en une seule transition non d ´eclenchable . . . 26

2.13 Illustration dans [KT09] de va(l1,−26x−y61). La zone −2 6 x − y 6 1 est gris ´ee 29 2.14 (a) TA et (b) son DTA . . . 31

2.15 Possibilit ´es de calcul d’une nouvelle -transition . . . 34

2.16 (a) un PA et (b) son RA . . . 34

3.1 Hi ´erarchie des crit `eres de couverture bas ´es sur le flot de donn ´ees . . . 39

3.2 Arbre des chemins d’ex ´ecution possibles de l’algorithme 3.1.1 . . . 41

3.3 Processus du model-based testing . . . 43

3.4 Processus de test de conformit ´e . . . 44

3.5 Exemple d’une sp ´ecification et de trois impl ´ementations . . . 46

3.6 Graphe de flot de contr ˆole mod ´elisant le programme 3.3.1 . . . 48

3.7 PA mod ´elisant le programme r ´ecursif 3.3.1 . . . 49

3.8 Exemple d’une sp ´ecification et de quatre implementations . . . 51

3.9 Exemple de test analogique et de son TAIO . . . 53

(13)

3.10 Exemple de test digital du TAIO present ´e dans la Fig. 3.9.(a) . . . 53

4.1 Valeurs d’horloges autoris ´ees repr ´esent ´ees en gras pour chaque deadline d’une transition d ´eclenchable et pour trois classes d’instants d’arriv ´ee. . . . 61

4.2 Valeurs d’horloges autoris ´ees repr ´esent ´ees en gras pour chaque deadline d’une transition de d ´epilement non d ´eclenchable et pour trois classes d’in-stants d’arriv ´ee. . . 61

4.3 Transition avec deadline d’un TPAIO . . . 62

4.4 Exemple d’un TPAIO d ´ecrivant la reconnaissance d’un simple ou de plusieurs clics . . . 64

4.5 Exemple de sp ´ecification et de cinq impl ´ementations . . . 65

5.1 Processus de g ´en ´eration de tests `a partir d’un TPAIO . . . 68

5.2 Exemple d’un TPAIO . . . 71

5.3 Testeur associ ´e au TPAIO de la Fig 5.2 . . . 72

5.4 Un exemple d’applicabilit ´e infinie de la r `egle RA3 . . . 76

5.5 Un exemple d’applicabilit ´e infinie de la r `egle RA4 . . . 77

5.6 Possibilit ´es de calcul d’une nouvelle -transition . . . 78

5.7 Arbre de tests du TPAIO de la Fig 5.2 . . . 87

5.8 RTA (b) repr ´esentant l’atteignabilit ´e incompl `ete du TPAIO (a) . . . 88

6.1 Processus de g ´en ´eration de tests `a partir d’un TPAIO . . . 92

6.2 (b) partie du STPTIO du TPAIO (a) sans les transitions vers f ail et inconc . 96 6.3 TPAIO mod ´elisant le programme de la Fig. 3.3.1 . . . 98

6.4 Testeur (STPTIO) associ ´e au TPAIO de la Fig. 6.3 . . . 99

6.5 Deux cas de tests du TPAIO de la Fig. 6.3 . . . 104

6.6 Deux STPTIO (b) et (c) de TPAIO (a) (sans les localit ´es vers f ail ). (c) est plus pr ´ecis que (b) . . . 108

7.1 Exemple d’un TPAIO non d ´eterministe . . . 113

7.2 Testeur (STPTIO) associ ´e au TPAIO de la Fig. 7.1 . . . 113

7.3 ((b). le STPTIO et (c). l’impl ´ementation du TPAIO present ´e dans la Fig. 7.3.(a) . . . 118

7.4 TPAIO d ´ecrivant la d ´etection d’une action n−clics (n > 1) . . . 120

7.5 Mutants non conformes et non d ´etect ´es du TPAIO de la Fig. 7.4 . . . 121

7.6 Mutants non-conformes et d ´etect ´es du TPAIO de la Fig. 7.4 . . . 122

7.7 (a). Exemple d’un TPAIO et (b). de l’un de ses mutants . . . 122

7.8 Deux cas de tests couvrant toutes les transitions pour le TPAIO pr ´esent ´e dans la Fig. 7.7.(a) . . . 123

(14)
(15)
(16)

2.1 TPC de la localit ´e l1 du TAD de la fig. 2.3 en fonction des deadlines d1et d2 14

2.2 Transitions du RA present ´e dans la Fig. 2.16.(b) . . . 36

4.1 Valeurs de l’ACV de la localit ´e l1 pour une pile vide et diff ´erentes valeurs

v0 et v et la deadline lazy . . . 62

4.2 Valeurs de l’ACV de la localit ´e l1 pour une pile vide et diff ´erentes valeurs

v0 et v et la deadline delayable . . . 62

4.3 Valeurs de l’ACV de la localit ´e l1 pour une pile vide et diff ´erentes valeurs

v0 et v et la deadline eager . . . 62 5.1 Table de chemins, pour les transitions partant de l0vers une localit ´e finale

du RTA du TPAIO de la Fig. 5.2, avec leurs chemins dans le TPAIO . . . . 80

6.1 R ´esultats exp ´erimentaux sur le TPAIO de la Fig. 6.3 . . . 106

7.1 R ´esultats exp ´erimentaux sur l’exemple des n-clics de la Fig. 7.4 . . . 120

(17)
(18)

2.5.1Calcul du DTA `a partir d’un TPAIO [KT09] . . . 30

2.6.1Calcul du RA [FWW97] d’un PA donn ´e . . . 35

3.1.1Algorithme calculant le maximum de trois entiers donn ´es . . . 41

3.2.1G ´en ´eration de cas de tests `a partir d’un IOLTS donn ´e [Tre99] . . . 46

3.3.1Algorithme r ´ecursif calculant le nemenombre de la suite de Fibonacci Fib(n) 48 3.4.1G ´en ´eration `a la vol ´ee de tests analogiques `a partir d’un TAIO [KT09] . . . 52

5.2.1Calcul du testeur `a pile temporis ´e d ´eterministe `a partir d’un TPAIO . . . 71

5.3.1Algorithme de calcul d’un RTA fini et partiel . . . 79

5.4.1Trie creerTrie(S T )- Transformation d’un ensemble de chemins de test en Trie 83 5.4.2Trie insererChemin(p, T C)-Ajout d’un chemin dans un Trie . . . 83

5.4.3Trie ajouterVerdicts(T C, TT)-Ajout des verdicts dans un Trie . . . 84

6.2.1Calcul du testeur `a pile temporis ´e avec une seule horloge `a partir d’un TPAIO 97 6.5.1Comparaison d’une trace de l’impl ´ementation avec un cas de test . . . 105

(19)
(20)

1 D ´efinition : IOLTS [Tre96] - Syst `eme de Transitions avec Entr ´ees/Sorties . . 10

2 D ´efinition : TA [AD94] - Automate Temporis ´e . . . 11

3 D ´efinition : Composition parall `ele de deux TAIO [KT09] . . . 16

4 D ´efinition : ´Equivalence de deux valuations d’horloges [AD94] . . . 17

5 D ´efinition : Successeur d’une r ´egion [AD94] . . . 17

6 D ´efinition : Automate des r ´egions [AD94] . . . 18

7 D ´efinition : Graphe des zones [DT98] . . . 20

8 D ´efinition : Fermeture en arri `ere d’une contrainte [BPDG98] . . . 24

9 D ´efinition : R `egle de fusion de deux -transitions ´el ´ementaires successives 25 10 D ´efinition : R `egle de fusion de n − 1 −transitions ´el ´ementaires successives 25 11 D ´efinition : PA [ABB97] - Automate `a Pile . . . 32

12 D ´efinition : RA d’un PA- Automate d’Accessibilit ´e d’un Automate `a Pile . . . 33

13 D ´efinition : ioco [Tre99] - Relation de conformit ´e ioco . . . 45

14 D ´efinition : tioco [KT09] - Relation de conformit ´e tioco . . . 51

15 D ´efinition : TPAIO- Automates Temporis ´e `a Pile avec Entr ´ees/Sorties . . . 58

16 D ´efinition : ACV l act,g,d,X0 −−−−−−−→l0(v0,p, v) - Valeur d’horloges autoris´ees pour une transition . . . 60

17 D ´efinition : ACVl(v0,p, v)- Valeur d’horloges autoris´ees pour une localit´e . . 61

18 D ´efinition : Testeur `a pile temporis ´e d ´eterministe . . . 70

19 D ´efinition : Fusion de deux transitions successives . . . 73

20 D ´efinition : RTA d’un TPAIO . . . 74

21 D ´efinition : Ensemble de chemins de tests d’un TPAIO d ´eterministe avec deadline lazy . . . 81

22 D ´efinition : Arbre de cas de tests . . . 82

23 D ´efinition : Atteignabilit ´e dans un RTA . . . 85

24 D ´efinition : Testeur `a pile temporis ´e d ´eterministe STPTIO . . . 93

25 D ´efinition : Transitions du Testeur `a pile temporis ´e d ´eterministe STPTIO . . 95

(21)

deadline delayable . . . 102 28 D ´efinition : Cas de test d’un TPAIO d ´eterministe avec deadline delayable . . 103

29 D ´efinition : Testeur symbolique `a pile temporis ´e d ´eterministe STPTIO . . . 110 30 D ´efinition : Transitions du Testeur `a pile temporis ´e STPTIO . . . 112 31 D ´efinition : Cas de test d’un TPAIO non d ´eterministe avec deadline . . . 114 32 D ´efinition : Mod `ele d’impl ´ementation . . . 117 33 D ´efinition : Produit synchronis ´e d’une impl ´ementation I et d’un cas de test tc119

(22)

C

ONTEXTE ET

P

ROBL

EMATIQUE

´

(23)
(24)

I

NTRODUCTION

Sommaire 1.1 Contexte . . . . 3 1.2 Motivations et contributions . . . . 5 1.3 Organisation du document . . . . 7

1.1/

C

ONTEXTE

Le travail pr ´esent ´e dans cette th `ese s’inscrit dans le cadre du test `a partir de mod `eles, plus particuli `erement `a partir d’automates `a pile temporis ´es qui sont des extensions des automates temporis ´es et des automates `a pile.

Dans cette partie, nous allons tout d’abord introduire les syst `emes temps-r ´eel. Ensuite, nous pr ´esentons les automates `a pile et les automates `a pile temporis ´es. Finalement, nous pr ´esentons le concept de test des syst `emes informatiques.

1.1.1/ LES SYSTEMES TEMPS` -REEL´

Les syst `emes temps-r ´eels sont souvent des syst `emes critiques, dans le sens o `u d’une part, ils peuvent mettre en cause des vies humaines et d’autre part, leur destruction induit des pertes d’argent consid ´erables. Aujourd’hui, la plupart des syst `emes intelligents sont construits par composants dont certains sont logiciel. De ce faˆıt, la v ´erification et la validation des composants logiciels des syst `emes temps-r ´eel est un des enjeux majeurs pour le d ´eveloppement de syst `emes automatis ´es. C’est notamment le cas des syst `emes de transports, des syst `emes m ´edicaux, des syst `emes militaires, etc. Parmi les exemples connus de d ´efection de syst `emes dues `a des d ´efauts logiciel, on peut citer le crash d’Ariane 5 lors de son premier vol, des erreurs de cibles de lanceurs de missiles Patriot et des surexpositions aux radiations par des appareils de radioth ´erapie. D ´evelopper des syst `emes fiables mais aussi avoir les moyens de garantir leur bon fonctionnement sont des enjeux importants. Les mod `eles de tels syst `emes doivent ˆetre v ´erifi ´es et la conformit ´e de leurs impl ´ementations par rapport `a leurs mod `eles doit ˆetre valid ´ee.

Les syst `emes temps-r ´eel peuvent ˆetre mod ´elis ´es par des automates temporis ´es [AD94] dont la s ´emantique est donn ´ee par des syst `emes de transition ayant une infinit ´e d’ ´etats.

(25)

Des techniques d’abstraction en syst `emes de transition de taille finie ont ´et ´e mises au point pour d ´efinir des m ´ethodes de v ´erification algorithmiques de ces syst `emes [ACD93].

1.1.2/ LES AUTOMATES A PILE`

Les automates `a pile ont ´et ´e largement ´etudi ´es [MS85][ABB97][BEM97a][Wal00]. Ce sont des syst `emes de transitions munis d’une pile de taille non born ´ee. Par cons ´equent, ils sont plus expressifs que les syst `emes `a ´etats finis. Un ´etat dans un syst `eme `a pile cor-respond `a un point de contr ˆole dans l’automate plus une configuration de la pile. Un syst `eme `a pile peut donc avoir un nombre infini d’ ´etats ´etant donn ´e que la pile est non born ´ee. L’une des utilisations de ces automates est de mod ´eliser des programmes avec appels de proc ´edures incluant des appels r ´ecursifs.

1.1.3/ LES AUTOMATES A PILE TEMPORIS` ES´

Un automate `a pile temporis ´e combine le mod `ele des automates `a pile et des automates temporis ´es. Il existe deux sortes d’automates `a pile temporis ´es : (1). automate `a pile temporis ´e [BER95][Dan03][Dan01] [EM06] ´equip ´e avec des horloges globales et tel que les symboles de la pile ne sont pas dat ´es, (2). automate `a pile temporis ´e [Dan01] o `u les ´el ´ements de la pile sont dat ´es par des horloges qui s’incr ´ementent comme les horloges globales. De plus, les op ´erations sur la pile ont un intervalle de temps comme argument en plus du symbole empil ´e ou d ´epil ´e. Les auteurs de [CL15] prouvent que le mod `ele de Abdulla et al. [Dan01] est expressivement ´equivalent `a un automate `a pile temporis ´e sans pile dat ´ee.

1.1.4/ TEST DE SYSTEMES INFORMATIQUES`

Les activit ´es de validation et de v ´erification sont des activit ´es visant `a assurer qu’un syst `eme informatique d ´evelopp ´e satisfait bien les besoins exprim ´es et les exigences requises. La v ´erification consiste `a s’assurer qu’un mod `ele du syst `eme `a d ´evelopper satisfait les exigences exprim ´ees dans le cahier des charges. Pour ce qui est des exigences fonctionnelles, la d ´emarche de v ´erification consiste `a garantir qu’un mod `ele comportemental du syst `eme satisfait les exigences formalis ´ees par des propri ´et ´es invariantes, de s ˆuret ´e, de vivacit ´e, d’ ´equit ´e et de non blocage. Les m ´ethodes formelles de v ´erification bas ´ees sur la preuve ou sur les techniques de model checking adressent ce probl `eme. Une fois le mod `ele v ´erifi ´e, celui-ci peut ˆetre utilis ´e pour engendrer des suites de tests. Puis, ces tests sont ex ´ecut ´es sur les impl ´ementations pour valider que celles-ci sont conformes au mod `ele v ´erifi ´e. Cette d ´emarche est appel ´ee MBT (Model Based Testing) ou test `a partir de mod `eles.

Le test est une activit ´e tr `es importante dans le processus de d ´eveloppement des syst `emes informatiques. Le recours aux m ´ethodes formelles constitue une voie appro-pri ´ee pour promouvoir le test et automatiser sa g ´en ´eration `a partir du mod `ele formel de la sp ´ecification. L’utilisation d’outils pour g ´en ´erer automatiquement des cas de test r ´eduit consid ´erablement le co ˆut du processus de test et permet d’ ´evaluer sa qualit ´e par des mesure de couverture. Dans notre travail, nous nous int ´eressons au test de conformit ´e

(26)

consid ´er ´e ici comme un test fonctionnel permettant de v ´erifier si une implantation d’un syst `eme est conforme `a sa sp ´ecification. Ce concept de conformit ´e est exprim ´e `a l’aide d’une relation de conformit ´e.

1.2/

M

OTIVATIONS ET CONTRIBUTIONS

L’objectif de la th `ese est de contribuer `a la validation de la cat ´egorie des syst `emes r ´ecursifs temps-r ´eels mod ´elisables par des automates `a pile temporis ´es. Plusieurs approches de v ´erification ont ´et ´e ´elabor ´ees pour les automates tempo-ris ´es [ACD93][AAS12][BPDG98] et pour les automates `a pile [ABB97][BEM97b]. Il existe ´egalement de nombreux algorithmes de calcul des ensembles des ´etats accessibles. Par contre, peu de travaux ont ´et ´e effectu ´es pour des automates `a pile temporis ´es. Les tech-niques de v ´erification ´etant tr `es co ˆuteuses, nous orientons nos contributions sur le test de conformit ´e des impl ´ementations vis `a vis de leur mod `ele. Or, `a notre connaissance, il n’y a pas eu de travaux sur la g ´en ´eration de tests pour des syst `emes d ´ecrits `a base d’automates `a piles temporis ´es avec deadlines. C’est l’objet de cette th `ese. Nous allons donc nous int ´eresser `a cette probl ´ematique de g ´en ´eration de tests pour ce mod `ele. Cette g ´en ´eration doit faire face `a plusieurs probl `emes dont :

— discr ´etiser une infinit ´e d’ ´etats dans le cadre continu : ce probl `eme est d ˆu `a la continuit ´e du temps. La r ´eduction de l’espace d’ ´etats d’un domaine continu est une phase tr `es importante. Il s’agit d’un passage d’un domaine continu vers un domaine discret.

— limiter l’explosion combinatoire du nombre d’ ´etats dans le cadre discret : la g ´en ´eration des tests `a partir d’un syst `eme fini avec un nombre important d’ ´etats peut ˆetre un probl `eme difficile.

Les probl `emes sur lesquels nous contribuons sont :

— la d ´efinition d’une relation de conformit ´e pour les TPAIO.

— la d ´efinition de m ´ethodes de g ´en ´eration de tests limitant l’explosion combinatoire. — la d ´efinition de mesures de couverture de tests.

Vu qu’on s’int ´eresse au test de conformit ´e `a partir d’un automate `a pile temporis ´e avec entr ´ees/sorties et deadlines appel ´e TPAIO, notre premi `ere contribution est la d ´efinition d’une nouvelle relation de conformit ´e appel ´ee tpioco pour les TPAIO. C’est une adaptation de la relation tioco d ´efinie pour les TAIO. Les deadlines imposent des conditions de progression du temps dans des localit ´es du TPAIO. Une deadline peut ˆetre soit lazy (pas d’urgence), soit delayable (avant qu’il ne soit trop tard), soit eager (d `es que possible).

La deuxi `eme contribution est une solution algorithmique de complexit ´e polynomiale de g ´en ´eration de tests `a partir d’un automate `a pile temporis ´e d ´eterministe avec entr ´ees/sorties et deadline lazy seulement. Cette m ´ethode adapte aux automates `a pile temporis ´es une m ´ethode de calcul des ´etats accessibles d ´efinie pour des automates `a pile [FWW97]. L’adaptation consiste `a prendre en compte les contraintes de temps en plus des contraintes de pile. La m ´ethode consiste `a d ´efinir un algorithme de calcul d’un automate temporis ´e d’accessibilit ´e supprimant les contraintes de pile en les respectant. Cet algorithme d ´elivre ´egalement une table des chemins d’ex ´ecution permettant d’attein-dre chaque localit ´e `a partir de la localit ´e initiale. Nous d ´efinissons ´egalement un testeur `a

(27)

partir de l’automate `a pile temporis ´e de d ´epart. Enfin, `a partir de ce testeur et de la table des chemins d’ex ´ecution, pour les chemins ex ´ecutables en respectant les contraintes temporelles, nous produisons une suite de tests couvrant l’ensemble d’ ´etats. Pour limiter la complexit ´e `a une complexit ´e polynomiale, nous avons d ´efini volontairement un algorithme de calcul des automates temporis ´es d’accessibilit ´e incomplet. L’activit ´e de test ´etant par essence incompl `ete, cette limite n’est pas gravissime, mais a pour cons ´equence que certaines localit ´es atteignables peuvent ne pas ˆetre prises en compte dans les tests produits. Pour limiter cet inconv ´enient, nous avons d ´efini des heuristiques am ´eliorant le taux de couverture en pratique sur les exemples. Ce travail a donn ´e lieu `a la publication [MJMR15b].

La troisi `eme contribution est une m ´ethode de g ´en ´eration de tests `a partir d’un TPAIO d ´eterministe avec sorties seulement et deadline delayable seulement. Cette m ´ethode est appliqu ´ee pour tester des programmes temporis ´es r ´ecursifs. Notre m ´ethode adapte la m ´ethode de g ´en ´eration de tests `a partir d’automates temporis ´es [KT09] aux automates `a pile temporis ´es. Elle d ´efinit la g ´en ´eration d’un testeur `a pile temporis ´e d ´eterministe. Puis nous d ´efinissons une m ´ethode pour engendrer un automate d’accessibilit ´e. Enfin, nous engendrons une suite de tests couvrant les ´etats et les transitions atteignables. Comme les TPAIO sont des abstractions des programmes r ´ecursifs temporis ´es, les tests ne sont pas, dans le cas g ´en ´eral, assur ´es d’ ˆetre des ex ´ecutions concr `etes. C’est le cas de notre exemple qui est une abstraction d’un programme r ´ecursif auquel on a ajout ´e des contraintes temporelles. Pour s ´electionner les cas de test concrets et leurs donn ´ees, on propose d’utiliser une ex ´ecution symbolique qui est une interpr ´etation abstraite qui simule l’ex ´ecution du programme pour des donn ´ees en entr ´ee. Ce travail a donn ´e lieu `a la publication [MJMR15a].

La quatri `eme contribution est une g ´en ´eralisation du processus de g ´en ´eration de tests `a partir d’un TPAIO d ´eterministe avec sorties seulement et deadline delayable au cas des TPAIO non d ´eterministes avec entr ´ees/sorties et trois types de deadlines. La premi `ere ´etape est la construction d’un testeur `a partir d’un TPAIO donn ´e pour r ´esoudre les contraintes d’horloges, d ´eterminiser le TPAIO et produire des verdicts d’ ´echec f ail mod ´elisant des cas de non conformit ´e. La deuxi `eme ´etape est le calcul d’un automate d’atteignabilit ´e `a partir du testeur obtenu afin de calculer un ou plusieurs chemins en-tre deux localit ´es symboliques en respectant les contraintes de pile. La troisi `eme ´etape consiste `a g ´en ´erer des cas de tests en utilisant chaque transition de l’automate d’at-teignabilit ´e allant d’une localit ´e symbolique initiale vers une localit ´e symbolique finale. Les cas de tests sont individualis ´es pour v ´erifier si l’une des ex ´ecutions d’un mod `ele d’impl ´ementation conduit `a f ail. Dans le cadre d’une ex ´ecution des tests sur une v ´eritable impl ´ementation, il est pr ´ef ´erable de consid ´erer un arbre de tests afin de poursuivre l’ob-servation le plus loin possible pour limiter les verdicts inconclusifs. Nous ´evaluons la capacit ´e de notre m ´ethode `a d ´etecter des impl ´ementations non-conformes par une tech-nique de mutation qui permet de modifier automatiquement un TPAIO donn ´e par l’appli-cation d’un op ´erateur de mutation. Nos r ´esultats exp ´erimentaux montrent que la grande majorit ´e des mutants non-conformes sont d ´etect ´es. Ce travail a donn ´e lieu aux publica-tions [MJMR15d][MJMR15c].

(28)

1.3/

O

RGANISATION DU DOCUMENT

Ce m ´emoire est form ´e de trois parties.

La premi `ere partie contient les trois chapitres suivants. Le pr ´esent chapitre pr ´esente le contexte, les motivations et les objectifs de la th `ese. Nous introduisons des d ´efinitions, notations, propositions et th ´eor `emes indispensables `a la lecture de cette th `ese dans le chapitre 2. Nous pr ´esentons tout d’abord les notions relatives aux syst `emes de transition ´etiquet ´es, puis les notions relatives aux automates temporis ´es et enfin les notions relatives aux automates `a pile. Nous pr ´esentons d’abord dans le chapitre 3 quelques notions g ´en ´erales pour le domaine du test, en particulier sur les m ´ethodes de g ´en ´eration de tests `a partir de mod `eles et le test de conformit ´e. Nous pr ´esentons aussi des m ´ethodes de g ´en ´eration de tests `a partir d’un syst `eme de transition ´etiquet ´es, un automate temporis ´e avec entr ´ees/sorties et un automate `a pile.

La deuxi `eme partie contient les quatre chapitres suivants. Elle pr ´esente nos contribu-tions. Nous pr ´esentons dans le chapitre 4 le mod `ele sur lequel portent nos travaux et notre relation de conformit ´e pour ce mod `ele qui est notre premi `ere contribution. Le chapitre 5 pr ´esente notre solution algorithmique de complexit ´e polynomiale de g ´en ´eration de tests `a partir d’un automate `a pile temporis ´e avec entr ´ees/sorties o `u les deadlines de toutes les transitions sont lazy. Ce chapitre pr ´esente notre deuxi `eme contribution. Le chapitre 6 pr ´esente notre troisi `eme contribution qui est le test de conformit ´e `a partir d’un programme r ´ecursif temporis ´e mod ´elis ´e par des automates `a pile temporis ´es d ´eterministes o `u toutes les transitions ont pour deadline delayable. Notre quatri `eme contribution est pr ´esent ´ee dans le chapitre 7. C’est une m ´ethode de g ´en ´eration de tests

`a partir d’un TPAIO non d ´eterministe prenant en compte les trois types de deadline.

La troisi `eme partie contient le chapitre 8 qui cl ˆot ce m ´emoire de th `ese en pr ´esentant les conclusions et en exposant les perspectives de ces travaux.

(29)
(30)

P

R

ELIMINAIRES

´

Sommaire

2.1 Syst `emes de transitions ´etiquet ´es (LTS) et IOLTS . . . . 9

2.2 Automates temporis ´es . . . . 11

2.3 Discr ´etisation des automates temporis ´es . . . . 16

2.4 R `egles de simplification d’un automate temporis ´e avec −transitions 24

2.5 D ´eterminisation des automates temporis ´es . . . . 27

2.6 Automates `a pile . . . . 31

2.7 Conclusion . . . . 36

Dans ce premier chapitre, nous introduisons quelques notions et nous donnons des d ´efinitions des mod `eles qui sont largement utilis ´es pour sp ´ecifier des syst `emes com-portementaux et des syst `emes temps-r ´eel dans le but de les tester et de les v ´erifier. Nous commenc¸ons par introduire le mod `ele des syst `emes de transitions avec actions d’entr ´ees/sorties (section 2.1) qui permettent une observation externe des syst `emes. Nous d ´efinissons dans la section 2.2 le mod `ele classique des automates temporis ´es, tel qu’il a ´et ´e introduit par Alur et Dill dans [AD94] pour les v ´erifier par model-checking. Nous d ´efinissons aussi dans la section 2.2 le mod `ele des automates temporis ´es avec dead-lines (TAD) [BST98], le mod `ele de automates temporis ´es avec entr ´ees/sorties (TAIO) et la composition parall `ele de deux TAIO. Le temps ´etant interpr ´et ´e dans le domaine des nombres r ´eels, la s ´emantique d’un automate temporis ´e est un syst `eme de transition in-fini. La r ´eduction de l’espace d’ ´etats d’un domaine continu vers un domaine discret est une phase importante pour la v ´erification et le test formel des syst `emes temps-r ´eel. Nous pr ´esentons dans la section 2.3 des m ´ethodes de discr ´etisation des automates temporis ´es comme la r ´eduction par partitionnement en r ´egions, la r ´eduction par partitionnement en zones et la r ´eduction par discr ´etisation du temps. Nous donnons dans la section 2.4 des r `egles pour la simplification d’un automate temporis ´e. ´Etant donn ´e que le d ´eterminisme est n ´ecessaire pour la g ´en ´eration des cas de tests, nous pr ´esentons des m ´ethodes de d ´eterminisation des automates temporis ´es dans la section 2.5. Enfin, nous pr ´esentons dans la section section 2.6 les automates `a pile.

2.1/

S

YSTEMES DE TRANSITIONS

`

ETIQUET

´

ES

´

(LTS)

ET

IOLTS

Un syst `eme de transitions ´etiquet ´ees LTS (Labeled Transition System) [Arn94][BT00] est un mod `ele abstrait compos ´e d’un ensemble de transitions entre des ´etats. Ce mod `ele est utilis ´e pour donner une s ´emantique formelle `a des nombreuses descriptions de

(31)

s0 s1 s2 s3 s4 ?A !B !C τ τ FIGURE2.1 – Exemple d’IOLTS

syst `emes comportementaux comme les syst `emes d’ ´ev ´enements [Abr10], les automates, les automates `a pile, les automates temporis ´es, etc. Les syst `emes de transitions `a entr ´ees/sorties IOLTS (Input Output Labeled Transtion System) [Tre96] de Tretmans sont une extension des LTS qui font la distinction entre les actions contr ˆolables (les actions d’entr ´ees), les actions observables (les actions de sorties) et les actions internes not ´ees τ ni contrˆolables, ni observables. Ces distinctions de cat´egories d’actions permettent de d ´efinir des relations de conformit ´e entre une impl ´ementation et ce mod `ele.

Formalisons maintenant la notion d’IOLTS dans la Def. 1.

D ´efinition 1 : IOLTS [Tre96] - Syst `eme de Transitions avec Entr ´ees/Sorties

Un syst `eme de transitions avec entr ´ees/sorties (IOLTS) est un quadruplet T = hS, s0, Σin∪Σout∪ {τ}, ∆i o`u :

— S est un ensemble d’ ´etats, — s0est l’ ´etat initial,

— Σinest un ensemble fini de symboles d’actions d’entr ´ee,

— Σout est un ensemble fini de symboles d’actions de sortie,

— τ est une action interne,

— ∆ ⊆ S × Σin∪Σout∪ {τ} × S est un ensemble fini de transitions ´etiquet´ees

par un symbole d’action.

Chaque transition est un triplet tr= (s, a, s0) not ´ee s→ sa 0o `u :

— s est l’ ´etat source de la transition,

— a est une action qui peut ˆetre soit ?A, soit !B, soit τ pour respectivement mod ´eliser une action de r ´eception d’un symbole A ∈Σin, d’envoi d’un symbole B ∈Σout et de

r ´ealisation d’une action interne τ, — s0est l’ ´etat cible de la transition.

Un chemin π d’un IOLTS est une s ´equence finie de transitions : s0 a0 −−→ s1 a1 −−→ s2· · · sn−1 an−1 −−−→ sn. Dans le cas des IOLTS, un chemin repr ´esente une ex ´ecution du syst `eme mod ´elis ´e.

Sa trace est la s ´equence finie des symboles d’actions qui l’ ´etiquettent ρ= a0a1...an. Ainsi,

ρ appartient `a (Σin∪Σout∪ {τ})∗.

Notons qu’un LTS est classiquement un quadruplet (S , s0, Σ, ∆) o`u Σ ne repr´esente qu’une

seule cat ´egorie d’action o `u on ne distingue pas les entr ´ees, des sorties et des actions internes.

Exemple 2.1.1. La Fig 2.1 pr ´esente un exemple d’IOLTS o `u S = {s0, s1, s2, s3, s4}, τ est une action interne et inobservable,Σin = {A} et Σout = {B, C}.

(32)

Un blocage peut ˆetre observ ´e au niveau d’un ´etat. Cette notion est li ´ee `a l’absence d’ob-servation. Nous distinguons les trois types de blocages [Mor00] suivants :

— deadlock : aucune ´evolution possible, c’est `a dire qu’aucune transition n’est tirable `a partir d’un ´etat. C’est le cas de l’ ´etat s2du IOLTS pr ´esent ´e dans la Fig. 2.1. — outputlock : un ´etat est en blocage de sortie si le syst `eme est en ´etat d’attente

d’une action provenant de l’environnement. C’est le cas de l’ ´etat s0 de l’IOLTS

pr ´esent ´e dans la Fig. 2.1.

— livelock : Un ´etat est dans un livelock s’il existe un cycle d’actions internes. C’est le cas des ´etats s3 et s4de l’IOLTS pr ´esent ´e dans Fig. 2.1.

2.2/

A

UTOMATES TEMPORISES

´

Dans cette partie, nous allons d ´efinir une syntaxe et une s ´emantique des automates tem-poris ´es, des automates temtem-poris ´es avec deadlines et des automates temtem-poris ´es avec entr ´ees/sorties. Nous d ´efinissons aussi la composition parall `ele de deux automates tem-poris ´es avec entr ´ees/sorties.

2.2.1/ AUTOMATE TEMPORISE´

Les automates temporis ´es (TA pour Timed Automata) mod ´elisent des syst `emes temps r ´eel. Ils ont ´et ´e introduits par Alur et Dill dans [AD94]. Ce sont des automates munis d’horloges mod ´elis ´ees par des variables r ´eelles positives continues. Ils sont compos ´es d’un ensemble fini de localit ´es et d’une relation de transition entre ces localit ´es. Le temps s’ ´ecoule dans les localit ´es et les valeurs des horloges augmentent toutes `a la m ˆeme vitesse.

Soit X un ensemble d’horloges, Grd(X) est un langage de gardes d’horloge d ´efini par la conjonction d’expressions x ] n o `u x est une horloge de X, n est une constante de type entier et ] ∈ {<, ≤, >, ≥,=}. CC(X) est le langage des contraintes d’horloge d´efini comme des conjonctions d’expressions e ] n o `u e est soit x, x − x0.

Formalisons maintenant la notion de TA dans la Def. 2.

D ´efinition 2 : TA [AD94] - Automate Temporis ´e

Un automate temporis ´e (TA) est 6-uplet T = (L, l0, Σ, X, ∆, F) o`u :

— L est un ensemble fini de localit ´es, — l0 est la localit ´e initiale,

— Σ est un ensemble fini de symboles d’actions, — X est un ensemble fini d’horloges,

— F ⊆ L est un ensemble de localit ´es finales,

— ∆ ⊆ L × Σ × Grd(X) × 2X× Lest un ensemble fini de transitions.

Chaque transition est un quintuplet tr= (l, a, g, X0, l0) not ´e l a,g,X

0

−−−−→ l0 o `u : — l est la localit ´e source de la transition,

(33)

— g est la garde qui doit ˆetre satisfaite par les horloges de X,

— X0 est l’ensemble des horloges remises `a z ´ero lors du franchissement de la tran-sition,

— l0est la localit ´e cible de la transition. La s ´emantique d’un TA est un LTS < ST, sT

0, Σ ∪ R+, ∆

T > o`u sT

0 est l’ ´etat initial, S T

est un ensemble d’ ´etats et ∆T est un ensemble de transitions. Un ´etat de ST est un

couple (l, v) ∈ L × (X → R+) o `u l repr ´esente la localit ´e de contr ˆole courante et v est une valuation des horloges de l’ensemble X. La s ´emantique est un syst `eme de transition infini car chaque horloge peut prendre une infinit ´e de valeurs lors de l’ ´ecoulement du temps. Dans cette s ´emantique, il existe deux types de transitions qui sont des triplets dans l’ensemble ST × Σ ∪ R+× ST : (1) des transitions d’ ´ecoulement du temps : pour t ∈ R+, on note (l, v) →t (l, v0) si v0 = v + t et (2) des transitions discr`etes : pour A ∈ Σ,

on note (l, v) →A (l0, v0) s’il existe une transition (l, A, g, X0, l0) ∈ ∆ telle que v satisfasse g

et v0 = v[X0 := 0] o`u v[X0 := 0] repr´esente la remise `a z´ero des horloges de X0 dans la valuation d’horloges v.

Dans la section 2.3, nous pr ´esentons des m ´ethodes pour discr ´etiser ces LTS et donner `a un TA une s ´emantique par un LTS de taille finie permettant de d ´efinir des m ´ethodes algorithmiques de v ´erification.

2.2.2/ AUTOMATE TEMPORISE AVEC DEADLINES´

Un automate temporis ´e avec deadlines appel ´e TAD (Timed Automata with Deadlines) est une extension du mod `ele des TA en ajoutant aux transitions du TA des dead-lines [BST98][SY96]. Une transition avec deadline est un 6-uplet (l, A, g, d, X0, l0) not ´e

l a,g,d,X

0

−−−−−−→ l0 o `u d est une deadline, soit lazy, soit delayable, soit eager. Cette deadline d ´etermine la deadline du d ´eclenchement de l’action A. La deadline lazy n’exprime aucune deadline particuli `ere et permet `a l’action de A de se d ´eclencher quand sa garde g est satisfaite, mais, aussi au temps de s’ ´ecouler ind ´efiniment sans d ´eclencher A. La deadline delayable oblige, quand sa garde est satisfaite, l’action A `a se d ´eclencher avant que sa garde ne soit plus satisfaite : elle interdit au temps de s’ ´ecouler au del `a, sauf si l’instant initial d’arriv ´ee dans la localit ´e ´etait d ´ej `a au del `a de l’instant maximum o `u la garde peut ˆetre vraie. La deadline eager oblige l’action A `a se d ´eclencher aussit ˆot que sa garde est satisfaite. Au del `a le temps ne peut pas s’ ´ecouler, sauf si l’instant initial d’arriv ´ee dans la localit ´e est au del `a de l’instant maximum d ´ecrivant comment le temps est autoris ´e `a s’ ´ecouler par rapport au d ´eclenchement d’une transition. Ces conditions d’ ´ecoulement de temps sont appel ´ees TPC (Time Progress Condition). La Fig. 2.2 illustre les diff ´erents cas de deadline pour la garde g d’une transition. Le temps peut s’ ´ecouler ind ´efiniment avec la deadline lazy. Il ne peut pas s’ ´ecouler avec la deadline eager quand g est ´evalu ´e `a vrai. Il peut s’ ´ecouler avec la deadline delayable mais pas `a l’instant o `u le temps a atteint l’instant maximal o `u la garde g est vraie.

Dans la s ´emantique du TAD, il existe deux types de transitions satisfaisant des conditions suppl ´ementaires li ´ees aux deadlines :

Transition d’ ´ecoulement du temps : pour t ∈ R+, il y a une transition (l, v) →t

(l, v0) o `u v0 = v + t, si et seulement s’il n’existe pas de transition (l, a, g, d, X0, l0) ∈ ∆ telle que : (1). soit d = delayable et il existe t1 et t2 tels que 0 6 t1< t26 t, v + t1 g

(34)

et v+ t22 g, (2). soit d = eager et il existe t1 tel que 0 6 t1< t et v + t1  g.

Transition discr `ete : pour A ∈Σ, il y’a une transition (l, v) →A (l0, v0) s’il existe une

transition (l, A, g, d, X0, l0) ∈∆ et que v satisfait la garde g et que v0 = v[X0:= 0], c’est `a dire v0 est la valuation de v dans laquelle les horloges de X0 ont ´et ´e remises `a

z ´ero.

FIGURE2.2 – R ´epr ´esentation des TPC pour une transition de garde g, selon la deadline-Les ’X’ repr ´esentent les instants o `u le temps n’est pas autoris ´e `a s’ ´ecouler dans la localit ´e source de la transition de garde g et de deadline indiqu ´e

Les auteurs de [BST98] ne permettent pas que les gardes des transitions avec deadline delayablesoient sous la forme x < c (inf ´erieur strict) car il n’existe pas de ”dernier instant” avant c o `u la garde est encore vraie. Ils ne permettent pas non plus que les gardes des transitions avec deadline eager soient sous la forme x > c (sup ´erieur strict) car il n’y a pas de ”premier instant” apr `es c o `u la garde n’est plus vraie.

l1

l2 l3

A, 1 6 x 6 5, d1 B, 4 6 y 6 6, d2

FIGURE2.3 – Partie d’un exemple de TAD

On pr ´esente dans la table 2.1 la TPC de la localit ´e l1 du TAD pr ´esent ´e dans la Fig. 2.3

pour les diff ´erents types de deadline pour les deux transitions (l1, A, 1 6 x 6 5, d1, ∅, l2)

et (l1, B, 4 6 y 6 6, d2, ∅, l3). La valuation d’horloge dans la localit ´e l1 est une valuation

quelconque. Le temps peut s’ ´ecouler ind ´efiniment dans la localit ´e l1 si d1 = lazy et d2 =

lazy. Pour d1 = delayable et d2 = lazy, le temps ne peut s’´ecouler que si x , 5. Par contre,

le temps ne peut s’ ´ecouler dans l1que si x < 1 ∨ x > 5 pour d1= eager et d2= lazy car si la

valeur courante de l’horloge x `a l1est inf ´erieure `a 1, alors, le temps peut s’ ´ecouler avant

que la valeur d’horloge x atteigne la valeur 1. Mais, si la valeur courante de l’horloge x `a l1 est strictement sup ´erieure `a 5, alors, le temps peut s’ ´ecouler ind ´efiniment et il n’est

pas permis de franchir la transition ´etiquet ´ee avec A. Si d1= delayable et d2 = eager, alors,

(35)

l’horloge x soit diff ´erente de 5 ou que la valeur d’horloge y d ´epasse 6 et que la valeur de l’horloge x soit diff ´erente de 5.

d1= lazy d1 = delayable d1= eager

d2= lazy true x , 5 x< 1 ∨ x > 5

d2= delayable y , 6 y , 6 ∧ x , 5 y , 6 ∧ (x < 1 ∨ x > 5)

d2= eager y< 4 ∨ y > 6 (y < 4 ∨ y > 6) ∧ x , 5 (y < 4 ∨ y > 6) ∧ (x < 1 ∨ x > 5)

TABLE2.1 – TPC de la localit ´e l1du TAD de la fig. 2.3 en fonction des deadlines d1et d2

2.2.3/ AUTOMATE TEMPORISE AVEC ENTR´ EES´ /SORTIES (TAIO)

Un automate temporis ´e avec entr ´ees/sorties (TAIO pour Timed Automata with Inputs and Outputs) [KT09] est un automate temporis ´e avec deadlines en consid ´erant que Σ = Σin ∪Σout ∪ {τ} o`u Σin est un ensemble fini de symboles d’entr ´ees, Σout est un

en-semble fini de symboles de sorties et τ est une action interne et inobservable. L’environ-nement, ainsi qu’un testeur, envoie des commandes deΣinet observe des sorties deΣout.

L’impl ´ementation sous test (IUT pour Implementation Under Test), envoie des actions observable de Σout et accepte des commandes de Σin. Pour un TAIO, il est n ´ecessaire

d’introduire :

• Son chemin π est une s ´equence finie de transitions : l0

a0,g0,d0,X0 −−−−−−−−→ l1 a1,g1,d1,X1 −−−−−−−−→ l2· · · ln−1 an−1,gn−1,dn−1,Xn−1 −−−−−−−−−−−−−−→ ln.

• Son ex ´ecution est un chemin de l’IOLTS qui d ´efinit sa s ´emantique. Il alterne des transitions d’ ´ecoulement de temps et des actions discr `etes. σ= (l0, v0) →t0 (l0, v0+

t0) →a0 (l1, v1) →t1 (l1, v1+ t1) →a1 (l2, v2) →t2 ... →an−1 (ln, vn) o `u ti ∈ R+et ai∈Σ pour

chaque 0 6 i 6 n − 1 est une ex ´ecution de π si vi satisfait gipour 0 6 i < n et si les

ti satisfont les TPC.

• Sa trace est une s ´equence finie ρ= t0a0t1a1...tnande (Σ ∪ R+)∗.

sT0 →ρ s signifie que l’ ´etat s est atteignable `a partir de l’ ´etat initial sT

0, i.e. il existe une

ex ´ecution σ `a partir de sT

0 vers s dont la trace est ρ. s T 0 →

ρ signifie qu’il existe s0 tel que

sT0 →ρ s0. On note RT (Σ) l’ensemble des traces finies (Σ∪R)∗. Pour une trace ρ, on d ´efinit : • PΣ1(ρ) est la projection de la trace ρ sur Σ1 ⊆ Σ en conservant les d´elais (et en

cumulant ceux qui se succ `edent directement). Par exemple, si ρ = 5a4b2, alors, P{a}(ρ)= 5a42 = 5a6.

• T ime(ρ) est la somme de tous les d ´elais de ρ. Par example, T ime(5a42)= 11. Soit un TAIO T , on dit que :

• T est d ´eterministe si pour toute localit ´e l dans L, pour chaque action a dans Στ et pour tous les couples de transitions distinctes t1 = (l, a, g1, X1, l1) et t2 =

(l, a, g2, X2, l2) dans∆ alors g1∧ g2 n’est pas satisfiable.

• T est observable s’il n’existe aucune transition ´etiquet ´ee par τ.

• Reach(T ) = {sT ∈ ST | ∃ρ.(ρ ∈ RT (Σ) ∧ sT0 →ρ sT} est l’ensemble des ´etats at-teignables du TAIO T .

• T est non bloquant si ∀(s, t).(s ∈ Reach(T )∧t ∈ R+⇒ ∃ρ.(ρ ∈ RT (Σout∪{τ})∧T ime(ρ) =

(36)

• T est complet en entr ´ee s’il accepte n’importe quelle entr ´ee dans chaque localit ´e. Deux TAIO peuvent synchroniser leurs actions de sorties et d’entr ´ees. Soit T1 =

(LT1, lT1 0 , Σ T1 in ∪Σ T1 out∪ {τ T1}, XT1, ∆T1, FT1) et T 2= (LT2, lT02, ΣTin2∪Σ T2 out∪ {τ T2}, XT2, ∆T2, FT2) deux

TAIO. L’expression A ∈ ΣT1→T2 signifie que A ∈ Σ

T1 out et A ∈ Σ T2 in. A ∈ ΣT2→T1 signifie que A ∈ ΣT1 in and A ∈ Σ T2

out. Deux TAIO T1 et T2 o `u ΣT2→T1 ⊆ Σ

T1 in ∩Σ T2 out etΣT1→T2 ⊆ Σ T1 out ∩Σ T2 in

sontcompatiblessi XT1∩ XT2 = ∅, les ensembles Σ

T1→T2,Σ T1 out\ΣT1→T2,ΣT2→T1,Σ T1 in \ΣT2→T1, ΣT2 in \ΣT1→T2 etΣ T2

out\ΣT2→T1 sont disjoints deux `a deux, T1et T2 sont complets en entr ´ees

et toutes les transitions avec entr ´ees sont lazy.

Exemple 2.2.1. La Fig. 2.4 montre un exemple de TAIO. Ce TAIO est pr ´esent ´e

dans [KT05]. Il mod ´elise un syst `eme de d ´etection d’action de simple ou double clic d’une souris. Dans la localit ´e l1, la transition l1

?clic,x<1,lazy

−−−−−−−−−−→ l2 est d ´eclenchable tant

que x < 1, mais si le temps s’ ´ecoule jusqu’ `a 1 sans arriv ´ee de clic, alors la transition l1

!simple,x=1,eager,{x}

−−−−−−−−−−−−−−−−→ l0est franchie en deadline et le syst `eme reconnait donc un simple clic.

La transition l1

?clic,x<1,lazy

−−−−−−−−−−→ l2 n’est alors plus franchissable. Si le deuxi `eme clic arrive tant

que x < 1 est vraie, il est pris en compte par la s ´equence l1, l2, l0. Les autres clics qui

arriveraient apr `es x = 1 sont ignor´es par la transition r´eflexive l2 → l2. Un n-clic est un

double clic avec n > 2.

l0 l1 l2 ?clic, lazy !simple, x= 1, eager, {x} ?clic, x < 1, lazy ?clic, x < 1, lazy !double, x= 1, eager, {x}

FIGURE2.4 – TAIO de reconnaissance de clics simple ou double

2.2.4/ COMPOSITION PARALLELE DE DEUX` TAIO

La composition parall `ele de syst `emes temporis ´es est consid ´er ´ee comme une extension de la composition parall `ele de syst `emes non temporis ´es. Soit T1 = hL1, l10, Σ1in ∪Σ1out ∪

{τ1}, X1, ∆1, F1iet T

2 = hL2, l20, Σ2in∪Σ2out∪ {τ2}, X2, ∆2, F2ideux TAIO compatibles. La

com-position parall `ele de T1et T2est un TAIO dont les transitions sont d ´efinies selon les r `egles

suivantes :

• T1 ´evolue ind ´ependamment sur une action qui est une de ses actions d’entr ´ee ou

de sortie ou interne et qui n’est ni une action de sortie ni une action d’entr ´ee dans T2.

• T2 ´evolue ind ´ependamment sur une action qui est une de ses actions d’entr ´ee ou

de sortie ou interne et qui n’est ni une action de sortie ni une action d’entr ´ee dans T1.

• les transitions de T1et T2se synchronisent sur les actions communes qui sont des

(37)

• les transitions de T1et T2se synchronisent sur les actions communes qui sont des

actions de sortie de T2 et d’entr ´ee de T1.

Formalisons maintenant la notion de composition parall `ele de deux TAIO dans la Def. 3.

D ´efinition 3 : Composition parall `ele de deux TAIO [KT09]

Soit T1 = hLT1, lT01, ΣTin1 ∪Σ T1

out ∪ {τT1}, XT1, ∆T1, FT1i et T2 = hLT2, lT02, ΣTin2 ∪Σ T2

out ∪

{τT2}, XT2, ∆T2, FT2ideux TAIO compatibles, la composition parall `ele PC = T

1 k T2 est le TAIO hLT1 × LT2, (lT1 0 , l T2 0 ),Σ T1 in ∪Σ T1 out, X T1 ∪ XT2, ∆, FT1 × FT2i o `u ∆ est une

relation de transition telle que :

(i) ((lT1, lT2), a, gT1, dT1, XT10, (lT10, lT2)) ∈ ∆ si (lT1, a, gT1, dT1, XT1, lT10) ∈ ∆T1 et a ∈(ΣT1 out\Σ T2 in) ∪Σ T1 in \Σ T2 out) ∪ {τ T1}. (ii) ((lT1, lT2), a, gT2, dT2, XT20, (lT1, lT20)) ∈∆ si (lT2, a, gT2, dT2, XT1, lT20) ∈ ∆T2 et a ∈(ΣT2 out\Σ T1 in) ∪ (Σ T2 in \Σ T1 out) ∪ {τT2}. (iii) ((lT1, lT2), a, gT1 ∧ gT2, dT1, XT1 ∪ XT2, (lT10, lT20)) ∈ ∆ si (lT1, a, gT1, dT1, XT1, lT10) ∈∆T1 et (lT2, a, gT2, XT2, lazy, lT20) ∈∆T2 et a ∈Σ T1−→T2. (iv) ((lT1, lT2), a, gT1 ∧ gT2, dT2, XT1 ∪ XT2, (lT10, lT20)) ∈ ∆ si (lT1, a, gT1, lazy, XT1, lT10) ∈∆T1 et (lT2, a, gT2, XT2, dT2, lT20) ∈∆T2 et a ∈Σ T2−→T1.

2.3/

D

ISCRETISATION DES AUTOMATES TEMPORIS

´

ES

´

La s ´emantique d’un automate temporis ´e est un syst `eme de transition infini. Des tech-niques d’abstraction vers des syst `emes de transition de taille finie ont ´et ´e propos ´ees dans la litt ´erature pour d ´efinir des m ´ethodes de v ´erification algorithmiques. N ´eanmoins la com-plexit ´e de ces m ´ethodes est telle qu’elles sont difficilement applicables sur des syst `emes r ´eels. La probl ´ematique est donc de d ´efinir des m ´ethodes de v ´erification et/ou de valida-tion dont la complexit ´e les rend utilisables en pratique sur des mod `eles de grande taille. Nous pr ´esentons dans la partie 2.3.1 une technique de r ´eduction de l’espace d’ ´etats par partitionnement en r ´egions. Une technique de r ´eduction par partitionnement en zones de l’espace d’ ´etats est pr ´esent ´e dans la partie 2.3.2. Nous ´evoquons une m ´ethode de r ´eduction par discr ´etisation du temps dans la partie 2.3.3.

2.3.1/ R ´EDUCTION PAR PARTITIONNEMENT EN REGIONS´

Dans cette partie, on s’int ´eresse `a une technique de r ´eduction de l’espace d’ ´etats. Cette technique est une technique de partitionnement en r ´egions. Elle permet de passer d’un domaine dense `a un domaine discret. L’ensemble infini des ´etats est partitionn ´e selon une relation d’ ´equivalence en des groupes qui sont des classes d’ ´equivalence d’ ´etats appel ´ees des r ´egions. En appliquant cette technique, on obtient un automate appel ´e

Automates de r ´egions.

Avant de d ´efinir la relation d’ ´equivalence (voir Def. 4), les notations utilis ´ees sont : • fract(t) : la partie d ´ecimale de t, btc : la partie enti `ere de t.

• pour tout x de X, on note par cx la constante la plus grande apparaissant dans les

(38)

D ´efinition 4 : ´Equivalence de deux valuations d’horloges [AD94]

Deux valuations v1et v2 sont ´equivalentes, ce que l’on note v1 v2si :

1. Pour toute horloge x ∈ X, soit bv1(x)c = bv2(x)c, soit v1(x) > cx et v2(x) > cx.

2. Pour toutes horloges x1, x2 ∈ X telle que v1(x1) ≤ cx1 et v2(x2) ≤ cx2,

fract(v1(x1)) ≤fract(v1(x2)) si et seulement si fract(v2(x1)) ≤fract(v2(x2)).

3. Pour toute horloge x ∈ X telle que v1(x)6 cx, fract(v1(x))= 0 si et seulement

si fract(v2(x))= 0.

Le nombre de r ´egions d ´epend `a la fois de la valeur maximale qui peut ˆetre atteinte par une horloge de X et du nombre d’horloges.

Exemple 2.3.1. L’ensemble des r ´egions dans le cas cx = 2 avec une seule horloge x est

d ´efini ainsi : R= {0, ]0, 1[, 1, ]1, 2[, 2, ]2, ∞[} et repr´esent´e ainsi :

La Fig. 2.5 pr ´esente 28 r ´egions dans le cas cx = 2 et cy= 1 avec deux horloges x et y.

FIGURE2.5 – Ensemble des r ´egions dans le cas cx= 2 et cy = 1

D ´efinition 5 : Successeur d’une r ´egion [AD94]

La r ´egion r0 est la r ´egion suivante de r, not ´ee succ(r)= r0 si et seulement si : ∀v.(v ∈ r ⇒ ∃t.(t ∈ R+∧ v+ t ∈ r0∧ ∀t0.(t0 < t ⇒ v + t0 ∈ (r ∪ r0)))

Un automate des r ´egions est une abstraction finie d’un automate temporis ´e, tout en pr ´eservant des propri ´et ´es int ´eressantes. Il est form ´e d’un ensemble fini d’ ´etats qui sont des couples (l, α) o `u l ∈ L et α est une r ´egion d’horloge. Il permet d’ ´etudier les propri ´et ´es d’un automate temporis ´e car il y a une bisimulation temporelle entre un automate tempo-ris ´e et son automate des r ´egions. Il est formellement d ´efini dans la Def. 6.

(39)

D ´efinition 6 : Automate des r ´egions [AD94]

Soit T = (L, l0, Σ, X, T, F) un TA, son automate des r´egions R(T) = hST, sT0, Σ, ∆Ti

est un LTS d ´efini ainsi :

• Les ´etats de ST sont des couples (l, α) o `u l ∈ L et α est une r ´egion d’hor-loge.

• L’ ´etat initial est sT

0 = (l0, [v0]) o `u v0(x)= 0 pour toute horloge de X.

• Il y a un arc ((l, α), a, (l0, α0)) dans∆T si et seulement s’il existe une transi-tion (l, a, g, X0, l0) dans T et une r ´egion d’horloge α” telles que :

— α” est le successeur de α (voir Def. 5), — α” satisfait g

— α0= α”[X0:= 0]

Exemple 2.3.2. La Fig. 2.6 pr ´esente un exemple d’un automate temporis ´e muni de deux

horloges x et y et qui est pr ´esent ´e dans [AD94].

l0 l1 l2 l3 d, x > 1 c, y > 0 ∧ x < 1 a, y < 1,{y} a,{y} b, y= 1 c, x < 1

FIGURE2.6 – TA `a deux horloges

l0, x = y = 0 l1, 0 = y < x < 1 l1, y = 0, x = 1 l1, y = 0, x > 1 l2, 1 = y < x l3, 0 < y < x < 1 l3, 0 < y < 1 < x l3, 1 = y < x l1, x > 1, y > 1 a a a a a a b b b c d d d d d d d d

(40)

La Fig. 2.7 pr ´esente une partie de l’automate des r ´egions de l’automate temporis ´e pr ´esent ´e dans la Fig. 2.6. Seules les r ´egions accessibles `a partir de la r ´egion initiale (l0, x = y = 0) sont pr´esent´ees. Nous avons Cx= 1 et Cy= 1. L’´etat initial est (l0, x = y = 0).

On a trois r ´egions `a partir de l’ ´etat initial x = y ∧ 0 < x < 1, 1 , x = y ∧ x > 1. Donc, on peut atteindre trois nouveaux ´etats `a partir de l’ ´etat initial par l’action a mais dans trois r ´egions distinctes. Il y a par exemple l’arc ((l0, x = y = 0), a, (l1, y = 0, 0 < x < 1)) car la

r ´egion y= x ∧ 0 < x < 1 est le successeur de x = y = 0. La r´egion y = 1 ∧ x = 1 satisfait la garde true et la r ´egion y= 0, x = 1 est ´egale `a (y = 1, x = 1)[y := 0]. On trouve aussi les arcs ((l0, x = y = 0), a, (l1, 0 = y < x < 1)) et ((l0, x = y = 0), a, (l1, y = 0, x > 1)). La transition

(l2, c, x < 1, ∅, l3) n’est pas d ´eclenchable car pour quand y est ´egal `a 1 dans la localit ´e l2,

alors, la valeur de l’horloge x est sup ´erieure `a 1.

A la fin de cette phase, on obtient un graphe des r ´egions de taille exponentielle. Le graphe des r ´egions est donc exponentiel selon le nombre d’horloges et selon le codage binaire de la constante maximale qui peut ˆetre atteinte par les horloges. Cette m ´ethode de partitionnement de l’espace infini d’ ´etats en un ensemble fini de r ´egions a ´et ´e largement utilis ´ee pour la v ´erification d’accessibilit ´e sur les syst `emes temps-r ´eel. Elle permet de montrer la d ´ecidabilit ´e du probl `eme du vide pour la classe des automates temporis ´es. Le probl `eme du vide est de tester si le langage reconnu par l’automate est vide ou non.

Th ´eor `eme 2.3.1 (Probl`eme de vide [AD94] ). Le probl `eme du vide est d ´ecidable pour les

automates temporis ´es. C’est un probl `eme PSPACE-complet.

L’automate des r ´egions est un automate d’ ´etats fini reconnaissant exactement le m ˆeme langage non temporis ´e que son automate temporis ´e. Le probl `eme d’accessibilit ´e con-siste `a d ´ecider si un ´etat de contr ˆole dans un automate temporis ´e donn ´e est atteignable. La d ´ecidabilit ´e de l’accessibilit ´e dans un automate temporis ´e est une propri ´et ´e primor-diale dans l’utilisation de ce mod `ele pour la v ´erification et pour le test. Les automates temporis ´es poss `edent une infinit ´e d’ ´etats, ce qui rend d ´elicate la g ´en ´eration de tests `a partir d’un tel mod `ele.

Th ´eor `eme 2.3.2. L’accessibilit ´e d’un ´etat de contr ˆole dans un automate temporis ´e est un

probl `eme PSPACE-complet [AD94] [AD90a].

La preuve de d ´ecidabilit ´e pour ce probl `eme est fond ´ee sur le graphe des r ´egions.

Th ´eor `eme 2.3.3. Une localit ´e l est accessible dans un automate temporis ´e T si et

seule-ment si un ´etat de la forme (l, r) est accessible dans son graphe des r ´egions.

2.3.2/ R ´EDUCTION PAR PARTITIONNEMENT EN ZONES [DT98]

Les r ´egions, introduites dans la sous-section 2.3.1, constituent une repr ´esentation sym-bolique. Cependant, le nombre de r ´egions est exponentiel dans la taille de l’automate. Pour v ´erifier ce mod `ele par model-checking, il est n ´ecessaire de maitriser sa taille m ˆeme s’il est un mod `ele fini. La plus commun ´ement utilis ´ee est la repr ´esentation symbolique appel ´ee zone qui est utilis ´ee dans la majorit ´e des algorithmes d ´evelopp ´es pour les syst `emes temporis ´es et qui est plus compacte que les r ´egions.

Une zone d’horloges [BCBB09] est un espace convexe d ´efini par une conjonction d’in ´egalit ´es qui comparent soit une valeur d’horloge `a un nombre entier ou la diff ´erence

(41)

entre deux valeurs d’horloge `a un nombre entier. Elle est sous la forme : V

06i, j6nb

xi− xj ≺ ni j o `u ≺ ∈ {<, 6}, nb est le nombre d’horloges, ni j ∈ N et xisont des horloges. On

introduit une horloge sp ´eciale x0qui est toujours ´egale `a z ´ero.

Exemple 2.3.3. La figure ci-dessous donne un exemple d’une repr ´esentation graphique

de la zone x − x0> 1 ∧ y 6 3 ∧ x − y < 2 `a deux horloges x et y avec x0qui est une horloge

constante `a valeur 0.

2.3.2.1/ GRAPHE DES ZONES

L’abstraction par graphe des zones propose une solution pour r ´eduire l’espace d’ ´etats tout en pr ´eservant des propri ´et ´es d’accessibilit ´e ´equivalente au graphe des r ´egions. Chaque

´etat du graphe est un couple localit ´e et zone. Il est formellement d ´efini dans la Def. 7.

D ´efinition 7 : Graphe des zones [DT98]

Soit T = (L, l0, Σ, X, T, F) un TA, son graphe des zones Z(T) hST, sT0, Σ, ∆Tiest un

LTS d ´efini ainsi :

• Les ´etats de ST sont des couples (l, z) o `u l ∈ L et z est une zone. • L’ ´etat initial est sT

0 = (l0, z0) o `u l0est la localit ´e initiale de T et z0est la zone

initiale telle que toutes les horloges de X sont initialis ´ees `a z ´ero.

• Il y a un arc ((l, z), a, (l0, z0)) dans∆Tsi et seulement s’il existe une transition (l, a, g, X0, l0) dans T et une zone z” telles que :

— z00 = est le successeur de z,

— z00 satisfait g, — z0 = z00[X0:= 0] ,

— z0 = K − approximation(z0) ,

— z0 est une zone non vide.

L’op ´eration K-approximation est bien d ´etaill ´ee dans la sous section Sec. 2.3.2.3. C’est une op ´eration d’extrapolation. Elle permet d’assurer la terminaison de la construction du graphe des zones et que le nombre des ´etats du graphe des zones soit fini. On a be-soin d’une structure de donn ´ees pour repr ´esenter les zones. Une DBM est une structure de donn ´ees qui permet de tester l’inclusion de deux zones et de calculer ais ´ement les diff ´erentes op ´erations sur les zones comme l’intersection de deux zones, le successeur d’une zone, l’image d’une zone par une remise `a z ´ero et la k-approximation d’une zone.

(42)

2.3.2.2/ LESDBMS

Une DBM (pour Difference Bounded Matrix) [Dil89] est une structure de donn ´ees qui permet de repr ´esenter des syst `emes de contraintes de diff ´erences [CLRS09], mais elle a un int ´er ˆet particulier pour la v ´erification des syst `emes temporis ´es car elle permet de repr ´esenter les zones. Chaque zone d’horloges peut ˆetre repr ´esent ´ee par une DBM. Les DBMpeuvent ˆetre utilis ´ees pour ´evaluer la satisfiabilit ´e d’une zone donn ´ee.

Une DBM d’une zone d’horloges z est une structure de donn ´ees permettant de repr ´esenter une zone par une matrice carr ´ee M de dimension nb × nb o `u nb est le nombre d’horloges de z, incluant une horloge sp ´eciale x0 qui est toujours ´egale `a z ´ero.

Un ´el ´ement Mi, jest sous la forme (ni j, ≺) o`u ni j ∈ N et ≺∈ {<, 6}.

La Fig. 2.8 montre une DBM M qui repr ´esente la zone d ´efinie ainsi : 1 6 x1 6 4 ∧

16 x26 3 ∧ x1− x26 1. Par exemple M2,1 = x2− x1 = (2, 6). La valeur de 2 est obtenue :

on a 1 6 x1 6 4 et 1 6 x26 3 donc 1 − 4 6 x2− x16 3 − 1. xi− xj x0 x1 x2 x0 (0,6) (−1,6) (−1,6) x1 (4,6) (0,6) (1,6) x2 (3,6) (2,6) (0,6) FIGURE2.8 – DBM de la contrainte 1 6 x16 4 ∧ 1 6 x26 3 ∧ x1− x26 1

Les DBM peuvent ˆetre utilis ´ees aussi pour ´evaluer la satisfiabilit ´e d’une zone. Une DBM est non satisfiable si et seulement si la condition suivante est v ´erifi ´ee :

nb−1

X

i=0

(Mi,i+1)+ Mnb,1< (0, 6) (2.1)

L’addition de deux ´el ´ements Mi, j = (n, e) et Mi1, j1 = (n1, e1) est ´egale `a (n+ n1, min(e, e1))

o `u < est repr ´esent ´e par 0 et 6 par 1.

Les op ´erations d’intersection de deux zones, de remise `a z ´ero d’une zone, de calcul du successeur d’une zone sont d ´efinies sur la structure de donn ´ees DBM.

Intersection de deux zones z ∩ z0 : Soit M et M0 deux DBM qui repr ´esentent les zones z et z0 et M00 = M ∩ M0, l’intersection de M et M0 est une DBM M00 telle que

M00i, j = min(Mi, j, M0i, j).

Remise `a z ´ero d’une zone : La remise `a zero d’un ensemble d’horloges X0 dans une

zone z est ´egale z0 = z[X0 := 0]. La zone z est repr´esent´ee par la DBM M. La zone z0 est repr ´esent ´ee par la DBM M0 telle que :

Figure

Figure 4.2 illustre ACV

Références

Documents relatifs

Figure 3 shows the strength of the hardened bodies of dimension 4 x 4 x 16 cm of silasparite(2) blended wich slaked lime and pressure formed at 10 kg/cm2 to make

En adaptant les param` etres de la mesure (temps de contact, force de contact et densit´ e des mol´ ecules pr´ esent´ ees, voir section 3.6 ), les forces de ruptures seront dans

La notion d’orientation de chaˆınes de nombres fait toucher du doigt cette grande complexit´ e de la loi de r´ eciprocit´ e quadratique : si l’on place les classes de restes sur

A.11 Performances des stratégies basées sur les indicateurs Haar j et les moyennes mobiles sur les positions vendeuses de 2000 à 2015 sur les données du S&amp;P500 à la fermeture sur

Alors H est

` A cet effet, on utilise le lemme des sous-sous-suites suivant (qui se d´emontre ais´ement en raisonnant par l’absurde), et qui parfois de bien pr´ecieux services :.. Lemme

La quantité de méthanol traversant l’électrolyte peut être déterminée à partir du volume de CO 2 produit à la cathode (en supposant une réaction de tout le méthanol

Un joueur a trois pi` eces dans sa poche, deux normales et la troisi` eme ayant deux cˆ ot´ es “pile” (toutes les pi` eces sont ´ equilibr´ ees). Il prend au hasard une pi` ece