• Aucun résultat trouvé

Aperçu sur la démarche de modélisation

Chapitre III. Modèle de simulation à base d'agent pour le terminal multimodal

1. Aperçu sur la démarche de modélisation

2.1. Structure et contexte ...93

2.1.1. Organisation physique du TMM ... 94 2.1.2. Définition du contexte ... 96

2.2. Modélisation des besoins et des objectifs ...97 2.3. Modèle primitif ... 100 2.4. Diagramme de cas d’utilisation ... 100

3. Analyse de cas d’utilisation ... 103

3.1. Fiche descriptive ... 104 3.2. Diagramme d’activité ... 108 3.3. Modèle de simulation générale ... 110

4. Conception du modèle multi-agents ... 111

4.1. Agentification ... 112 4.1.1. Comportements ... 116 4.1.2. Messages ... 119 4.2. Classification du système ... 122 4.2.1. Sous-système de contrôle ... 122 4.2.2. Sous-système de représentation ... 124

4.3. Modèle de simulation à base d’agents ... 125

4.3.1. Activités terrestres ... 126 4.3.2. Activités fluviales ... 128 4.3.3. Activités de transfert ... 128

5. Structure du modèle exécutable ... 129

5.1. Package : TMMResourceModel ... 129 5.2. Package : TMMControllerModel ... 131 5.3. Package : TMMAgentsModel ... 131 5.4. Les événements et les listeners ... 132

Ce chapitre présente le modèle de simulation à base d’agents du terminal multimodal du port du Havre et la démarche de modélisation utilisée pour le construire. La première section expose brièvement cette démarche. La deuxième section présente le contexte du système étudié (TMM) et décrit les besoins de la simulation. La troisième section s’intéresse à l’analyse des cas d’utilisation et à la description des activités du système. La quatrième section se focalise sur la conception et la classification du système de gestion des opérations. La cinquième section aborde l’organisation et le packaging du modèle de simulation. La dernière section résume ce chapitre.

1. Aperçu sur la démarche de modélisation

Mettre en place un modèle à base d’agents pour simuler le déroulement des opérations d’un système caractérisé par un aspect complexe et dynamique est une tâche laborieuse, qui nécessite la définition d’une série d’étapes de modélisation. A cet effet, nous avons adopté un processus de modélisation itératif constitué d’un ensemble d’étapes arrangées en plusieurs phases (l’initialisation, l’analyse, la conception et l’implémentation, voir Figure III.1). Les différentes phases de développement sont liées par une série de diagrammes qui permet d’exprimer de façon claire les éléments et les relations formant le modèle de simulation et de le raffiner au fur et à mesure pour à la fin arriver à une élaboration complète du modèle de simulation. Ces phases sont issues de plusieurs méthodologies et bonnes pratiques dans la littérature de la modélisation des systèmes, y compris, UP (Unified Process), Drogoul et al. (Drogoul et al. 2003), Tropos de (Bresciani et al. 2004), ELDAMeth de (Fortino and Russo 2012) et easyABMS de (Garro and Russo 2010). D’ailleurs, le passage en avant d’une phase à l’autre, également le retour en arrière au cas où certains points nécessaires à la phase en cours n’ont pas été bien définis, permet au modèle de gagner en complexité et en détail (le modèle final est un modèle à bas niveau d’abstraction).

La première phase (initialisation) : elle consiste tout d’abord à définir le contexte et à décrire l’organisation physique du système, c’est-à-dire, mettre en évidence les entités externes en relation avec le système, les composants internes du système et les acteurs internes agissant dans le système. Ensuite, à capturer et à scinder les processus métiers, et les besoins fonctionnels et non-fonctionnels du système dans un ensemble d’unités cohérentes, i.e., les cas d'utilisation. Enfin, à exprimer explicitement les relations entre ces cas d’utilisation et les acteurs qui les exécutent.

La deuxième phase (analyse) : cette phase s’articule autour de la description textuelle de chaque cas d’utilisation en exposant les différents acteurs impliqués et la suite d’actions à exécuter. Ces actions sont ensuite présentées de façon formelle via le diagramme d’activités d’UML.

La troisième phase (conception) : elle concerne l’agentification du système. En effet, chaque acteur ayant un rôle dans le système est modélisé sous forme d’un agent, qui possède des comportements en automate à états finis ou cycliques, des connaissances, des objectifs et

agent et les influences agent-environnement sont aussi déterminées, tout en respectant la relation entre l’état interne et les perceptions externes de l’agent. La dernière étape dans cette phase est une structuration du système basée sur un regroupement fonctionnel cohérent. Nous avons distingué deux sous-systèmes : un système contenant les agents de contrôle et un système qui regroupe les agents représentant les équipements de manutention et les modes de transport. La quatrième phase (finalisation) : cette dernière phase se focalise d’une part sur le packaging et le codage du modèle de simulation, et d’autre part sur la vérification et la validation pour prouver que le modèle reflète le comportement réel du système étudié.

D’un autre côté, ces phases de développement sont fondées sur deux types de diagrammes : les diagrammes statistiques et les diagrammes dynamiques. Le premier type permet de décrire le système à simuler et les buts à atteindre et aussi d’identifier les acteurs, les composants et la structure globale du système. Alors que le deuxième type se focalise sur les interactions entre les acteurs et les composants du système en mettant en évidence le comportement de chaque élément, en plus d’offrir une description à bas niveau d’abstraction. Par ailleurs, en vue d’avoir une conception cohérente du modèle avec le système réel, nous avons utilisé le paradigme agent pour les entités autonomes et le paradigme objet pour les entités passives. Ces entités sont décrites de façon formelle via les langages de modélisation UML et AML. Quant à la simulation du modèle, elle est basée sur deux approches : la

Initialisation :

 Définition des besoins.

 Description du système d’étude.  Élaboration des cas d'utilisation.

Analyse :

 Description textuelle des cas d'utilisation.

 Description graphique des cas d'utilisation.

Conception :

 Agentification du système.  Classification du système.

Finalisation :

 Structuration du code.  Codage de la simulation.  Débogage du code.

 Vérification et validation du modèle.

simulation à événements discrets et la simulation à base d’agents. Dans ce travail, la simulation est codée en langage JAVA sous l’outil Anylogic.

Documents relatifs