Académique Documents
Professionnel Documents
Culture Documents
Arme Chariot
Butée
Rampe
Plateforme inclinable
Prolonge
©Naval Group, 2022, All rights reserved.
Plusieurs événements redoutés sont identifiés sur cette Un modèle a été réalisé pour vérifier que les premières
installation. bases définies pour les Fonctions Instrumentées de Sécurité
permettait d’assurer une couverture complète vis-à-vis des
Le principal événement redouté correspond à la perte de commandes intempestives (manuelles ou fonctionnelles).
maintien de l’arme lors d’une phase où elle se trouve sur un Celui-ci a été construit grâce au logiciel SimfiaNeo[1]
plan incliné ce qui occasionne sa chute par glissement (angle développé par la société AIRBUS Protect. Ce logiciel utilise
d’inclinaison suffisamment important pour que le poids le langage AltaRica DataFlow qui est particulièrement adapté
propre de l’arme entraîne son glissement). au traitement des systèmes complexes.
Le retour en position horizontale de la plateforme avec une Les différents éléments graphiques ont été superposés afin
arme engagée dans le sas ainsi que la poussée de l’arme sur de proposer une vision synthétique permettant de suivre
plateforme au-delà de son centre de gravité sont également facilement l’évolution du système lors d’une simulation pas-
redoutés. à-pas et d’améliorer le dialogue avec les concepteurs de
Il est primordial que les événements redoutés soient tous l’installation. La représentation graphique obtenue (Figure 2)
identifiés pour ensuite être intégrés au modèle car le moteur est équivalente à celle issue des documents d’entrée (Figure
de calcul ne permettra de détecter que les séquences générant 1).
les situations redoutées indiquées par le modélisateur.Modèle
i_weapon_presence_WES
gérer les opérations et le contrôle commande.
i_trolley_at_home
i_trolley_locked
case {
i_trolley_at_home and ~i_weapon_presence_WES : true,
i_trolley_at_home and i_trolley_locked : true,
else
false
}
home WES_home
weapon_home_to_WES_home
weapon_WES_home_to_WES
weapon_WES_to_WES_home
Initial state
(Default)
weapon_none_to_WHS weapon_WES_to_none
Initial state
WHS none WES
(Start_emb)
weapon_WHS_to_none weapon_none_to_WES
weapon_WHS_to_sas weapon_sas_WES_to_WES
weapon_sas_to_WHS weapon_WES_to_sas_WES
weapon_WES_sas_to_sas
sas sas_WES
Cette étape reste délicate car il s’agit de traduire les B. Génération de Séquences
événements redoutés en combinaisons d’états de variables et Pour générer les séquences, le moteur de calcul
d’entrées / sorties. stochastique de Simfianeo a été utilisé avec les paramètres
suivants :
Par exemple, l’événement redouté “perte de maintien de
l’arme lors d’une phase où elle se trouve sur un plan incliné” • Ordre : 100 (cet ordre est volontairement élevé afin de
a été traduit de la façon suivante : permettre un nombre important de combinaisons de
séquences fonctionnelles)
• L’arme doit être en cours d’embarquement ou de
débarquement. En termes d’états, cela • Nombre d’histoires : 100 000 (le nombre d’histoire est
correspond aux positions de l’arme différentes modéré car les probabilités d’occurrences des
d’absente (weapon_position != none) ou en événements sont élevées du fait du taux de défaillance
appui sur la rampe (weapon_position != WHS) égal à 1 h-1).
• La plateforme doit être inclinée ce qui signifie La première tentative de génération de séquence a identifié
que son angle doit être supérieur à 0 (angle > 0) de très nombreuses séquences. L’analyse de ces séquences
• Le chariot doit être déverrouillé (réalisée grâce à la simulation pas-à-pas) a rapidement permis
(~Logic.positions.o_trolley_locked) d’identifier que bon nombre d’entre elles étaient en réalité
L’observer correspondant s’écrit donc de la façon dues à une mauvaise définition de l’observer venant ainsi
suivante : confirmer la difficulté de l’étape de traduction des événements
redoutés en observer.
((Logic.positions.weapon_position != WHS) and
Une fois les corrections réalisées, la génération de séquence a
(Logic.positions.weapon_position != none)) permis d’identifier environ 7500 séquences (voir
and (Tilt_mech.angle > 0)
and ~Logic.positions.o_trolley_locked Tableau 1). Il existe donc des combinaisons d’opérations
non couvertes par les Fonctions Instrumentées de Sécurité.
III. RÉSULTATS
A. Simulation pas-à-pas
La simulation pas-à-pas du modèle a été utilisée surtout
pour vérifier que la logique sécuritaire mise en place
# Elements Order
1 Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Logic.positions.trolley_unlock 3
2 Logic.positions.trolley_lock & WHS.return_horiz & Tilt_mech.tilt_to_50 & Logic.positions.trolley_unlock 4
3 Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Rear_stop.unlock_rear_stop & Logic.positions.trolley_unlock 4
4 Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & WHS.return_horiz & Logic.positions.trolley_unlock 4
5 Rear_stop.unlock_rear_stop & Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Logic.positions.trolley_unlock 4
6 WHS.return_horiz & Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Logic.positions.trolley_unlock 4
7 Logic.positions.trolley_lock & Rear_stop.unlock_rear_stop & Tilt_mech.tilt_to_50 & Logic.positions.trolley_unlock 4
8 Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Tilt_mech.tilt_to_100 & Logic.positions.trolley_unlock 4
9 WHS.return_horiz & Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Rear_stop.unlock_rear_stop & 5
Logic.positions.trolley_unlock
10 Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Rear_stop.unlock_rear_stop & Tilt_mech.tilt_to_100 & 5
Logic.positions.trolley_unlock
11 Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Tilt_mech.tilt_to_100 & WHS.return_horiz & Logic.positions.trolley_unlock 5
12 Logic.positions.trolley_lock & WHS.return_horiz & Tilt_mech.tilt_to_50 & WHS.tilting_locking & Logic.positions.trolley_unlock 5
13 Rear_stop.unlock_rear_stop & WHS.return_horiz & Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & 5
Logic.positions.trolley_unlock
14 Logic.positions.trolley_home_to_WES & Logic.positions.trolley_WES_to_home & Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 5
& Logic.positions.trolley_unlock
15 Logic.positions.trolley_lock & Rear_stop.unlock_rear_stop & Tilt_mech.tilt_to_50 & Rear_stop.lock_rear_stop & 5
Logic.positions.trolley_unlock
16 WHS.return_horiz & Logic.positions.trolley_lock & WHS.tilting_locking & Tilt_mech.tilt_to_50 & Logic.positions.trolley_unlock 5
17 WHS.return_horiz & Rear_stop.unlock_rear_stop & Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & 5
Logic.positions.trolley_unlock
18 WHS.return_horiz & Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Tilt_mech.tilt_to_100 & Logic.positions.trolley_unlock 5
Pour analyser ces séquences, Simfianeo offre deux mieux appréhender les causes de déclenchement de
fonctionnalités intéressantes : l’événement redouté.
• Un post-traitement de minimisation des séquences qui La minimisation montre que toutes les séquences
permet de ne retenir que les séquences minimales (voir identifiées partagent une seule et unique séquence
Tableau 2) correspondant à une faille dans les Fonctions Instrumentées de
Sécurité. Cette faille correspondait à la possibilité d’incliner
• La possibilité de choisir une séquence et de la la plateforme après avoir verrouillé le chariot sans qu’il soit
reproduire en simulation pas-à-pas ce qui permet de en contact avec l’arme (« dans le vide »).
Tableau 2 : Résultat synthétique de la génération de séquences
# Elements Order
1 Logic.positions.trolley_lock & Tilt_mech.tilt_to_50 & Logic.positions.trolley_unlock 3
i_trolley_locked
Figure 8 : Logique de la fonction de Sécurité sur l’inclinaison de la Figure 9 : Bloc virtuel “tilting author”– version finale
plateforme – version finale