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�
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
FST-Tunis, Tunisie (Laboratoire LIP2) et Université de Bourgogne Franche Comté, France (Laboratoire femto-st)
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
H ANA M’HEMDI
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 laboratoire 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.
v
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) etIOLTS. . . 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 deuxTAIO . . . 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 vii
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 ´eioco . . . 45
3.2.2 G ´en ´eration de test `a partir d’unIOLTS . . . 46
3.3 G ´en ´eration de tests `a partir dePA . . . 47
3.3.1 Mod ´elisation d’un programme r ´ecursif par unPA . . . 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 deTAIO . . . 50
3.4.1 Test de conformit ´e `a partir d’unTAIO . . . 50
3.4.1.1 Relation de conformit ´etioco . . . 50
3.4.1.2 G ´en ´eration de tests analogiques . . . 51
3.4.1.3 Test digital . . . 53
3.4.2 Test par model checking . . . 53
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 ´etpioco . . . 64
4.3 Atteignabilit ´e dans unTPAIO . . . 65
4.4 Conclusion . . . 66
5 G ´en ´eration de tests `a partir d’unTPAIO d ´eterministe 67 5.1 Processus de g ´en ´eration de tests . . . 68
5.2 Construction d’un testeur `a partir d’unTPAIO . . . 69
5.3 Calcul d’unRTA `a partir d’unTPAIO . . . 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’unRTAfini 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’unTPAIO . . . 93
6.3 Calcul d’unRA `a partir d’unSTPTIO . . . 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 7 Test de conformit ´e `a partir d’unTPAIO avec deadlines 109
7.1 Construction d’unSTPTIO `a partir d’unTPAIO . . . 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’unTPAIO . . . 116
7.4.2 Produit synchronis ´e d’une impl ´ementationIet 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
8.2 Perspectives . . . 128
2.1 Exemple d’IOLTS . . . 10
2.2 R ´epr ´esentation desTPCpour une transition de gardeg, 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 gardeget de deadline indiqu ´e . . 13
2.3 Partie d’un exemple deTAD . . . 13
2.4 TAIO de reconnaissance de clics simple ou double . . . 15
2.5 Ensemble des r ´egions dans le cascx =2etcy =1 . . . 17
2.6 TA `a deux horloges . . . 18
2.7 Automate des r ´egions duTAde la Fig. 2.6 . . . 18
2.8 DBMde la contrainte16x164∧16x2 63∧x1−x2 61 . . . 21
2.9 (a). DBM de la gardeg, (b). DBM dez∩g, (c). DBM dez∩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] deva(l1,−26x−y61). La zone−26x−y61est gris ´ee 29 2.14 (a)TAet (b) sonDTA. . . 31
2.15 Possibilit ´es de calcul d’une nouvelle-transition . . . 34
2.16 (a) unPAet (b) sonRA . . . 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 PAmod ´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 sonTAIO . . . 53 xi
3.10 Exemple de test digital duTAIOpresent ´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’unTPAIO . . . 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’unTPAIO . . . 68
5.2 Exemple d’unTPAIO . . . 71
5.3 Testeur associ ´e auTPAIO de la Fig 5.2 . . . 72
5.4 Un exemple d’applicabilit ´e infinie de la r `egleRA3 . . . 76
5.5 Un exemple d’applicabilit ´e infinie de la r `egleRA4 . . . 77
5.6 Possibilit ´es de calcul d’une nouvelle-transition . . . 78
5.7 Arbre de tests duTPAIOde la Fig 5.2 . . . 87
5.8 RTA(b) repr ´esentant l’atteignabilit ´e incompl `ete duTPAIO (a) . . . 88
6.1 Processus de g ´en ´eration de tests `a partir d’unTPAIO . . . 92
6.2 (b) partie duSTPTIOduTPAIO (a) sans les transitions vers f ailetinconc . 96 6.3 TPAIO mod ´elisant le programme de la Fig. 3.3.1 . . . 98
6.4 Testeur (STPTIO) associ ´e auTPAIOde la Fig. 6.3 . . . 99
6.5 Deux cas de tests duTPAIOde la Fig. 6.3 . . . 104
6.6 DeuxSTPTIO (b) et (c) deTPAIO (a) (sans les localit ´es vers f ail). (c) est plus pr ´ecis que (b) . . . 108
7.1 Exemple d’unTPAIOnon d ´eterministe . . . 113
7.2 Testeur (STPTIO) associ ´e auTPAIOde 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 actionn−clics (n>1) . . . 120
7.5 Mutants non conformes et non d ´etect ´es duTPAIO de la Fig. 7.4 . . . 121
7.6 Mutants non-conformes et d ´etect ´es duTPAIO de la Fig. 7.4 . . . 122
7.7 (a). Exemple d’unTPAIOet (b). de l’un de ses mutants . . . 122
7.8 Deux cas de tests couvrant toutes les transitions pour leTPAIO pr ´esent ´e dans la Fig. 7.7.(a) . . . 123
7.9 Cas de test couvrant un 2-chemin pour leTPAIOpr ´esent ´e dans la Fig. 7.7.(a)124
2.1 TPCde la localit ´el1 duTADde la fig. 2.3 en fonction des deadlinesd1etd2 14 2.2 Transitions duRApresent ´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 etvet la deadlinelazy . . . 62 4.2 Valeurs de l’ACV de la localit ´e l1 pour une pile vide et diff ´erentes valeurs
v0 etvet la deadlinedelayable . . . 62 4.3 Valeurs de l’ACV de la localit ´e l1 pour une pile vide et diff ´erentes valeurs
v0 etvet la deadlineeager . . . 62 5.1 Table de chemins, pour les transitions partant del0vers une localit ´e finale
duRTAduTPAIO de la Fig. 5.2, avec leurs chemins dans leTPAIO . . . . 80 6.1 R ´esultats exp ´erimentaux sur leTPAIOde la Fig. 6.3 . . . 106 7.1 R ´esultats exp ´erimentaux sur l’exemple des n-clics de la Fig. 7.4 . . . 120
xv
2.5.1Calcul duDTA `a partir d’unTPAIO[KT09] . . . 30
2.6.1Calcul duRA[FWW97] d’unPAdonn ´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’unIOLTSdonn ´e [Tre99] . . . 46
3.3.1Algorithme r ´ecursif calculant lenemenombre de la suite de FibonacciFib(n) 48 3.4.1G ´en ´eration `a la vol ´ee de tests analogiques `a partir d’unTAIO[KT09] . . . 52
5.2.1Calcul du testeur `a pile temporis ´e d ´eterministe `a partir d’unTPAIO . . . 71
5.3.1Algorithme de calcul d’unRTAfini 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’unTPAIO 97 6.5.1Comparaison d’une trace de l’impl ´ementation avec un cas de test . . . 105
xvii
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 deuxTAIO [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 den−1−transitions ´el ´ementaires successives 25 11 D ´efinition :PA[ABB97] - Automate `a Pile . . . 32
12 D ´efinition :RAd’unPA- Automate d’Accessibilit ´e d’un Automate `a Pile . . . 33
13 D ´efinition :ioco[Tre99] - Relation de conformit ´eioco . . . 45
14 D ´efinition :tioco[KT09] - Relation de conformit ´etioco . . . 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 :RTAd’unTPAIO . . . 74
21 D ´efinition : Ensemble de chemins de tests d’unTPAIO d ´eterministe avec deadlinelazy . . . 81
22 D ´efinition : Arbre de cas de tests . . . 82
23 D ´efinition : Atteignabilit ´e dans unRTA . . . 85
24 D ´efinition : Testeur `a pile temporis ´e d ´eterministeSTPTIO . . . 93
25 D ´efinition : Transitions du Testeur `a pile temporis ´e d ´eterministeSTPTIO . . 95 xix
deadlinedelayable . . . 102 28 D ´efinition : Cas de test d’unTPAIO d ´eterministe avec deadlinedelayable . . 103 29 D ´efinition : Testeur symbolique `a pile temporis ´e d ´eterministeSTPTIO . . . 110 30 D ´efinition : Transitions du Testeur `a pile temporis ´eSTPTIO . . . 112 31 D ´efinition : Cas de test d’unTPAIO non d ´eterministe avec deadline . . . 114 32 D ´efinition : Mod `ele d’impl ´ementation . . . 117 33 D ´efinition : Produit synchronis ´e d’une impl ´ementationIet d’un cas de testtc119
C ONTEXTE ET P ROBL EMATIQUE ´
1
I NTRODUCTION
Sommaire
1.1 Contexte . . . . 3 1.2 Motivations et contributions . . . . 5 1.3 Organisation du document . . . . 7
1.1/ C
ONTEXTELe 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.
3
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
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 CONTRIBUTIONSL’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 lesTPAIO.
— 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 duTPAIO. Une deadline peut ˆetre soitlazy (pas d’urgence), soit delayable(avant qu’il ne soit trop tard), soiteager (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 deadlinelazy 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
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 deadlinedelayableseulement. 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 lesTPAIOsont 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 delayableau 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 unTPAIO 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].
1.3/ O
RGANISATION DU DOCUMENTCe 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’unTPAIO 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.
P R ELIMINAIRES ´
Sommaire
2.1 Syst `emes de transitions ´etiquet ´es (LTS) etIOLTS . . . . 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 deuxTAIO. 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 )
ETIOLTS
Un syst `eme de transitions ´etiquet ´eesLTS (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
9
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/sortiesIOLTS(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 quadrupletT = hS,s0,Σin∪Σout∪ {τ},∆io `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 triplettr=(s,a,s0)not ´ee s→−a s0o `u :
— sest l’ ´etat source de la transition,
— aest une action qui peut ˆetre soit?A, soit!B, soitτpour respectivement mod ´eliser une action de r ´eception d’un symboleA∈Σin, d’envoi d’un symboleB∈Σout et de r ´ealisation d’une action interneτ,
— s0est l’ ´etat cible de la transition.
Un cheminπd’unIOLTSest une s ´equence finie de transitions :s0 −−a→0 s1−−a→1 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’unLTSest 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}.
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’ ´etats2duIOLTS 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 ´etatss3 ets4de 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 temporis ´es avec deadlines et des automates temporis ´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 Xun ensemble d’horloges,Grd(X) est un langage de gardes d’horloge d ´efini par la conjonction d’expressions x]n o `u xest 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’expressionse]no `ueest soitx,x−x0.
Formalisons maintenant la notion deTAdans la Def. 2.
D ´efinition 2 :TA[AD94] - Automate Temporis ´e
Un automate temporis ´e (TA) est 6-upletT =(L,l0,Σ,X,∆,F)o `u :
— Lest 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 ⊆Lest un ensemble de localit ´es finales,
— ∆⊆L×Σ×Grd(X)×2X×Lest un ensemble fini de transitions.
Chaque transition est un quintuplettr=(l,a,g,X0,l0)not ´el a,g,X
0
−−−−→l0 o `u :
— lest la localit ´e source de la transition,
— aest l’action ex ´ecut ´ee quand la transition est franchie,a∈Σ
— gest la garde qui doit ˆetre satisfaite par les horloges deX,
— 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,sT0,Σ∪R+,∆T > o `u sT0 est l’ ´etat initial, ST 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 `ulrepr ´esente la localit ´e de contr ˆole courante etv 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 quev satisfasse g et v0 = v[X0 := 0] o `uv[X0 := 0]repr ´esente la remise `a z ´ero des horloges de X0 dans la valuation d’horlogesv.
Dans la section 2.3, nous pr ´esentons des m ´ethodes pour discr ´etiser cesLTS 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’actionA. La deadlinelazyn’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 ´eclencherA. 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 deadlineeager 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 ´eesTPC(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 deadlinelazy. Il ne peut pas s’ ´ecouler avec la deadlineeagerquandgest ´evalu ´e `a vrai. Il peut s’ ´ecouler avec la deadlinedelayablemais pas `a l’instant o `u le temps a atteint l’instant maximal o `u la gardegest vraie.
Dans la s ´emantique duTAD, 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 `uv0 = v+t, si et seulement s’il n’existe pas de transition(l,a,g,d,X0,l0) ∈∆ telle que : (1). soitd=delayableet il existet1 ett2 tels que06t1<t26t,v+t1g
etv+t22g, (2). soitd=eageret il existet1 tel que06t1<tetv+t1 g.
• Transition discr `ete: pourA∈Σ, il y’a une transition(l,v) →A (l0,v0) s’il existe une transition(l,A,g,d,X0,l0)∈∆et quevsatisfait la gardeget quev0 =v[X0:=0], c’est
`a direv0 est la valuation de v dans laquelle les horloges de X0 ont ´et ´e remises `a z ´ero.
FIGURE2.2 – R ´epr ´esentation desTPCpour une transition de gardeg, 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 gardeget 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”
avantc o `u la garde est encore vraie. Ils ne permettent pas non plus que les gardes des transitions avec deadlineeagersoient sous la forme x>c(sup ´erieur strict) car il n’y a pas de ”premier instant” apr `esco `u la garde n’est plus vraie.
l1
l2 l3
A,16x65,d1 B,46y66,d2
FIGURE2.3 – Partie d’un exemple deTAD
On pr ´esente dans la table 2.1 laTPCde la localit ´el1 duTADpr ´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 ´el1 sid1 = lazy etd2 = lazy. Pourd1 =delayableetd2 =lazy, le temps ne peut s’ ´ecouler que si x, 5. Par contre, le temps ne peut s’ ´ecouler dansl1que six<1∨x>5pourd1=eageretd2=lazycar si la valeur courante de l’horlogex `al1est 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
`al1 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 avecA. Sid1=delayableetd2 =eager, alors, le temps peut s’ ´ecouler avant que l’horlogeyn’ait atteint la valeur 4 et que la valeur de
l’horloge xsoit diff ´erente de 5 ou que la valeur d’horlogeyd ´epasse 6 et que la valeur de l’horloge xsoit 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 –TPCde la localit ´el1duTADde la fig. 2.3 en fonction des deadlinesd1etd2
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 unTAIO, 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 `uti ∈R+etai∈Σpour chaque06i6n−1est une ex ´ecution deπsivi satisfaitgipour06i<net si les ti satisfont lesTPC.
• 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 sT0, i.e. il existe une ex ´ecutionσ `a partir de sT0 verss dont la trace est ρ. sT0 →ρ signifie qu’il existe s0 tel que sT0 →ρ s0. On noteRT(Σ)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 unTAIOT, 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∆alorsg1∧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 duTAIO T.
• T est non bloquant si∀(s,t).(s∈Reach(T)∧t∈R+⇒ ∃ρ.(ρ∈RT(Σout∪{τ})∧T ime(ρ)= t∧s→ρ)).
• 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,lT01,ΣTin1∪ΣTout1 ∪ {τT1},XT1,∆T1,FT1)etT2=(LT2,lT02,ΣTin2∪ΣTout2 ∪ {τT2},XT2,∆T2,FT2)deux TAIO. L’expression A ∈ ΣT1→T2 signifie que A ∈ ΣTout1 et A ∈ ΣTin2. A ∈ ΣT2→T1 signifie que A ∈ ΣTin1 and A ∈ ΣTout2. DeuxTAIO T1 et T2 o `u ΣT2→T1 ⊆ ΣTin1 ∩ΣTout2 etΣT1→T2 ⊆ ΣTout1 ∩ΣTin2 sontcompatiblessiXT1∩XT2 =∅, les ensemblesΣT1→T2,ΣTout1 \ΣT1→T2,ΣT2→T1,ΣTin1\ΣT2→T1, ΣTin2 \ΣT1→T2 etΣTout2 \ΣT2→T1 sont disjoints deux `a deux,T1etT2 sont complets en entr ´ees et toutes les transitions avec entr ´ees sontlazy.
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 transitionl1 ?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 ´equencel1,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 avecn>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 –TAIOde 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,F1ietT2 =hL2,l20,Σ2in∪Σ2out∪ {τ2},X2,∆2,F2ideuxTAIO compatibles. La com- position parall `ele deT1etT2est unTAIOdont 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 deT1etT2se synchronisent sur les actions communes qui sont des actions de sortie deT1et d’entr ´ee deT2.