• Aucun résultat trouvé

Deuxi` eme partie

5.5 V´ erification temporelle

5.5 V´erification temporelle

5.5.1 Formule ParamTPN-PTCTL

Pour observer le pire temps de r´eponse d’une tˆache, nous utilisons la formule ParamTPN-PTCTL suivante :

PT ask i P lace == 1⇝[0,a]PEnd Observator P lace== 1 (5.3) La syntaxe (p) ⇝[0,b] (q) est ´equivalente `a la propri´et´e signifiant AG((q) implique AF [0, b] (q)). Cette formule est valable si et seulement si chaque fois que p est vraie, q sera ´egalement vraie dans l’intervalle de temps [0, b]. Cette formule utilise un param`etre a comme la limite maximale pour le pire temps de r´eponse. Le r´esultat de la v´erification param´etrique du mod`ele pour cette formule est a ≥ α, si α est inf´erieur `a la p´eriode de la tˆache correspondante, α sera le pire temps de r´eponse de cette tˆache. Si α est sup´erieur ou ´egal `a la p´eriode, il y a des r´eentrances. On in-cr´emente la valeur de PT ask i P lace d’une unit´e et on re-teste successivement jusqu’`a ce que nous obtenions un temps de r´eponse inf´erieur ou ´egal `a la p´eriode. On calcule donc successivement le pire temps de r´eponse observ´e pour un tˆache en ne prenant aucune r´eentrance en compte, puis, si celui-ci est plus grand que la p´eriode, le pire temps de r´eponse d’une instance faisant partie d’une ex´ecution o`u une instance est r´eentrante, etc.

5.5.2 Etude de cas´

Dans cette section, nous pr´esentons un exemple de l’ordonnancement multiprocesseurs. Donn´e un syst`eme de tˆaches sporadiques : S = {τi< Ci, Ti, Pi >} = {τ1 < 1, 4, 4 >, τ2 < 1, 4, 3 >, τ3 <

1, 3, 2 >, τ4 < 1, 2, 1 >} (avec P=4 est la plus prioritaire) ordonnanc´e sous FP sur deux proces-seurs. La mod´elisation du syst`eme est pr´esent´ee dans la figure 5.16 suivante :

Figure 5.16 – Mod´elisation du syst`eme en Rom´eo

Nous pouvons calculer le pire temps de r´eponse de la tˆache 4 avec la formule TCTL para-m´etrique 5.4 suivante :

P 26 > 0 ⇝[0,a]P 20 > 0 (5.4) Cette formule utilise un nouveau param`etre a qui repr´esente le temps de r´eponse. Le r´esultat de model-checking param´etrique de cette formule est 5/2, sup´erieure `a la p´eriode de cette tˆache donc nous devons v´erifier la deuxi`eme fois avec la formule 5.5 suivante :

P 26 > 1 ⇝[0,a]P 20 > 0 (5.5)

Le r´esultat de model-checking param´etrique de cette formule est 1/2, inf´erieure `a la p´eriode de cette tˆache, le pire temps de r´eponse de la tˆache 4 est donc 1*p´eriode+1/2 = 2+1/2 = 5/2. De mani`ere ´equivalente, nous avons calcul´e le pire temps de r´eponse des autres tˆaches. Le pire temps de r´eponse de la tˆache 3 est 2, le pire temps de r´eponse de la tˆache 2 est 1 et le pire temps de r´eponse de la tˆache 1 est 1.

5.6 Conclusion

Dans ce chapitre, d’abord nous avons propos´e un test exact calculant le pire temps de r´eponse des tˆaches d´ependantes au cas monoprocesseur en se basant sur le r´eseau de Petri temporel. Le test prend en compte le protocole priorit´e plafond imm´ediat pour la gestion des ressources critiques. Ensuite, nous avons ´etendu le test au cas multiprocesseur identique. Nous avons fait un ´etat de l’art sur les protocoles de gestion de ressource critique multiprocesseur. N´eanmoins, la plupart des protocoles dans la litt´erature ne sont pas propos´es par les RTOS donc nous nous limitons `a pas de protocole de gestion.

Chapitre 6

Vers un r´ef´erentiel d’analyse

g´en´erique

Sommaire

6.1 Introduction . . . . 97 6.2 Travaux connexes : m´ethodes d’aide `a la conception . . . . 98 6.2.1 L’approche MoSaRT . . . . 98 6.2.2 L’approche des patrons de conception . . . . 99 6.2.3 Approche MAIWEn . . . 100 6.2.4 Approche CONSERT . . . 101 6.2.5 Approche TEMPO . . . 101 6.2.6 M´ethodologie Optimum . . . 101 6.2.7 Discussion . . . 102 6.3 Positionnement . . . 103 6.3.1 MoSaRT analysis repository . . . 104 6.3.2 Discussion et d´emarche souhait´ee . . . 105 6.4 Identification Rule Language (IRL) . . . 107 6.4.1 Syntaxe abstraite . . . 107 6.4.2 Syntaxe concr`ete . . . 109 6.5 Le r´ef´erentiel d’analyse g´en´erique . . . 111 6.5.1 Formalisation . . . 111 6.5.2 M´eta-mod`ele du r´ef´erentiel d’analyse . . . 111 6.5.3 Fiabilit´e du r´ef´erentiel d’analyse . . . 113 6.6 Transformation et adaptation . . . 114 6.6.1 Exemple d’utilisation de PARAD . . . 114 6.6.2 Prototypage rapide des tests . . . 122 6.7 Conclusion . . . 125

La contribution pr´esent´ee dans ce chapitre consiste `a proposer une d´emarche `a base de mo-d`eles permettant d’un cˆot´e d’aider les concepteurs `a faire le bon choix de tests et de l’autre cˆot´e de permettre aux chercheurs et aux analystes de partager leur savoir faire en termes de tests d’analyses et leurs conditions d’utilisation. L’objectif est non seulement de permettre aux concep-teurs d’agir d’une mani`ere autonome et sˆure lors du processus d’analyse mais aussi d’augmenter et faciliter l’utilisation des tests d’analyse dans les pratiques d’ing´enierie.

