• Aucun résultat trouvé

Les objets utilisés pour la modélisation en système à événement discret

CHAPITRE 5: Modele de simulation

3. Modélisation multi-paradigmes de la sécurité d’un site industriel

3.3 La classe Main

3.3.1 Les objets utilisés pour la modélisation en système à événement discret

Le premier élément de la figure 5-7 est un objet « source ». Cet élément génère l’arrivée des camions au site de stockage de GPL (figure 5-6). Le deuxième objet permet de modéliser et de simuler une file d’attente. Une file d’attente est créée lorsque :

 Un GrosPorteur est déjà dans le site ;

 Le réservoir est au-delà de 84,5% ;

Un GrosPorteur peut sortir de cet objet de deux manières :

 Soit par la sortie normale, si le temps d'attente est plus inférieur à une heure ;

170

Figure 5-7 Partie SED du Main distinguant les différentes branches possibles selon le niveau de formation du chauffeur du camion gros porteur

171

Table 5-2: Les éléments du modèle SED dans la classe main Cet objet génère l’arrivée des camions

Cet objet dans Anylogic permet la création d’une file d’attente et permet deux possibilités de cheminer un agent :

 Chemin de la procédure : C’est le chemin que le GP emploie quand il a fini de faire la queue

 Chemin alternatif : C’est le chemin que le GP emploie si il est toujours dans la queue au bout du Timeout : hour()

Bloque les gros porteurs lorsque le réservoir atteint un trop haut niveau de GPL. Ce hold initialement ne bloque pas le GP que lorsqu’une alerte de niveau haut est déclenchée. Cet objet débloque le GP lorsque le réservoir revient à son niveau normal

Bloque les gros porteurs lorsqu'un gros porteur est déjà dans le site. Un seul gros porteur peut entrer dans le site. (Le prochain GP qui arrive au site tant que le premier n’est pas sorti

Déplace le GP porteur au nœud « node 1 » qui correspond au point d’identification.

Cet objet est un service il permet d’assurer le processus d’identification et de vérification

Cette entité permet de continuer l’animation selon les différentes conditions de l’identification

Dépendamment des cas, elle permet d’animer le déplacement des camions

Cette entité déplace l’objet au poste de déchargement donc au nœud « node5 »

172

Cet objet « saisirPosteDéchargement » s’assure de la disponibilité de la ressource qui est dans ce cas une ressource « ressourcePoolDéchargement » « static » (PosteDéchargement) Le statut du poste déchargement. De base la capacité du poste est 1. Lorsque le poste est :

 Utilisé : Le poste ne peut pas servir un autre camion et une file d’attente est créée

 Usé

 En Réparation

 Endommagé

Cet objet décrit le temps de chaque étape de déchargement selon le mode :

Cet objet permet de libérer la (les) unité(s) de ressource(s) saisie(s).

Cet objet permet de bloquer le gros porteur dans le cas où le temps disponible est écoulé, alors que le temps nécessaire n'est pas fini

Ce code est exécuté lors de l’arrivée du camion au nœud « node6 » //Réinitialise le texte "Identification et autorisation du chauffeur" text.setText ("");

//Réinitialise le texte "Vérification de la conformité du camion" text2.setText ("");

//Réinitialise le texte "Etapes de déchargement" du posteDéchargement posteDéchargement.text1.setText ("");

//Réinitialise le texte "Erreurs / oublis corrigé(e)(s)" du posteDéchargement

posteDéchargement.text4.setText ("");

Cet objet permet de déplacer le gros porteur du nœud d'intersection « node6 » au nœud « node10 »

Lorsque le camion sort définitivement du site, ce code est exécuté ; //Débloquer l'entrée d'un gros porteur dans le site.

hold5.unblock ();

//Réinitialise le texte "Déroulement de la procédure de déchargement" et réinitialise sa couleur à noir.

text39.setText(""); text39.setColor(black);

//Réinitialise le paramètre "tempsPasséDéchargement" du posteDéchargement à 0.

posteDéchargement.tempsPasséDéchargement=0;

//Réinitialise le paramètre "tempsDisponibleDéchargement" du posteDéchargement à 20 minutes (/bug/je ne sais plus si c'est utile/debug/).

posteDéchargement. tempsDisponibleDéchargement=20*minute (); //Réinitialise le texte affichant le nombre d'erreurs/oublis durant la procédure de déchargement.

text41.setText ("");

//Reinitialise le texte affichant le comportement du chauffeur face à un retard.

