1 Introduction
Les syst`
emes temps r´
eel sont de plus en plus omnipr´
esents avec la g´
en´
eralisation
des calculateurs embarqu´
es, puissants et peu coˆ
uteux. Ces syst`
emes sont utilis´
es dans
des domaines tr`
es vari´
es, par exemple les moyens de transport (automobile, a´
eronau-
tique), les chaˆ
ınes de production, ...Ces syst`
emes informatiques ont des exigences
fonctionnelles, comme tout syst`
eme informatique, mais ´
egalement extra-fonctionnel-
les, comme par exemple les exigences temporelles. La validation est bien sˆ
ur une
activit´
e indispensable sur de tels syst`
emes car les cons´
equences d’une erreur peuvent
ˆ
etre graves tant sur le plan humain qu’´
economique.
La validation d’un syst`
eme temps r´
eel est une op´
eration complexe. Un grand
nombre de m´
ethodes sont disponibles, beaucoup sont compl´
ementaires. De nombreux
crit`
eres interviennent dans le choix d’une m´
ethode, crit`
eres souvent d´
ependants les
uns des autres. On peut citer par exemple :
– le positionnement dans le cycle de d´
eveloppement. On privil´
egie g´
en´
eralement
une approche formelle dans les premiers stades de d´
eveloppement alors qu’une
approche par simulation est in´
evitable dans les derni`
eres phases de test, quand
un grand nombre d’informations sont disponibles (support d’ex´
ecution d´
etermi-
n´
e, code partiel ou complet de l’application);
– le compromis entre l’exhaustivit´
e et la pr´
ecision du mod`
ele par rapport `
a la
cible. Une ´
etude par simulation permet une pr´
ecision tr`
es importante sur un
sc´
enario, mais bien sˆ
ur ne peut pas pr´
etendre `
a la compl´
etude;
– la couverture de la m´
ethode, selon qu’elle prend en consid´
eration l’architecture
mat´
erielle sous-jacente (monoprocesseur, multiprocesseur), avec ou non le sup-
port logiciel d’ex´
ecution (ex´
ecutif temps r´
eel par exemple), la mod´
elisation de
l’environnement, etc
Dans les premiers stades du d´
eveloppement la d´
emarche de V&V (Validation et
V´
erification) consiste souvent `
a utiliser une mod´
elisation formelle de l’application, en
utilisant par exemple des formalismes tels que les automates [15] [5] ou les r´
eseaux
de Petri [2]. On peut alors obtenir la garantie, ou non, de l’existence des propri´
et´
es
que l’on cherche `
a prouver. Ceci doit toutefois ˆ
etre temp´
er´
e, d’une part par le fait
que l’on travaille sur mod`
ele et donc que cette preuve ne sera valide que si la «dis-
tance »entre le mod`
ele et la r´
ealit´
e est faible, et d’autre part par les limitations quant
`
a la taille des probl`
emes analysables avec ces techniques. Plus tard dans le cycle de
d´
eveloppement, une autre approche, compl´
ementaire, consiste `
a faire la validation par
la simulation. On se heurte alors `
a la difficult´
e de la repr´
esentativit´
e des tests mais la
taille des probl`
emes analysables est maintenant pratiquement sans limites.
Cet article se situe dans le cadre de la validation par simulation [13], [1], dans
les tous derniers stades du d´
eveloppement, alors que le code final est disponible, au
moins partiellement, et que le support d’ex´
ecution est d´
etermin´
e. L’approche utilis´
ee
est celle de la simulation car la finesse de mod´
elisation que nous souhaitons prendre
en compte ne peut ˆ
etre exploitable avec des m´
ethodes formelles. Notre approche ne
s’oppose donc pas `
a d’autres approches de v´
erification, elle les compl`
ete en se plac¸ant
`
a un niveau qui permet d’obtenir une tr`
es grande pr´
ecision temporelle, donc qui permet
d’obtenir des r´
esultats tr`
es proches de la r´
ealit´
e.