PRINCIPES ALGORITHMIQUES DE LA VALIDATION PROBABILISTE PAR SIMULATION A EVENEMENTS RARES N. Bennacer G. Florin S. Natkin CEDRIC - Centre d'Etudes et de recherche en Informatique CNAM 292 rue Saint-Martin 75141 Paris Cedex 03 R?esum?e La validation probabiliste par simulation guid?ee est une nouvelle approche de validation de syst?emes s ^ urs de fonctionnement -LRB- par exemple s?ecuritaires ou distribu?es -RRB- complexes -LRB- qui , mod?elis?es par des r?eseaux de Petri , peuvent avoir des espaces d' ? etats accessibles de tr?es grande taille -RRB- et al?eatoires . Cette validation nous permet d'estimer des param?etres li?es aux ? etats ne v?erifiant pas une assertion de bon fonctionnement . Pour les syst?emes , que nous ? etudions , les ? etats ainsi caract?eris?es sont tr?es rares voire inexistants . A cette fin , nous proposons une simulation hybride , mi-al ? eatoire , mi-guid ? ee , utilisant deux techniques : une technique qualitative de guidage de la simulation qui permet de d?eterminer les transitions susceptibles de mener aux ? etats rares ; et une technique quantitative qui consiste ? a appliquer l'une des m?ethodes de r?eduction de variance -LRB- ? echantillonnage pr?ef?erentiel -RRB- , permettant de construire des estimateurs des param?etres d'un niveau de confiance acceptable . Mots cl?es : Validation probabiliste , syst?emes s ^ urs de fonctionnement , simulation ? a ? ev?enements rares , simulation guid?ee , r?eduction de variance , ? echantillonnage pr?ef?erentiel . Abstract In this paper , we define a probabilistic validation method with the two following features : importance sampling and worst event driven simulation . It is a new approach for the validation of highly dependable systems -LRB- safety and distributed systems -RRB- with complex and stochastic behavior . The system to be validated is modeled by a stochastic Petri net . This validation allows the estimation of temporal measures related to the occurrence of event that verifies an user assertion -LRB- failure event -RRB- . Since , typically the system failure is a rare event , in the studied systems , it has been observed that standard simulation takes a large amount of computational time to obtain significant estimates . We propose a guided simulation that combines two techniques : a qualitative technique to guide the simulation and a variance reduction technique -LRB- quantitative technique -RRB- to build estimates whith reasonable accuracy . Introduction Les syst?emes s ^ urs de fonctionnement couvrent des domaines technologiques de plus en plus divers et particuli?erement les domaines ? a `` haut risque '' -LRB- nucl?eaire , a?eronautique , spatial , ferroviaire , industrie p?etroli?ere ... -RRB- . Or , de par les m?ecanismes destin?es ? a assurer la s?ecurit?e , une d?efaillance , si elle se produit , r?esulte n?ecessairement d'une s?equence d' ? ev?enements tr?es rares donc difficile ? a appr?ehender . Ces syst?emes doivent ^ etre valid?es , c'est - ? a-dire qu'il faut d?emontrer que certaines propri?et?es de comportement sont v?erifi?ees . La validation exacte tente de d?emontrer ces propri?et?es de fa?con d?eterministe et sans r?ef?erence ? a la fr?equence des processus intervenant sur le syst?eme . Elle se heurte souvent ? a des probl?emes de complexit?e . La validation probabiliste a pour objectif de montrer que la non-v ? erification ? eventuelle des sp?ecifications de s?ecurit?e a une fr?equence suffisemment faible avec un niveau de probabilit?e suffisant . La r?esolution d'un mod?ele de validation probabiliste peut ^ etre r?ealis?ee par des techniques d'exploration partielle des graphes et des techniques de calcul num?erique -LSB- 3 -RSB- . Mais , dans le cas o?u certains ? ev?enements peuvent se reproduire et lorsque les d?elais inh?erents dans le mod?ele ne peuvent ^ etre consid?er?es comme distribu?es exponentiellement , cette approche ne peut ^ etre appliqu?ee . La simulation de Monte Carlo constitue donc un moyen d'investigation possible qui a l'avantage de ne parcourir qu'un sous-espace de l'espace des ? etats . De plus , cette simulation permet de reproduire des distributions g?en?erales et d'obtenir des estimations des mesures nous int?eressant avec un degr?e acceptable de confiance -LRB- voir -LSB- 1 -RSB- , -LSB- 7 -RSB- et -LSB- 10 -RSB- -RRB- . Cependant , une simulation na?ve n?ecessite souvent , si toutefois elle aboutit , un temps exorbitant compte tenu de la raret?e voire de l'inexistence des trajectoires conduisant ? a une d?efaillance . Le but de cet article est de pr?esenter une nouvelle approche de validation : la validation probabiliste par simulation de syst?emes s ^ urs de fonctionnement mod?elis?es par des r?eseaux de Petri stochastiques . Cette validation doit permettre d'avoir des estimations de mesures temporelles relatives ? a la fr?equence d' ? eventuelles pannes catastrophiques . Dans cet article , nous pr?esentons une nouvelle approche de simulation hybride , mi-al ? eatoire , mi-guid ? ee , utilisant deux techniques . Une technique qualitative de guidage issue de la validation probabiliste -LSB- 3 -RSB- qui permet de d?eterminer les transitions potentiellement int?eressantes -LRB- pouvant mener aux ? etats d' ? echec -RRB- et une technique quantitative dite de r?eduction de variance -LRB- ? echantillonnage pr?ef?erentiel ou importance sampling -RRB- qui permet de construire des estimateurs non biais?es avec des intervalles de confiance significatifs -LRB- voir -LSB- 12 -RSB- et -LSB- 8 -RSB- -RRB- . 1 - La validation probabiliste La difficult?e des m?ethodes actuelles de validation r?eside dans le traitement de syst?emes complexes comportant des espaces d' ? etats gigantesques . Les m?ethodes de validation exacte qui rel?event de l' ? enum?eration exhaustive sont n?ecessairement vou?ees ? a l' ? echec au del?a d'espaces d' ? etat dont la dimension est de quelques millions d' ? etats au plus pour les machines actuelles les plus performantes . L'approche de validation probabiliste , qui repose sur une description pr?ecise du comportement temporel du syst?eme , a pour objectif de v?erifier que l'occurence d' ? ev?enements ind?esirables a une probabilit?e inf?erieure ? a un seuil donn?e de se reproduire . Les propri?et?es ? a valider s ` expriment comme une assertion sur l'espace des ? etats ou , plus g?en?eralement , sur l'espace des trajectoires . La v?erification de ces propri?et?es dans un mod?ele de validation probabiliste peut ^ etre r?ealis?ee par des techniques non exhaustives de parcours des graphes et des techniques de calcul num?erique . On obtient comme r?esultat non pas une preuve que les propri?et?es exprim?ees par l'utilisateur sont vraies ou fausses mais une mesure de la probabilit?e que la propri?et?e soit vraie . Toutefois , lorsque les comportements sont par nature r?ep?etitifs et lorsque les d?elais inh?erents ? a ces comportements ne peuvent ^ etre consid?er?es comme distribu?es exponentiellement , ces techniques ne peuvent ^ etre appliqu?ees . De par le fait que les syst?emes que nous ? etudions sont s ^ urs de fonctionnement : 1 -RRB- une d?efaillance est un ? ev?enement rare dans la vie de ces syst?emes , 2 -RRB- une d?efaillance , si elle se produit , r?esulte n?ecessairement de la r?ealisation d'une s?equence complexe d' ? ev?enements et de probabilit?e tr?es faible , 3 -RRB- ces syst?emes peuvent ^ etre parfaits et donc une d?efaillance est un ? ev?enement qui ne se produit jamais . Ainsi , une simulation na?ve des syst?emes , qui pr?esentent les caract?eristiques pr?ec?edentes , pose des probl?emes . Cependant , la simulation reste apr?es am?elioration -LRB- utilisation des techniques de r?eduction de variance et de guidage -RRB- une approche qui permet de r?ealiser des validations correctes des syst?emes s ^ urs de fonctionnement qui nous int?eressent . 2 - La validation probabiliste par simulation La simulation de Monte Carlo est une technique de validation probabiliste qui permet de traiter des mod?eles pouvant avoir des espaces d' ? etats accessibles tr?es importants , des comportements de nature r?ep?etitifs et de distributions g?en?erales . Cette validation permet ? egalement d'avoir des estimations , avec un niveau de confiance acceptable , des mesures relatives ? a l'occurence des ? etats ne v?erifiant pas une assertion de bon fonctionnement d?efinie par le concepteur -LRB- ? etats d' ? echec -RRB- . La validation des syst?emes s ^ urs de fonctionnement , caract?eris?es ci-dessus , par une simple simulation de Monte Carlo , si elle aboutit , requiert de tr?es longues ex?ecutions . Pour cela , on cherche ? a utiliser une technique qualitative de guidage et une technique quantitative de r?eduction de variance . Dans ce paragraphe , nous pr?esentons tout d'abord le mod?ele fomel de simulation ensuite nous pr?esentons les deux techniques . 2.1 - Le mod?ele de simulation Le syst?eme ? a valider est mod?elis?e par un r?eseau de Petri stochastique g?en?eralis?e dont l'interpr ? etation de la temporisation est celle de G.Florin et S.Natkin -LRB- -LSB- 5 -RSB- et -LSB- 9 -RSB- -RRB- . Ce mod?ele formel nous semble le mieux adapt?e au plan qualitatif pour exprimer des concepts tels que la concurrence et la synchronisation . Au plan quantitatif , la temporisation al?eatoire d?efinie dans les r?eseaux de Petri est d'une s?emantique pr?ecise et permet de repr?esenter une tr?es large classe de syst?emes -LRB- -LSB- 4 -RSB- -RRB- . Le r?eseau de Petri sous-jacent est not?e R -LRB- P ; T ; V -RRB- o?u : P est l'ensemble des places , T est l'ensemble des transitions et V est l'ensemble des arcs entre places et transitions . L'ensemble des arcs du r?eseau est compl?etement d?efini par les matrices d'incidence `` avant '' -LRB- transitions-places -RRB- C + , d'incidence `` arri?ere '' -LRB- places - transitions -RRB- C ? et par la matrice d'incidence du r?eseau C = C + + C ? . I -LRB- tj -RRB- est l'ensemble des places pr?ed?ecesseurs de la transition tj , J -LRB- tj -RRB- est l'ensemble des places successeurs de la transition tj et L -LRB- tj -RRB- est l'ensemble des places pr?ed?ecesseurs inhibiteurs de la transition tj . Un marquage du r?eseau est un vecteur colonne Mk tel que chacune de ses composantes Mk -LRB- pi -RRB- est ? egale ? a la marque de la place pi dans le marquage Mk . Soit M0 le marquage initial du r?eseau de Petri . Le comportement du r?eseau de Petri est alors compl?etement d?efini par les matrices C ? et C + . M est l'ensemble d?enombrable des marquages accessibles du r?eseau de Petri ? a partir de M0 . Le comportement du syst?eme est d?efini par un ensemble de condition/action : Condition : une transition tj est tirable ? a partir d'un marquage Mk si Mk -LRB- pi -RRB- > = C ? -LRB- i ; j -RRB- pour tout pi 2 I -LRB- tj -RRB- et Mk -LRB- pi -RRB- = pour tout pi 2 L -LRB- tj -RRB- . Action : le tir de tj ? a partir de Mi conduit ? a un nouveau marquage Mk tel que Mk = Mi + C -LRB- : ; j -RRB- o?u C -LRB- : ; j -RRB- est la j?eme colonne de C. Soit s = -LRB- tj1 ; : : : ; tjn -RRB- une s?equence de transitions tir?ees ? a partir de Mi conduisant ? a un marquage Mn , l' ? equation fondamentale s ' ? ecrit comme suit : Mn = Mi + CX o?u X est le vecteur caract?eristique de la s?equence s , la j?eme composante de X donne le nombre de tirs de la transition tj dans la s?equence s. Les grandeurs caract?eristiques de l' ? etat du syt?eme sont : 1 -RRB- l' ? etat observable X -LRB- o -RRB- = Mn ou o 2 -LSB- on ; on +1 -LSB- on est la date du n?eme tir de transition ayant conduit au marquage Mn , avec o0 = 0 ; 2 -RRB- la dur?ee n?ecessaire ? a l'aboutissement d'une op?eration associ?ee ? a la transition tj est une valeur r?eelle positive : Zj ; 3 -RRB- Gj -LRB- Xi ; o -RRB- repr?esente la dur?ee r?ealis?ee pour l'op ? eration j lorsque le marquage -LRB- l' ? etat observable -RRB- est constamment ? egal ? a Xi sur l'intervalle -LSB- 0 ; o -LSB- ; Gj -LRB- Xi ; o -RRB- = r -LRB- Xi ; tj -RRB- o o?u r -LRB- Xi ; tj -RRB- est une vitesse finie et d?eterministe de fonctionnement de l'horloge associ?ee ? a l'op ? eration j -LRB- r -LRB- Xi ; tj -RRB- est positive si l'op ? eration j est active et est nulle si l'op ? eration j est inactive -RRB- . Cette vitesse d?epend des ressources mises en oeuvre dans le marquage Xn pour activer l'op ? eration associ?ee ? a la transition tj . 4 -RRB- pour une trajectoire ! , pour une op?eration j , dans le marquage Xn , la dur?ee cumul?ee est not?ee W jn : W j0 = 8 tj 2 T W jn +1 = W jn + Gj -LRB- Xn ; on +1 ? on -RRB- La dur?ee r?esiduelle pour terminer l'op ? eration j est : TRjn = Zj ? W jn ; 5 -RRB- l' ? etat du syst?eme En est d?efini comme compos?e de deux parties -LRB- Xn ; TRn -RRB- : - le marquage courant Xn , composante discr?ete ; - le vecteur des dur?ees r?esiduelles correspondant ? a toutes les op?erations , TRn , composante continue . L' ? evolution des variables d' ? etat est d?efinie par le mod?ele concurrentiel . L'op ? eration active provoquant le changement d' ? etat observable est celle dont l' ? ech?eance est la plus proche : on +1 ? on = Inftj2T -LRB- Xi -RRB- fT Rjnr ? 1 -LRB- Xi ; tj -RRB- g o?u T -LRB- Xi -RRB- est l'ensemble des transitions tirables ? a partir du marquage Xi . Il existe plusieurs modalit?es de m?emorisation : - soit la perte de la dur?ee m?emoris?ee est effecu?ee que lorsque la dur?ee n?ecessaire de l'op ? eration s ` est ? ecoul?ee -LRB- si TRjn = alors W jn +1 = 0 -RRB- ; - soit le sch?ema de m?emorisation est celui qui m?emorise le temps pass?e pour toutes les transitions qui restent sensibilis?ees et le perd pour toutes celles qui ne le sont plus ; - soit la perte de m?emoire est effectu?ee ? a l'entr ? ee de tout marquage -LRB- -LSB- 4 -RSB- -RRB- . La temporisation stochastique du r?eseau est caract?eris?ee par les donn?ees probabilistes suivantes : 6 -RRB- Zj est une variable al?eatoire de fonction de r?epartition : F j -LRB- a -RRB- = PfZj < = ag si a > F j -LRB- a -RRB- = si a < = La densit?e de probabilit?e associ?ee ? a la variable al?eatoire Zj est not?ee f j -LRB- a -RRB- . 7 -RRB- - Nous supposons toujours qu'il n ' y a pas d'ambiguit ? e sur la transition tir?ee en chaque ? etat . Une condition suffisante de nature probabiliste est suffisante pour que cette propri?et?e soit v?erifi?ee consiste ? a supposer que les fonctions de r?epartition sont toutes continues . - Dans un marquage donn?e , les op?erations actives son purement parall?eles et agissent ind?ependamment . Ce qui implique l'ind ? ependance mutuelle des variables dur?ees r?esiduelles TRjn . - La r?ealisation d'une dur?ee r?esiduelle dans un ? etat En ne d?epend pas de la trajectoire suivie pour atteindre cet ? etat car le temps cumul?e int?egre toutes les modifications non observables de l' ? etat qui se sont produites lors d'une trajectoire . PfZj ? W jn < = s = E0 ; E1 ; : : : ; Eng = PfZj ? W jn < = s = Eng 8 -RRB- Sous les hypoth?eses pr?ec?edentes le processus En est markovien . La densit?e de vraisemblance du passage -LRB- par le tir de la transition tj -RRB- d'un ? etat Ei ? a l' ? el?ement diff?erentielle ? Ei +1 d?efini par un marquage Xi +1 et un voisinage pour la partie continue de l' ? etat Ei +1 est not?ee par : p -LRB- Ei ; ? Ei +1 -RRB- . La densit?e de vraisemblance d'une trajectoire -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- est : p -LRB- E0 ; ? E1 ; : : : ? En -RRB- = i = n ? 1 Y i = 0 p -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- . Cette densit?e de probabilit?e peut s ` exprimer en fonction des fonctions de r?epartition et des fonctions de densit?e de probabilit?e des dur?ees r?esiduelles TRjn -LSB- 10 -RSB- . 2.2 - La technique de l' ? echantillonnage pr?ef?erentiel La simulation par ? echantillonnage pr?ef?erentiel est une m?ethode de r?eduction de variance qui permet de contracter les dur?ees des ex?ecutions par la modification des distributions de certaines op?erations qui sont toujours concentr?ees sur des valeurs excessivement ? elev?ees . Pour les syst?emes que nous consid?erons , il s ` agit des op?erations relatives aux ? ev?enements de ou des trajectoires menant aux ? etats d' ? echec . Soit un syst?eme mod?elis?e par un r?eseau de Petri stochastique que l'on veut traiter par simulation pour estimer une mesure Y. Y repr?esente , par exemple , la probabilit?e qu'une assertion de bon fonctionnement d?efinie par l'utilisateur ne soit pas v?erifi?ee au cours d'une dur?ee de fonctionnement T. La technique d' ? echantillonnage pr?ef?erentiel est une technique de r?eduction de variance -LRB- -LSB- 8 -RSB- , -LSB- 12 -RSB- -RRB- qui consiste ? a utiliser pendant la simulation des fonctions de densit?e de probabilit?e modifi?ees f j ? -LRB- a -RRB- des dur?ees Zj de fa?con ? a faire cro ^ ? tre la fr?equence d'apparition des ? etats d' ? echec -LRB- La vraisemblance des trajectoires menant aux ? etats d' ? echec selon les nouvelles donn?ees probabilistes f j ? -LRB- a -RRB- est sup?erieure ? a celle obtenue selon les donn?ees probabilistes originelles f j -LRB- a -RRB- -RRB- . La simulation du mod?ele se d?eroule alors comme suit : - En chaque ? etat observable Xn , on g?en?ere ? a partir des lois de probabilit?e f j ? -LRB- a -RRB- les dur?ees Zj des op?erations activ?ees par le marquage Xn -LRB- correspondant aux transitions tj tirables en Xn et W jn = 0 -RRB- . - On calcule les d?elais r?esiduels TRjn des op?erations actives au marquage Xn et dont W jn > 0 . - Le changement de marquage de -LRB- Xn ; on -RRB- ? a -LRB- Xn +1 ; on +1 -RRB- se fait ? a on +1 correspondant ? a l' ? ech?eance de l'op ? eration active la plus proche . La mesure Y ? a estimer peut ^ etre repr?esent?ee comme une certaine fonction de nombres al?eatoires -LSB- 12 -RSB- -LRB- d?elais al?eatoires -RRB- g?en?er?es ? a partir des lois de probabilit?es modifi?ees f j ? -LRB- a -RRB- des dur?ees al?eatoires Zj associ?ees aux transitions tj au cours d'une ex?ecution par simulation . L' ? echantillon al?eatoire ainsi g?en?er?e d?etermine la trajectoire visit?ee en cours de simulation soit -LRB- E0 ; E1 ; : : : ; En -RRB- o?u n est un instant d'arr ^ et n = maxfi = oi < = Tg . Ainsi , Y s ' ? ecrit comme une fonction de la trajectoire visit?ee : Y = Y -LRB- T -RRB- = Y -LRB- E0 ; E1 ; : : : ; En -RRB- = 1 si l'assertion est v?erifi?ee dans la trajectoire -LRB- E0 ; : : : ; En -RRB- = sinon L'esp ? erance math?ematique de Y , , peut s ` exprimer en fonction des fonctions de densit?e de probabilit?e de la trajectoire visit?ee originelle et modifi?ee . = Ep -LSB- Y -RSB- = X 8 -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- Y -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- p -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- Ep -LSB- Y -RSB- = X 8 -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- p -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- p ? -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- p ? -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- = Ep ? -LSB- Y L -RSB- = X 8 -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- Y -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- L -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- p ? -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- Ep et Ep ? sont respectivement les op?erateurs de l'esp ? erance math?ematique selon les distributions originelles et modifi?ees . p ? -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- est la densit?e de probabilit?e de la trajectoire visit?ee et L -LRB- E0 ; ? E1 ; : : : ; ? En -RRB- est le ratio de vraisemblance associ?e . La variance de l'estimateur de s ` annule si : p ? = Y p . Comme le montre cette derni?ere ? equation ce choix est ? evidemment impossible puisqu'il requiert la connaissance de . Toutefois , ce r?esultat donne une id?ee globale sur l'allure de p ? qui doit correspondre ? a celle du produit Y.p. La difficult?e dans cette technique est le choix d'un changement de mesure qui soit proche du choix optimal -LRB- qui annule la variance de l'estimateur -RRB- . Ce choix d?epend de l'application , de la sp?ecificit?e du probl?eme et de sa structure stochastique . Ainsi , pour une application donn?ee une analyse des m?ethodes les plus efficaces de modification des distributions est n?ecessaire . La raret?e des ? etats d' ? echec dans la vie des syst?emes s ^ urs de fonctionnement que nous ? etudions peut s ` expliquer soit : 1 -RRB- par la disparit?e entre les taux -LSB- 1 -RSB- : soit un exemple de syst?eme ? a deux composants qui fonctionnent en redondance -LRB- le graphe des ? etats de ce syst?eme est repr?esent?e dans la figure 1 -RRB- . Les op?erations de r?eparation et de panne sont distribu?ees exponentiellement de taux respectifs > = et ? -LRB- > = o ? -RRB- . Si une premi?ere panne se produit , c'est - ? a-dire si le syst?eme est dans l' ? etat 1 , le simulateur va g?en?erer deux dur?ees al?eatoires correspondant aux op?erations de panne et de r?eparation des distributions de taux respectifs > = et ? . La dur?ee de la r?eparation sera , avec une forte probabilit?e , plus courte que la dur?ee de la panne . Tr?es probablement , l' ? ev?enement programm?e par le simulateur sera la fin de la r?eparation du composant d?efaillant et donc le syst?eme retournera ? a l' ? etat -LRB- l' ? etat o?u tous les composants sont op?erationnels -RRB- . Il en r?esulte que la simulation d'un grand nombre d'ex ? ecutions donne une contribution nulle dans l'estimation d'une mesure li?ee ? a la d?efaillance du syst?eme . figure 1 2 -RRB- par l'existence d'une s?equence d' ? ev?enements qui ne peut se produire qu'au bout d'une longue dur?ee et/ou d'un encha ^ ? nement complexe d'un grand nombre d' ? ev?enements . La probabilit?e de parcourir les trajectoires menant ? a l' ? etat d' ? echec est tr?es faible , particuli?erement , si l'on s ` int?eresse ? a observer le fonctionnement du syst?eme sur une dur?ee finie ou jusqu ' ? a l'apparition d'un ? ev?enement particulier . Le changement de mesure doit augmenter cette probabilit?e et contracter la dur?ee d'atteinte d'un tel ? etat . figure 2 Exemple : Soit le r?eseau de Petri ci-dessous -LRB- figure 3 -RRB- qui mod?elise un syst?eme ? a n composants fonctionnant en parall?ele . Ce syst?eme est op?erationnel si au moins un composant est op?erationnel . Si tous les composants sont d?efaillants le syst?eme est d?efaillant et se trouve dans un ? etat absorbant . Les deux transitions repr?esentent respectivement la panne -LRB- dont la dur?ee de fonctionnement est distribu?ee exponentiellement de taux >=-RRB- et la r?eparation -LRB- dont la dur?ee est distribu?ee exponentiellement de taux ? -RRB- . Pour ? = 1:0 / heure le temps moyen avant absorption s ` exprime comme suit : n 1 > = + -LRB- n ? 1 -RRB- 1 > = 2 + : : : + i 1 > = n +1 ? i + : : : + 1 > = n . Pour n = 5 et > = = 1 = heure le temps moyen avant absorption est de 15 heures . On veut calculer la probabilit?e Y qu'une assertion de bon fonctionnement ne soit v?erifi?ee sur une dur?ee finie T `` M -LRB- p2 -RRB- < 5 pour t < T '' o?u t est le temps de fonctionnement du syst?eme . Pour cela , nous utilisons une simulation classique de Mont?e Carlo puis une simulation guid?ee avec ? echantillonnage pr?ef?erentiel . Dans la simulation guid?ee , le changement de mesure consiste ? a renforcer le taux de la transition `` panne '' par un coefficient constant Cof chaque fois que la transition `` panne '' est franchissable . Une ex?ecution se termine si l' ? etat d' ? echec est atteint avant que T n'expire ou si T expire avant que cet ? etat ne soit atteint . L'estimateur ^ Y de Y et l'intervalle de confiance gaussien de 99 % -LRB- de demi largeur c -RRB- associ?e sont construits de fa?con classique ? a partir de r ex?ecutions . Pour valider les r?esulats obtenus pour diff?erentes valeurs de T par les diff?erentes simulations , nous avons trait?e le mod?ele par les m?ethodes num?eriques utilis?ees dans la chaine RdPS -LSB- 2 -RSB- . Les r?esultats obtenus sont r?esum?es dans les tableaux ci-dessous . Nous remarquons que plus la dur?ee T est courte -LRB- donc plus l'atteinte de l' ? etat d' ? echec est un ? ev?enement rare -RRB- plus on perd de la pr?ecision -LRB- la pr?ecision relative c = ^ Y augmente -RRB- dans les r?esultats obtenus par simulation standard et plus on gagne de la pr?ecision dans les r?esultats obtenus par simulation pr?ef?erentielle . Ainsi , l'apport d'une simulation pr?ef?erentielle est d'autant plus significative que l' ? ev?enement est rare -LRB- pour T = 0.25 h le facteur d'am ? elioration atteint 500 -RRB- . Pour avoir une pr?ecision relative d'au moins 45 % en simulation standard lorsque T = 0.25 h il faudra effectuer 500000 ex?ecutions . Le choix d'un changement de mesure proche de l'optimum est notoirement un probl?eme d?elicat . Dans cet exemple , nous avons exp?eriment?e trois valeurs de Cof : la premi?ere valeur de Cof permet de visiter dans 20 % ? a 30 % du nombre total d'ex ? ecutions des trajectoires menant ? a l' ? etat d' ? echec ; la seconde valeur est choisie de fa?con ? a visiter ces trajectoires dans 50 % du nombre total d'ex ? ecutions effectu?ees et la derni?ere valeur dans plus de 80 % . Les r?esultats montrent clairement que plus on s ' ? eloigne de l' ? equilibre -LRB- visiter les trajectoires nous int?eressant dans 50 % des cas -RRB- plus on perd de la pr?ecision dans les intervalles de confiance . Par cons?equent , le changement de mesure doit permettre ? egalement de visiter les trajectoires menant aux ? etats v?erifiant l'assertion de bon fonctionnement . figure 3 P1 P2 pannereparationfin de n r = 50000 r?esulat simulation simulation simulation simulation T = 1 heure num?erique standard Cof = 4 Cof = 6 Cof = 10 ^ Y 2:283 ? 10 ? 3 2:600 ? 10 ? 3 2:086 ? 10 ? 3 2:151 ? 10 ? 3 2:173 ? 10 ? 3 c 5:866 ? 10 ? 4 4:952 ? 10 ? 5 4:174 ? 10 ? 5 7:913 ? 10 ? 5 c = ^ Y 22.5 % 2.4 % 1.9 % 3.6 % c -LRB- sd -RRB- / c 11.8 14.0 7.4 r = 50000 r?esulat simulation simulation simulation simulation T = 0.5 heure num?erique standard Cof = 7 Cof = 10 Cof = 16 ^ Y 1:3 ? 10 ? 4 1:000 ? 10 ? 4 1:244 ? 10 ? 4 1:270 ? 10 ? 4 1:283 ? 10 ? 4 c 1:152 ? 10 ? 4 3:161 ? 10 ? 6 2:374 ? 10 ? 6 2:994 ? 10 ? 6 c = ^ Y 115.2 % 2.54 % 1.86 % 2.33 % c -LRB- sd -RRB- / c 36.4 48.5 38.4 r = 50000 r?esulat simulation simulation simulation simulation T = 0.25 heure num?erique standard Cof = 15 Cof = 19.6 Cof = 30 ^ Y 5:793 ? 10 ? 6 2:000 ? 10 ? 5 5:577 ? 10 ? 6 5:650 ? 10 ? 6 5:658 ? 10 ? 6 c 5:153 ? 10 ? 5 1:230 ? 10 ? 7 1:004 ? 10 ? 7 1:164 ? 10 ? 7 c = ^ Y 257.5 % 2.20 % 1.76 % 2.05 % c -LRB- sd -RRB- / c 420 515 442 .4 2.3 - Principes de guidage de la simulation pr?ef?erentielle L'echantillonnage pr?ef?erentiel permet , une fois d?etermin?ees les transitions dont il faut modifier la probabilit?e originelle , de corriger les estimateurs compte tenu de ces modifications . Toutefois , le probl?eme majeur de l'application de cette m?ethode r?eside dans la connaissance des transitions dont il faut modifier la probabilit?e d'occurence . Si dans les ? evaluations de disponibilit?e et de fiabilit?e , on conna ^ ? t les ? etats de panne ainsi que les ? ev?enements qui vont y mener -LSB- 1 -RSB- , dans les syst?emes nous pr?eoccupant : - d'une part , on ne sait pas si de tels ? etats de panne existent , - d'autre part , dans le cas o?u ils existent , ils surviennent ? a la suite d'encha ^ ? nement d' ? ev?enements nombreux n?ecessairement mal connus et donc mal appr?ehend?es . En cons?equence , on n ' a ? a priori aucune id?ee sur les trajectoires y conduisant et donc sur les transitions ? a modifier . Pour r?esoudre ce probl?eme , nous appliquons une approche d'exploration partielle du graphe des marquages accessibles d'un r?eseau de Petri stochastique markovien -LSB- 3 -RSB- . Cette approche tend ? a atteindre le plus rapidement possible des ? etats caract?eris?es par des assertions de mauvais fonctionnement sp?ecifi?es par le concepteur -LRB- ? etats d' ? echec -RRB- . Dans chaque marquage , un syst?eme de d?ecision permet de s?electionner les transitions susceptibles de conduire ? a de tels ? etats , guidant ainsi l'exploration du graphe . On peut ainsi caract?eriser les s?equences conduisant aux ? etats de panne . On montre des ? equations de r?eseau de Petri qu'une condition n?ecessaire d'existence d'une s?equence r?ealisable de l' ? etat Mk ? a l' ? etat d' ? echec est qu'il existe une solution enti?ere positive . Le syst?eme de d?ecision : Les ? etats de bon fonctionnement sont caract?eris?es par une fonction bool?eenne g sur l'ensemble des marquages -LRB- par exemple g -LRB- M -RRB- : M -LRB- p1 -RRB- > exprime qu'au moins un ? equipement est toujours disponible -RRB- . Dans la pratique , une telle assertion peut s ' ? ecrire sous la forme g -LRB- M -RRB- < = 0 . Soit un ? etat M > = atteignable ? a partir d'un marquage Mk par une s?equence de vecteur caract?eristique X > = 0 . S'il ne v?erifie pas l'assertion de bon fonctionnement -LRB- g -LRB- M -RRB- < = 0 -RRB- , on peut ainsi ? ecrire : 8 >> > < >> > : ? C : X < = Mk : -LRB- g -LRB- Mk + C : X -RRB- < = 0 -RRB- X > = PTk Xj > = 1 o?u Tk est le sous-ensemble des transitions tirables ? a partir de Mk . Si ce syst?eme , que nous appelons syst?eme de d?ecision en Mk , n ' a pas de solution enti?ere positive , alors il n'existe aucun ? etat d' ? echec atteignable ? a partir de Mk . S'il existe un vecteur X solution , la condition d'accessibilit ? e n ' ? etant qu'une condition n?ec?essaire , n'est pas n?ecessairement caract?eristique d'une s?equence r?ealisable . Mais , s ` il correspond effectivement ? a une s?equence r?ealisable , alors cette s?equence conduit ? a des ? etats d' ? echec . Le sous-graphe du graphe de marquages accessibles constitu?e des marquages accessibles ? a partir de Mk et guid?e par le vecteur X solution au marquage Mk est appel?e fuseau . L'id ? ee de guidage de la simulation repose sur l'exploitation d'une ? eventuelle solution de ce syst?eme . Pour ce faire , nous renfor?cons les probabilit?es des transitions dont l'indice figure dans le support de X. Ce renforcement est bas?e sur la technique d' ? echantillonnage pr?ef?erentiel pr?esent?ee . Cette modification des lois de probabilit?e des transitions ainsi d?etermin?ees va orienter la simulation plus rapidement vers les ? etats ne v?erifiant pas l'assertion . Une premi?ere id?ee d'algorithme consiste ? a tenter de guider la simulation ? a chaque ex?ecution de fa?con ? a parcourir une trajectoire r?ealisable de vecteur caract?eristique X solution du syst?eme de d?ecision en M0 . Les exp?eriences effectu?ees ? a l'heure actuelle sur un protocole de communication mod?elis?e par un r?eseau de Petri stochastique -LSB- 6 -RSB- consistent ? a r?esoudre le syst?eme de d?ecision au marquage initial . A chaque ex?ecution , ? a chaque marquage , nous renfor?cons les transitions dont l'indice figure dans le support de X et qui sont tirables en M0 ou en un marquage Mk atteint par le tir des transitions du vecteur X -LRB- X est mis ? a jour ? a chaque fois qu'une transition appartenant ? a X est tir?ee -RRB- . Si malgr?e le renforcement , la simulation s ` oriente hors de la solution , nous la laissons se poursuivre en dehors des trajectoires pr?ef?erentielles selon les donn?ees probabilistes originelles . Une ex?ecution s ` arr ^ ete : - soit sur un ? etat pendant de succ?es soit sur un ? etat d' ? echec . Les r?esultats de ces exp?eriences montrent que la r?esolution du syst?eme de d?ecision uniquement au marquage initial ne guide pas suffisamment la simulation -LRB- au bout de 10 millions d'ex ? ecutions les r?esultats sont d'une pr?ecision relative de plus 50 % -RRB- . Il nous semble plus prometteur de r?esoudre le syst?eme de d?ecision ? a chaque fois que l'on sort du fuseau d?efini par la solution X obtenu ? a un marquage Mk -LRB- au d?epart M0 -RRB- et donc d'explorer d'autres fuseaux potentiels . Conclusion Les travaux actuels de recherche portent , d'une part , sur l'exp ? erimentation des principes algorithmiques pr?ec?edents sur des syst?emes r?eels . D'autre part , il est n?ecessaire de pouvoir tirer des estimateurs des probabilt?e de d?efaillance lorsque la simulation -LRB- malgr?e le renforcement -RRB- n ' a pu aboutir . Ceci , constitue pour nous un second axe de recherche . References -LSB- 1 -RSB- A. E. Conway and A. Goyal . Monte Carlo simulation of computer system availability/reliability models . Proceeding of the seventeenth symposium of Fault Tolerant Computing -LRB- 1987 -RRB- Vol 6 pp 230-235 . -LSB- 2 -RSB- G. Florin S. Natkin . RdPS : a software package for the evaluation and the validation of dependable computer systems . Proc . IFAC , Safecomp , Sarlat , France , 1986 . -LSB- 3 -RSB- G. Florin C. Fraize S. Natkin . Searching best paths to worst states . Petri Nets Performance Models -LRB- the proceedings of the fourth international workshop , december 1991 -RRB- pp 204-209 . -LSB- 4 -RSB- G. Florin C. Fraize S. Natkin Stochastic Petri Nets : properties , applications and reliability . Micro-electronics and reliability -LRB- 1991 -RRB- Vol 31 Nu 4 , pp 669-698 . -LSB- 5 -RSB- G. Florin Les r?eseaux de Petri Stochastiques , th?eorie , t?echniques decalcul , applications , th?ese de Doctorat d'Etat , Universit?e de Paris VI , juin 1985 . -LSB- 6 -RSB- C.Fraize Validation Probabiliste des syst?emes s?ecuritiares ou distribu?es mod?elis?es en termes de r?eseaux de Petri Stochastiques , Th?ese de Doctorat , CNAM Paris , Fevrier 1993 . -LSB- 7 -RSB- A. Goyal , P.Shahabudin , P.heidelberger , V. F. Nicola , P. W. Glynn . A unifed framework for simulating makovian models of highly dependable systems . IEEE Transactions on Computer -LRB- January 1992 -RRB- Vol 41 Nu 1 . -LSB- 8 -RSB- P. W. Glynn D. L. Iglehart . Importance Sampling for stochastic simulations . Management Science -LRB- November 1989 -RRB- Vol 35 Nu 11 . -LSB- 9 -RSB- S. Natkin Les r?eseaux de Petri Stochastiques , th?eorie , t?echniques decalcul , applications , th?ese de Doctorat d'Etat , Universit?e de Paris VI , juin 1985 . -LSB- 10 -RSB- V. F. Nicola M. K. Nakayama P. Heidelberger A. Goyal . Fast simulation of dependability models with general failure , repair and maintenance processes . Proceedings of the twentieth symposium on fault - tolerant computing -LRB- 1990 -RRB- pp 491-498 . -LSB- 11 -RSB- V. F. Nicola M. k. Nakayama P. Heidelberger A. Goyal . Fast simulation of highly dependable systems general failure and repair processes . IBM Research Report -LRB- 1991 -RRB- RC 16993 . -LSB- 12 -RSB- J. P. C. Kleijnen . Statistical Techniques in simulation . Part 1 Marcel Dekker -LRB- 1974 -RRB- .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O B I I I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O

dependable systems
guided simulation
importance sampling
probabilistic validation
variance reduction
worst event driven simulation