Principe de HiP-HOPS et analyses de dépendances

Back to Listing

Principe de HiP-HOPS et analyses de dépendances

Un article décrivant le principe de HiP-HOPS (plugin proposé dans notre offre) et les analyses de dépendances

Voici un petit exemple ou cas pratique qui vous permettra de mieux assimiler le principe du plugin Hip-Hops et aussi d'appréhender la notion d'analyse de dépendance si vous n'êtes pas encore familier.

Prenons une architecture sous Matlab Simulink avec 3 fonctions:
Architecture fonctionnelle

  • Fonction 1
  • Fonction 2
  • Fonction 3

Nous cherchons à déterminer les causes de panne de notre système et l'ordre de ces pannes (les cas de panne simple, multiple, etc.). Pour cela, nous allons, utiliser HiP-HOPS pour déclarer le cas de panne redouté au niveau système, par exemple nous redoutons que le système soit inopérant.

Description des risques redoutés au niveau système

Nous allons alors caractériser un événement "Systeme_inoperant". Cet événement sera décrit comme la perte de la sortie de la fonction 3 "Out1", logique qu'il sera nécessaire de décrire dans l'outil pour qu'il puisse faire le lien entre cet évènement de haut niveau et la perte du signal au niveau fonction.

Description des risques inhérents à chaque fonction

Nous allons aussi grâce au plugin déclarer les pannes inhérentes à chaque fonction. Par exemple:

  • L’événement "Perte Fonction_1" sera alloué à la "fonction 1",
  • L’événement "Perte Fonction_2" sera alloué à la "fonction 2",
  • L’événement "Perte Fonction_3" sera alloué à la "fonction 3".

Chacun de ces événements pourra également être caractérisé en termes de probabilité d’occurrence ("Failure rate").

Description des conditions menant aux risques en sortie de fonction

Il est aussi nécessaire de caractériser les conditions amenant à la perte des signaux de sortie de chaque fonction, par exemple:

  • perte.fonction3.Out1 = PerteFonction3 + perte.fonction3.in1 * perte.fonction3.in2 (ce qui revient à dire que nous perdons la sortie de la "fonction 3" si les deux fonctions "fonction 1" et "fonction 2" perdent également leurs sorties - toutes les deux en même temps - ou si nous perdons la fonction 3 tout simplement),
  • perte.fonction2.Out1 = PerteFonction2 + perte.fonction2.in1 + perte.fonction2.in2,
  • perte.fonction1.Out1 = PerteFonction1 + perte.fonction1.in1 * perte.fonction1.in2.
Génération de l'analyse des dépendances du système

Nous avons désormais caractérisé notre système en termes de risques. HiP-HOPS entre désormais en jeu et nous permet de générer automatiquement une analyse des pannes et des dépendances au travers des flux; HiP-HOPS va analyser les flux transitant entre chaque bloc (ici des fonctions) et va faire le lien entre les descriptions des risques réalisées précédemment.

De par l'analyse des flux, HiP-HOPS détermine que:

  • fonction3.in1 = fonction2.out1,
  • fonction3.in2 = fonction1.out1,
  • fonction2.in1 = fonction1.out1.

FTA

Ainsi, HiP-HOPS va remplacer la déclaration suivante:

  • perte.fonction3.Out1 = PerteFonction3 + perte.fonction3.in1 * perte.fonction3.in2

par:

  • perte.fonction3.Out1 = PerteFonction3 + perte.fonction2.out1 * perte.fonction1.out1
  • perte.fonction3.Out1 = PerteFonction3 + ( PerteFonction2 + perte.fonction2.in1 + perte.fonction2.in2 ) * ( PerteFonction1 + perte.fonction1.in1 * perte.fonction1.in2 )

[...] (pour arriver à):

  • perte.fonction3.Out1 = PerteFonction3 + ( PerteFonction2 * PerteFonction1 + PerteFonction2 * perte.fonction1.in1 * perte.fonction1.in2 + perte.fonction2.in1 * PerteFonction1 + perte.fonction2.in1 * perte.fonction1.in1 * perte.fonction1.in2 + PerteFonction1 + PerteFonction1 * perte.fonction1.in1 * perte.fonction1.in2 + perte.fonction1.in1 * perte.fonction1.in2 * PerteFonction1 + perte.fonction1.in1 * perte.fonction1.in2 )

On le voit dans cet exemple avec seulement 3 fonctions, les analyses de sûreté de fonctionnement peuvent très facilement atteindre des niveaux de complexité importants.

Réduction de l'équation ou coupe minimal (Minimal Cut Set)

Néanmoins, il existe quelques règles qui vont permettre de minimiser cette équation telles que risqueA * risqueB + risqueA est équivalent à risqueA:

  • perte.fonction3.Out1 = PerteFonction3 + PerteFonction1 + perte.fonction1.in1 * perte.fonction1.in2

Sachant que nous avons défini "Systeme_inoperant" = perte.fonction3.Out1, HiP-HOPS est en mesure de déduire que:

Minimal Cut Set

  • "Systemeinoperant" = PerteFonction3 + PerteFonction_1 + perte.fonction1.in1 x perte.fonction1.in2

Ce que cette minimisation démontre, c'est le jeu minimal des risques qui peut déclencher notre événement redouté système. La coupe minimale permet d'identifier immédiatement les événements simples (PerteFonction3 et PerteFonction1) et combinés (perte.fonction1.in1 * perte.fonction1.in2) qui mènent directement à la panne "Systeme_inoperant":

  • Evènement simple signifiant que la seule occurence de cet évènement déclenchera la panne,
  • Evènements combinés signifiant qu'il faut à minima deux évènements combinés pour déclencher la panne système.

Ces analyses sont difficiles à réaliser en temps normal sans le plugin HiP-HOPS. Ici, l'analyse est automatique, et de plus, basée sur l'architecture des équipes de développement. Elle est donc consistante.

Conclusion

HiP-HOPS rend disponible le résultat minimisé et non minimisé sous forme d'arbres de défaillance (FTA) et d'AMDECs (FMECA). Nous avons vu le résultat sur un système simple. Sur un système complexe, l'analyse des dépendances et la minimisation est très complexe et consommatrice, voir impossible.

Les forces du plugin HiP-HOPS sont:

  • L'analyse des dépendances du système à partir de blocs - offrant ainsi la possibilité de réutilisation de bibliothèques embarquant la safety et les comportements physiques et fonctionnels,
  • Basée sur un référentiel partagé, les modèles qui rassemblent toutes les composantes R&D et safety - évitant ainsi les silos,
  • La génération de documentation automatique des arbres de défaillance et des FMECAs - évitant ainsi l'introduction inutile d'erreurs dans une activité critique.

Pour davantage d'informations sur HiP-HOPS, rendez-vous sur la rubrique du plugin.

Share this story
comments powered by Disqus

 

Essayez Cockpit maintenant! Back to top