6.1. INTRODUCTION

6.1 Introduction

Comme nous l’avons ´evoqu´e `a plusieurs reprises dans ce manuscrit, la v´erification temporelle est une ´etape importante dans la conception des syst`emes embarqu´es temps r´eel. L’´evolution technologique des architectures mat´erielles et logicielles a toujours ´et´e un facteur stimulateur de l’´evolution des tests de la v´erification temporelle. La communaut´e de la validation temporelle a toujours accompagn´e cette ´evolution en proposant des nouveaux tests bas´es sur la simulation, les m´ethodes formelles et/ou les m´ethodes alg´ebriques. Cette multitude de tests d’analyse a rendu l’´etape de la validation, au sein du cycle de vie de conception, `a la fois plus pertinente et compliqu´ee. (i) La pertinence vient du fait que les tests propos´es m`enent de plus en plus vers des conceptions tr`es raffin´ees (proches de l’ex´ecution du syst`eme dans le monde r´eel) prenant en consid´eration plusieurs facteurs pratiques (comme la pr´ec´edence, la pr´eemption, suspension, etc.). (ii) La complexit´e est due `a la multitude des tests existants, ce qui rend le choix de l’analyse appropri´ee, permettant d’analyser et/ou de valider correctement une conception, une tˆache tr`es difficile mˆeme pour les experts vu le caract`ere critique des domaines d’applications. R´ecemment, plusieurs outils gratuits et commerciaux, impl´ementant des tests d’analyses, ont ´et´e propos´es afin de faciliter la tˆache aux concepteurs. Cependant, un outil est souvent bas´e sur un mod`ele d’analyse particulier (mod`ele de transactions, mod`ele de composants, etc.) et ne propose pas tous les tests d’analyses possibles. De plus, malgr´e que l’inclusion des outils dans un processus `

a base de mod`eles permet de lier les entr´ees d’outils aux diff´erents langages de mod´elisation (notamment les standards), le choix du test est souvent dirig´e par l’exp´erience du concepteur. Notre participation, aux projets avec des partenaires industriels, nous a permis de constater que les pratiques industrielles favorisent souvent la r´eutilisation des tests qui fonctionnaient lors des anciens projets. En effet, ce principe de la r´eutilisation pousse souvent les concepteurs `a adapter en amont leurs conceptions “m´etiers” pour qu’elles correspondent aux tests habituels au lieu d’explorer de nouveaux tests. Certes, les pratiques industrielles ´evoluant dans un milieu concurrentiel pr´eoccup´e par le d´elai de commercialisation (time-to-market en anglais) privil´egient des tests d’analyse d´ej`a exp´eriment´es. Cependant, ces pratiques peuvent mener `a des choix de conception conservatifs et par cons´equent demandant plus de ressources (ce qui g´en`ere un coˆut additionnel). La non-exploration des nouveaux tests est aussi due `a l’´ecart s´emantique qui se trouve entre les mod`eles de tˆaches des tests d’analyses et les artefacts de mod`eles “m´etiers” utilis´es pour repr´esenter les syst`emes `a concevoir.

L’objectif de ce chapitre est de capitaliser les efforts effectu´es dans le but de faciliter l’uti-lisation des tests de la validation temporelle. En effet, ce chapitre propose trois contributions compl´ementaires. La premi`ere contribution consiste en la proposition d’un langage permettant de d´ecrire les contextes d’analyse (introduits dans la section 3.6) ind´ependemment des langages de mod´elisation. La deuxi`eme contribution pr´esente une approche `a base de mod`eles permet-tant d’augmenter la fiabilit´e et d’obtenir des r´ef´erentiels d’analyse corrects par construction. La troisi`eme contribution permet de transformer un r´ef´erentiel d’analyse g´en´erique pour qu’il soit adapt´e `a un langage de mod´elisation pr´ecis. Cela permettra d’inclure l’analyse temporelle au moment de la mod´elisation mais aussi de faciliter le prototypage de certains tests d’analyse sans passer par les outils classiques. L’objectif du prototype rapide est de faire face `a la len-teur du processus de transfert technologique des tests d’analyses propos´es g´en´eralement par des chercheurs acad´emiques.

Le reste du chapitre est organis´e comme suit. La section 6.2 pr´esente en d´etail la probl´ ema-tique abord´ee en plus des travaux existants. La section 6.3 pr´esente le positionnement du travail. La section 6.4 est d´edi´ee au langage de de description des r`egles d’identification afin d’expliciter le contexte d’analyse relatif `a un test donn´e. La section 6.5 pr´esente le m´eta-mod`ele des r´ef´ e-rentiels d’analyse ainsi que les diff´erentes fonctionnalit´es permettant de renforcer l’exactitude des contenus. La section 6.6 pr´esente l’utilisation des r´ef´erentiels d’analyse avec les langages de mod´elisation comme ´etant un moyen d’aide `a la d´ecision permettant de donner plus d’autonomie aux concepteurs non-experts du domaine de la v´erification temporelle. Dans cette section, nous

montrons ´egalement les diff´erents sc´enarios d’utilisation ainsi qu’une solution du prototypage afin de pouvoir int´egrer un test de validation temporelle (bas´e sur une m´ethode alg´ebrique) dans le processus de conception sans passer par un outil externe n´ecessitant la transformation de mod`eles. Enfin, la section 6.7 conclut ce chapitre.