Différences
Ci-dessous, les différences entre deux révisions de la page.
les_scenarios [2015/09/09 21:59] |
les_scenarios [2021/03/20 21:14] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Les scénarios ====== | ||
+ | |||
+ | ===== Généralité ===== | ||
+ | |||
+ | Lorsque l'on modélise un système avec des arbres de défaillances, | ||
+ | |||
+ | Arbre-Analyste propose une gestion de scénarios avancée qui permet de modifier de façon automatique la structure des arbres et les paramètres des évenements. | ||
+ | |||
+ | ===== Utilisation des scénarios ===== | ||
+ | |||
+ | Les scénarios sont décrits par l' | ||
+ | |||
+ | Voici deux exemples simples: | ||
+ | |||
+ | <code python># Modification de la prise en compte des erreurs humaines | ||
+ | E(" | ||
+ | E(" | ||
+ | </ | ||
+ | |||
+ | Le scénario ci-dessus change le paramètre " | ||
+ | |||
+ | <code python># Ne plus prendre en compte les défaillances du contrôle-commande | ||
+ | E(" | ||
+ | </ | ||
+ | |||
+ | Le scénario ci-dessus détache la porte " | ||
+ | |||
+ | ===== Syntaxe des scénarios ===== | ||
+ | |||
+ | Une instruction d'un scénario est constituée de deux parties: | ||
+ | |||
+ | - Un sélecteur qui permet d' | ||
+ | - Les actions que l'on souhaite exécuter sur l' | ||
+ | |||
+ | ==== Le sélecteur ==== | ||
+ | |||
+ | Pour sélectionner un élément, il est nécessaire d' | ||
+ | |||
+ | - **E()**; | ||
+ | |||
+ | Elle s' | ||
+ | |||
+ | <code python># Exemple de sélection d'une porte dont le nom est CA_01 | ||
+ | E(" | ||
+ | # Exemple de sélection de l’événement de base EH001 | ||
+ | E(" | ||
+ | </ | ||
+ | |||
+ | ==== Les actions ==== | ||
+ | |||
+ | Les actions permettent de modifier un élément de l' | ||
+ | |||
+ | === Actions sur les événements: | ||
+ | |||
+ | - **Description()** | ||
+ | - **Etat()** | ||
+ | - **Loi()** | ||
+ | - **Lambda()** | ||
+ | - **Mu()** | ||
+ | - **Probabilite()** | ||
+ | - **Mttr()** | ||
+ | - **Alpha() ** : permet de changer le paramètre nommé du champ α de l' | ||
+ | - **Beta() ** : permet de changer le paramètre nommé du champ β de l' | ||
+ | - **Tau() ** : permet de changer le paramètre nommé du champ τ de l' | ||
+ | - **Teta() ** : permet de changer le paramètre nommé du champ θ de l' | ||
+ | - **Temps()** | ||
+ | === Actions sur les portes: === | ||
+ | |||
+ | - **Description()** | ||
+ | - **Logique()** | ||
+ | - **Attacher()** | ||
+ | - **Detacher()** | ||
+ | |||
+ | ==== Les commentaires ==== | ||
+ | |||
+ | Afin d' | ||
+ | |||
+ | - Les commentaires d'une seule ligne sont tout simplement précédés du caractères #; | ||
+ | - Les commentaires multi-lignes sont entourés de trois ". | ||
+ | |||
+ | <code python># Commentaire sur une seule ligne | ||
+ | |||
+ | """ | ||
+ | Voici un commentaire | ||
+ | qui est écrit | ||
+ | sur plusieurs lignes | ||
+ | """ | ||
+ | </ | ||
+ | |||
+ | ===== Utilisation avancée des scénarios ===== | ||
+ | |||
+ | Les scénarios sont réalisés par l' | ||
+ | |||
+ | On peut, par exemple, utiliser des boucles: | ||
+ | |||
+ | <code python># Changement de la probabilité des erreurs humaines. | ||
+ | # Événements à modifier : EH1, EH2, EH3, EH4, EH5 | ||
+ | for e in (" | ||
+ | E(e).Probabilite(" | ||
+ | </ | ||
+ | |||
+ | On peut aussi utiliser des variables: | ||
+ | |||
+ | <code python># Changement de la probabilité des erreurs humaines. | ||
+ | # Événements à modifier : EH1 à EH100 soit 100 évènements de base | ||
+ | # Initiation d'une variable | ||
+ | compteur = 1 | ||
+ | # On boucle afin de traiter les 100 évènements | ||
+ | while compteur < 101: | ||
+ | # Reconstitution du nom de l' | ||
+ | nom = " | ||
+ | # On traite chacun des évènements | ||
+ | E(nom).Probabilite(" | ||
+ | # On incrémente la variable afin de traiter l' | ||
+ | compteur = compteur + 1 | ||
+ | </ | ||
+ | |||
+ | Voici un exemple pour attacher et pour détacher un ensemble de portes: | ||
+ | |||
+ | <code python># On liste dans une variable l' | ||
+ | # avec le nom de la porte " | ||
+ | listePortes = ( | ||
+ | (" | ||
+ | (" | ||
+ | (" | ||
+ | (" | ||
+ | (" | ||
+ | (" | ||
+ | ) | ||
+ | |||
+ | # Rattacher chacune des portes à sa porte " | ||
+ | # On créé une boucle afin de traiter chacune des portes | ||
+ | for porte, parent in listePortes: | ||
+ | E(porte).Attacher(parent) | ||
+ | |||
+ | # Détacher chacune des portes | ||
+ | # On créé une boucle afin de traiter chacune des portes | ||
+ | for porte, parent in listePortes: | ||
+ | E(porte).Detacher(parent) | ||
+ | </ | ||