text43.setText ("");

173

text45.setText ("");

//Réinitialise le texte "Manque de temps" text50.setText ("");

//Réinitialise le texte "Manque de compétence" text51.setText ("");

//Réinitialise le texte "Manque de ressource" text52.setText ("");

Fin de l’animation pour une source donnée

Les objets « hold » permettent de bloquer les entités. C’est pourquoi ils sont souvent précédés d’un objet « queue », modélisant une file d’attente. D’ailleurs, si l’attente dépasse un certain temps, l’entité peut être redirigée dans une autre branche du SED. Dans la figure 5-8 le 3ième et le 4ième objet qui représentent un « hold » :

 Bloque les gros porteurs lorsque le réservoir atteint un trop haut niveau de GPL.

 Bloque les gros porteurs lorsqu'un gros porteur est déjà dans le site. Un seul gros porteur peut entrer au site.

Figure 5-8 Conséquence du déclenchement de l'alerte niveau bas sur le système d’événements discrets.

174

L’objet « allerSIdentifier » permet le déplacement du GP de l'entrée du site nœud <node> vers le nœud destiné à l'identification <node1>.

L’objet (Service) « identification » (figure 5-7,5-8), permet d’orienter l’agent vers l’une des 2 bornes de sortie de cet objet en fonction des instructions du code informatique, la sortie par l’une des deux bornes peut alors assurer selon des conditions, aléatoirement ou en indiquant par instruction de ligne de code le numéro de la borne de sortie.

Pour assurer la fonction d’identification, cet objet « Service » nécessite la sollicitation d’une entité nommée dans la librairie du logiciel « Ressource Pool ».

Table 5-3: Explication des objets du diagramme SED

Objets

Service Ressource Pool Ressource Pool

Deux objets assurent l’identification :

 Service : Un service est constitué de trois sous objets encapsulés (Seize + Delay + Release) • Seize : cet objet sollicite une unité de ressource de la RessourcePool

(RessourcePoolPompiste)

• Delay : cet objet retarde le camion pendent un certain temps (2*minutes) • Release : cet objet relâche l’unité sollicitée

 RessourcePool : cet objet possède plusieurs unités. Elles peuvent être de 3 types (Moving, Static, Portable) :

• Moving : ce type permet aux unités de se déplacer • Static : ce type ne permet pas aux unités de se déplacer

• Portable : ce type permet aux unités d’être portées par des agents (ne se déplace qu’avec un agent)

175

Trois pompistes sont présents dans la salle de contrôle : à l’arrivée d’un camion, l’un se déplace selon la disponibilité définie dans l’objet « ressourcePoolPompiste ».

Avant la sortie de cet objet (On at exit), la fonction « Identification » de l’interface agent « Pompiste » est sollicité (figure12). Le résultat de cette fonction est enregistré dans le paramètre « identifiant » dans l’interface agent « Chauffeur ».

Le contrôle s’effectue dans l’interface Agent Pompiste par sollicitation de la fonction <Identification> voir (section 3.2).

L’hypothèse de départ est qu’un camion-citerne (petit porteur ou gros porteur) est entré dans le site et s’est arrêté au stop. En termes de simulation, cela signifie qu’une des deux sources a généré un agent (petit ou gros porteur), et que cet agent a atteint l’objet Service, appelé « identification ». Ainsi, le pompiste est appelé (une unité de ressource « pompiste » est saisie), l’identification prend quelques minutes, puis, à la sortie de l’objet service, la fonction « Identification » du pompiste est appelée (prenant le chauffeur en argument) et renvoie un chiffre (1, 2, 3 ou 0) (Figure 5-7, 5-8). L’objet (SelectOutput5) nommé « validationDéchargement » oriente l’agent vers une des bornes de sorties dépendamment du paramètre identifiant.

Table 5-4: Orientation de l’objet (SelectOutput5)

identifiant= 0 identifiant= 1 identifiant= 2 identifiant= 3

La citerne, le tracteur, le chauffeur ou l'opération n'est pas conforme. Le chauffeur fait le tour pour ressortir. La citerne et le tracteur sont conformes. Le chauffeur est formé et audité, il opère en self- service.

La citerne et le tracteur sont conformes. Le chauffeur est simplement formé, il opère sous surveillance du pompiste qui l'identifie.

La citerne et le tracteur sont conformes. Le chauffeur n'est pas formé, le pompiste opère.

Sorties 4 et 5 Sortie 1 Sortie 2 Sortie 3