Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf ·...

120
Une approche multiagent pour la planification des trajectoires des navires dans un espace spatio-temporel Mémoire présenté à la Faculté des études supérieures de l'université Laval pour l'obtention du grade de Maître ès Sciences (M. Sc.) Département d'informatique FACULTE DES SCIENCES ET GENIE UNIgrERSITE LAVAL MAI 2001 O Nafaâ Jabeur, 2001

Transcript of Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf ·...

Page 1: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Une approche multiagent pour la planification des trajectoires

des navires dans un espace spatio-temporel

Mémoire présenté

à la Faculté des études supérieures de l'université Laval

pour l'obtention du grade de Maître ès Sciences (M. Sc.)

Département d'informatique FACULTE DES SCIENCES ET GENIE

UNIgrERSITE LAVAL

MAI 2001

O Nafaâ Jabeur, 2001

Page 2: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

National Library I * m of Canada Bibliothèque nationale du Canada

Acquisitions and Acquisitions et Bibliographie Services services bibliographiques

395 Wellington Street 395. nie Wellington Ottawa ON K? A ON4 Ottawa ON K I A ON4 Canada Canada

Your fila Votre rdference

Ouf fi& Notre #!d/~liCB

The author has granted a non- L'auteur a accordé une licence non exclusive licence allowing the exclusive permettant à la National Library of Canada to Bibliothèque nationale du Canada de reproduce, loan, distribute or seIl reproduire, prêter, distribuer ou copies of this thesis in microfonn, vendre des copies de cette thèse sous paper or electronic formats. la forme de microfiche/fb, de

reproduction sur papier ou sur format électronique.

The author retains ownership of the L'auteur conserve la propriété du copyright in this thesis. Neither the droit d'auteur qui protège cette thèse. thesis nor substantial extracts fkom it Ni la thèse ni des extraits substantiels may be printed or otherwise de celle-ci ne doivent être imprimés reproduced without the author's ou autrement reproduits sans son permission. autorisation.

Page 3: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Abstract

The maritime traffic on the Saint-Lawrence River represents an important econornic

activity. Vessels, having different sizes, take this channel for commercial and tounstic purposes.

Due to several dynamic constraints, such as tides, currents and ice, navigation through the

channel provides many difficulties. The constraints, mentioned above, cause delays and threaten

the security of vessels.

The Canadian Coast Guard, the Canadian Hydrographie Services and many other

organisations have developed several systems to ensure secure and d i a b l e navigation on the

Saint-Lawrence. These systerns are generdly devoted to resolve just one constraint at a time and

do not offer any autonomy to navigators. Moreover, they are not designed to collaborate.

Knowing that the management of navigation on the Saint-Lawrence River must take into

consideration d l navigational constraints, this thesis proposes a solution that rnay enable existing

systems to collaborate even though they are heterogeneous. This solution is based on a

multiagent approach. To support this proposition, we present, through this paper, a system that

we have developed to solve the problem of ship course planning on the Saint-Lawrence. Our tool

provides a multiagent solution, which cdculates a vessel trajectory in the channel, based on

information about the tide, the current and the vessel. It enables us to know the probable arriva1

time of vessels. As well, it enables us to ensure better secunty to vessels by advising navigators

to depart at a new time in order to avoid low-level water zones in the channel. In addition to this,

Our tool provides an advantage, compared to other existing systems, by giving more autonomy to

navigators who, currently, follow orders from the Coast Guard.

Page 4: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Résumé

Le trafic maritime sur le fleuve Saint-Laurent représente une activité économique

importante. Des navires, de diverses grandeurs, empruntent la voie du fleuve pour des fins

commerciales ou touristiques. À cause de plusieurs contraintes dynamiques, entre autres les

marées, les courants et les glaces, la navigation dans le chenal présente des difficultés. Ces

contraintes engendrent, outre des retards, des problèmes de sécurité pour les navires.

La Garde Côtière Canadienne, le Service Hydrographique Canadien ainsi que plusieurs

autres organismes ont mis en place des systèmes pour assurer une navigation sure et fiable sur le

Saint-Laurent. Ces systèmes sont généralement destinés à résoudre une contrainte de navigation à

la fois et n'offrent actuellement aucune autonomie aux navigateurs. De plus, ces systèmes ne sont

pas conçus pour coopérer.

Ayant la conviction que la gestion de la navigation sur le Saint-Laurent doit prendre en

considération toutes les contraintes de navigation, ce mémoire propose une solution qui pourrait

faire coopérer les systèmes existants malgré leur hétérogénéité. Cette solution est basée sur

l'approche multiagent. Pour appuyer cette proposition, nous présentons. à travers ce rapport, le

système que nous avons développé pour la planification des itinéraires sur le Saint-Laurent. Notre

outil fournit une solution multiagent qui calcule les trajectoires des navires sur le fleuve en se

basant sur des informations concernant les marées, les courants et le navire. Il permet de

connaître les heures d'arrivées probables des navires. Il permet aussi d'assurer une meilleure

sécurité des navires en suggérant des nouvelles heures de départ à l'usager afin d'éviter les zones

du chenal à bas niveau d'eau. Aussi, notre outil offre un avantage par rapport aux systèmes de

gestion de la navigation utilisés actuellement en donnant plus d'autonomie aux navigateurs qui,

jusqu'à date, ne font que suivre les consignes de la Garde Côtière.

Ouébec. Mai 200 1

Nafaâ JABEUR

Étudiant

-- Bernard MOULIN

Directeur de recherche

Bnan MORSE

Codirecteur

Page 5: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Dédicaces

Page 6: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Avant-propos

Page 7: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Table des matières

Table des matières

1 . CONTEXTE

. 1 LNTRODUC~ION ....................................................................................................................................................... 5 ............................................................................................................................................... 2 . DOMAINE DU PROJET 5

3 . ~vPORTANCE DE LA NAVIGATION SUR LE SAINT-LAURENT ..................................................................................... 7 . 4 CONTRAWTES DE NAVIGATION .............................................................................................................................. 9

5 . ETAT ACTUEL ....................................................................................................................................................... I O 6 . SPÉCIFICATION DU PROJEI- ................................................................................................................................... 1 2

.................................................................................................. 6.1 L'initiative MGOI .................................... ,.., 12 6.2 L'architecture de MGDI ................................................................................................................................ 12 6.3 L'approche mriltiagent ................................................................................................................................... 13

................................................................................................................. 6.3.1 Les agents .....................,......,............... 13 6.3.2 Les systkmes multiagents ........................................................................................................................................... 14

6.4 Les contraintes de la planification des itinéraires ......................................................................................... 14 6.5 Besoins des usagers ........................................................................................................................................ I S 6.6 O bjecrifs du projet ......................................................................................................................................... 1 6

................................................................................................................................ II . TECHNOLOGIE CHOISIE 18

LOGICIELS I . I Introduction .................................................................................................................................................... 19 1.2 Les agents logiciels ........................................................................................................................................ 19

1.2.1 Définidons .............................................................................................................................................................. 19 ........................................................................................................... 1.2.2 Les propriétés des agents ........................ ,.. 20

1.3 Les systèmes multiagents ................................................................................................................................ 22 ...................... ....................................................................................................................... 1.3.i Présentation générale .. 22

1.3.2 Les propridtés des systèmes multiagents .................................... ,,. ............................................................................. 23 1.4 Interaction, coopération, coordination et négociation entre les agents ................................................... 24

.................................................................................................................... 1.5 Commrrnicarion entre les agents 26 1.6 Appotîs des systèmes rnultiagents .................................................................................................................. 2 6 1.7 Systèmes distribugs et Systèmes multiagen ts ................................................................................................. 2 7 1.8 Utilisation de L'approche multiagent dans le domaine des applications marines .......................................... 28

. . . .

1.9 Conclusion ................................................................................................................................................ 3 0 2 . BEE-GENT .......................................................................................................................................................... 31

2.1 Introduction .................................................................................................................................................... 31 2.2 Le framework Bee-gent ..................... ..,..... ............................................................................................. 3 2 2.3 Caractéristiques de Bee-genr ......................................................................................................................... 32 2.4 Architecture de Bee-gent ................................................................................................................................ 33

........................................................................................ 2.5 Frameworks de développement d'objets distribués 35 ..

2.6 Liste des fonctionnalités (Comparaison) .................................................................................................... 36 2.7 Concepts de base de Bee-gent ............ ........................................ .................................................................. 36 2.8 Conversations XMUA C L ............................................................................................................................... 38

3.1 Pourquoi Java ? ................................ .. ....................................................................................................... 39 4 . MAuB ................................................................................................................................................................ 42

4 . I Pourquoi Matlab ? ....................................................................................................................................... 42 5 . CONCLUSION ......................................................................................................................................................... 43

Page 8: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important
Page 9: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Liste des figures

Liste des figures

Figure1 . 1 : Trafic combiné par type de cargaison (Voie maritime du Saint-Laurent) .................................................... 8 Figure 2-1 : Les propriétés des agents ...................................................................................................................... ....20 Figure 2.2 : Application de l'approche multiagent dans le domaine des applications marines ..................................... 29 Figure 2.3 : Interconnexion d'applications réseau sous Bee.gent ................................................................................ 31 Figure 2.4 : Framework du Bee-gent .......................................................................................................................... - 3 2 Figure 2.5 : Structure de couches de Bee.gent ............................................................................................................. 34 Figure 2.6 : Architecture type de Bee-gent .................................................................................................................. 34 Figure 2.7 : Communication inter-agents sous CORBA .............................................................................................. 35 Figure 2.8 : Cornmucication inter-agents sous JI NI ............................ .. .................................................................. 35 Figure 2.9 : Communication inter-agents sous Bee-gent .............................................................................................. 36 Figure 2.10 : Protocole d'interaction ............................................................................................................................ 37

............................................................................................................. Figure 2.1 1 : Schéma de la portabilité de Java 40 .................................................................................. Figure 3.1 : Architecture du systtme multiagent proposée ........46

Figure 3.2 : Interface de l'Agent Navire ....................................................................................................................... 47 Figure 3.3 : Interface de l'agent Marée lors de l'exécution du système ....................................................................... 48 Figure 3.4 : Interface de l'agent Courant lors de L'exécution du système ...................................................................... 48 Figure 3.5 : Transmission de la table de courants lors de l'exécution du système ............ .. ......................................... 49 Fi-we 3.6 : Interface de l'agent Fédérateur lors de I'exécutiûn du système ................................................................. 50 Figure 3.7 : Interface de l'agent Navire à la fin de l'exécution du système ................................................................ 51 Figure 3.8 : Courbes des niveaux d'eau entre Montréal et Québec pour un seuI jour ................................................... 52 Figure 3.9 : Delimitation des zones de passages interdites ................................................................. 53 Figure 3.10 : Calcul des trajectoires au plus tôt et au plus tard du navire ................................................................. 54 Figure 3.1 1 : Calcul de l'heure de départ suggérée afin d'éviter l'arrêt du navire ...................................................... 55 Figure 3.12 : Diagramrne de transition de l'agent Navire ............................................................................................. 57 Figure 3.13 : Diagramme de transition de l'agent Marée ............................................................................................. -58 Figure 3- 14 : Diagramme de transition de l'agent Courant ........................................................................................... 59 Figure 3.15 : Diagramme de transition de l'agent Fédérateur ....................................................................................... 60

................................................................................... Figure 3.16 : Interfaçage agent Fédérateur/Progamrne Matlab 61 ........................................................................................................................ Figure 3.1 : Organigramme du serveur -65

Figure 4.2 : Organigramme du client ........................................................................................................................... 66 Figure 4.3 : Organigramme du premier état de l'agent Courant. .................................................................................. 68 Figure 4.4 : Organigramme du deuxième état de l'agent Courant ................................................................................ 69 Figure 4.5 : Schéma du message XMUACL envoyé par l'agent Navire ...................................................................... 70

..................................................................................... Figure 4.6 : Organigramme du premier état de l'agent Navire 71 Figure 4.7 : Organigramme du deuxième état de l'agent Navire ............................................................................. .....72 Figure 4.8 : Organigramme du premier état de l'agent Fédérateur ....................... .. ................................................. 73 Figure 4.9 : Organigramme du deuxième état de l'agent Fédérateur ............................................................................ 75 Figure 4.10 : Organigramme du uoisième état de l'agent Fédérateur ................................................................ ..........77 Figure 4.1 1 : Organigramme de la planification des itinéraires ................................................................................... 79 Figure 4.12 : Modélisation 3D (Distance, temps et niveau d'eau) ................................................................................ 81

...................................................................................................................... Figure 4.13 : Courbes des niveaux d'eau 82 Figure 4.14 : Délimitation des zones interdites au passage des navires ...................................................................... -83 Figure 4.15 : Modèle de variation des courants en intensité et en direction ................................................................. 84 Figure 4.16 : Approche de traçage de la trajectoire du navire ...................................................................................... 85 Figure 4.17 : Exemple de calcul des trajectoires des navires ....................................................................................... 85 Figure 4.18 : Calcul de l'heure 3 suggérer au navigateur .............................................................................................. 87 Figure 5.1 : Architecture du système multiagent proposé en perspective ................................................ ....................94

Page 10: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Liste des tableaux

Liste des tableaux

Tableau 2.1 . 1 : Propriétés intrinsèques des agents ..................................................................................................... -21 Tableari 2.1.2 : Propriétés extrinsèques des agents ....................................................................................................... 21 Tableau 2.1.3 : Propriétés des systèmes multiagents .................................................................................................. 23 Tableau 2.1 -4 : Propriétks de i'environnemznt des systèmes multiagents ......................................... ... ................... 24 Tableau 2.2.1 : Comparaison des fonctionnalités de Bee.gent, CORBA et JINI ......................................................... 36

Page 11: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Introduction

Introduction

Le Saint-Laurent canalise un trafic intense qui ne cesse de se développer. Son

emplacement géographique fait de lui un raccourci entre l'Ouest européen et le Nord américain.

Grâce à cet emplacement stratégique, il est sollicité par des navires de plus en plus grands et par

une industrie en pIeine expansion. Le fleuve dessert, de plus, le Port de Montréal qui focalise, à

lui seul, 20% des échanges commerciaux effectués à travers le Saint-Laurent.

Pour maintenir la confiance des armateurs et garantir des meilleures rentabilités, des

organismes canadiens, entre autres la Garde Côtière Canadienne (GCC) et le Service

Hydrographique Canadien (SHC), veillent sur la gestion de la navigation dans le chenal du Saint-

Laurent et garantissent un passage sécuritaire des navires. Cette tâche est loin d'être simple ;

plusieurs facteurs perturbent la navigation et peuvent porter atteinte à la sécurité des bateaux.

Parmi ces facteurs on cite les marées, les courants et les glaces, sans oublier les caractéristiques

du navire (ses dimensions, son tirant d'eau, etc.). La majorité de ces facteurs changent de façon

dynamique en fonction du temps et de l'espace, ce qui complique davantage la gestion de la

navigation sur le fleuve. Les impacts de ces contraintes de navigation sont coûteux en temps et en

argent. Outre les retards notés sur les heures d'arrivées des navires et les perturbations du trafic

maritime, elles génèrent des perturbations de l'activité portuaire.

Plusieurs solutions ont été développées pour réduire au maximu.m les effets des

contraintes de navigation. On cite entre autres le système Atlas pour la prédiction des marées,

EPDSS pour la gestion de la glace, SINECO qui donne ie niveau d'eau en temps réel, les cartes

électroniques et les systèmes de positionnement géographique GPS. La plupart de ces solutions

Page 12: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Introduction

ne gèrent qu'une seule contrainte de navigation et ne fournissent par conséquent qu'une partie de

la solution du problème global de la gestion de la navigation dans le Saint-Laurent.

Quoique ces solutions soient performantes, les besoins des utilisateurs vont au-delà des

résultats actuels. Ils réclament une navigation plus sécuntaire, plus de facilités pour l'accès au

Port de Montréal ainsi que plus d'autonomie pour les navigateurs. Pour rkpondre à ces besoins, il

faut concevoir un système unique qui permet la gestion de toutes les contraintes de navigation.

Ce système doit utiliser plusieurs applications existantes et réduire le degré de dépendance vis-à-

vis des propriétaires de ces solutions. Il faut employer une approche qui permet d'utiliser les

solutions existantes malgré leurs hétérogénéités, de les faire coopérer et de fournir la possibilité

d'étendre le système global en intégrant des nouvelles solutions.

L'approche multiagent est utilisée pour la mise en œuvre d'un système qui permet

d'intégrer plusieurs applications existantes. Elle facilite leurs coopérations ainsi que le partage

des informations communes. Cette approche permet aussi de découper le problème en un

ensemble de tâches qui seront désormais effectuées par des programmes agents autonomes. Il

reste, donc, à prouver que cette approche est bel est bien appropriée au domaine des applications

marines et qu'elle répond aux exigences mentionnées auparavant.

Afin de mettre en valeur l'approche multiagent, nous avons choisi de l'appliquer à la

résolution du problème de la planification des itinéraires dans la section du chenal entre Montréal

et la ville de Québec, une section qui s'étend sur une distance d'environ 260 km. Ce choix s'inscrit

dans le projet MASAT (Marine Applications and Software Agent Technology) lamé en

décembre 1999. La planification des itinéraires est un problème dynamique de type 3D (temps,

espace, hauteur). Il s'agit de calculer les trajectoires des navires en tenant compte des

informations concernant le navire et des contraintes de navigation qui règnent dans le fleuve

(marées, courants, etc.). Il s'agit aussi de fournir des suggestions concernant les horaires de départ

des navires afin d'échapper aux perturbations générées par les contraintes de navigation telles que

les zones à faibles niveaux d'eau. Le travail prévu doit viser la génération d'un système global

dans lequel plusieurs solutions pour la gestion de la navigation sur le Saint-Laurent coopèrent. De

plus, il doit répondre au mieux aux besoins des utilisateurs en matière de sécurité des navires et

des informations concernant la navigation des navires.

Page 13: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Le présent mémoire présente le travail effectué pour la résolution du problème de la

pIanification des trajectoires des navires dans un espace spatio-temporel, en l'occurrence le fleuve

Saint-Laurent. 11 comporte cinq parties. La première est consacrée au contexte général du projet.

Elle présente son domaine (en l'occurrence le fleuve Saint-Laurent) et les contraintes de

navigation qui s'y trouvent. Elle présente, aussi, les problèmes générés par ces contraintes, les

besoins des utilisateurs ainsi que le but du projet. La deuxième partie est dédiée à la technologie

choisie pour résoudre le problème de la planification des itinéraires. Entre autre, elle passe en

revue la technologie des agents et du multiagent ainsi que Bee-gent en tant que plate-forme de

génération de systèmes multiagents. La troisième partie est consacrée à la solution rnultiagent

adoptée. Elle présente l'architecture du système global et les différents agents qui y figurent ainsi

que les systèmes avec lesquels ils s'interfacent. La quatrième partie concerne la réalisation

technique de l'outil généré au cours de ce travail. Elle détdle les caractéristiques des agents et les

systèmes conçus durant ce mémoire. La dernière partie est dédiée aux résultats obtenus et aux

perspectives que nous jugeons pertinentes pour toute personne intéressée par cet effort. Il est à

noter que des annexes clôturent ce rapport et présentent, entre autres, tout ce qui à trait à la

terminologie marine et le langage de communication des agents ACL.

Page 14: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Contexte Général

1. Introduction

2. Domaine du projet

3. Importance de la navigation sur Le Saint-Laurent

4. Contraintes de la navigation sur le Saint-Laurent

5. État actuel de la navigation

6. Spécification du projet

Page 15: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

1. Introduction

La voie navigable du Saint-Laurent représente un raccowci entre l'Amérique du Nord et

le nord-ouest européen. Elle est empruntée par des navires ayant des tonnages de plus en plus

importants. Leurs navigations sont sujettes à des problèmes de sécurité à cause de la topologie du

fleuve et aux conditions naturelles qui règnent dans la région. Ces facteurs affectent la navigation

en influençant entre autres les vitesses des navires et leurs horaires de départ et d'arrivée.

Plusieurs organismes canadiens travaillent depuis bien des années à la gestion du trafic

sur le Saint-Laurent. Ils esszyent d'assurer une navigation sure et optimale en temps et en argent.

Les recherches ont donné un ensemble de systèmes matériels et logiciels certes efficaces, mais

n'offrant aucune autonomie pour les navigateurs. De plus, ces systèmes ne prennent

généralement pas en considération toutes les contraintes de navigation. Ils demeurent pour cette

raison incompIets pour une gestion globale de la navigation sur le fleuve.

Le présent projet met l'accent sur l'autonomie à accorder aux navigateurs. On vise à

développer un système d'aide à la planification des trajectoires des navires sur le Saint-Laurent et

plus précisément dans la section du chenal entre Québec et MontréaI.

2. Domaine du projet Le volume du trafic maritime dans le Saint-Laurent est de plus en plus important. Des

navires géants assurent le transport des marchandises le long du chenal. À I'entrée du port de

Montréal, ils observent parfois des attentes qui leur coûtent cher en temps et en argent.

L'évolution des navires en forme et en tonnage et le développement de la voie navigable du

Saint-Laurent ne se font pas avec le même rythme. Le passage des grands vraquiers est possible,

mais les mesures de sécurité leur imposent des réductions de vitesse dépendemment de l'endroit

et de l'heure de la navigation. Pour gérer au mieux ces restrictions et optimiser les attentes en

plus de l'assurance d'une navigation sure, les organismes canadiens emploient plusieurs systèmes

de surveillance, d'aide à la décision, d'intervention, etc. La Garde Côtière Canadienne (GCC)

Page 16: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 1 : Contexte aénéral

met dans différents points stratégiques du fleuve des radars et des caméras de surveiIlance, des

ilots artificiels ainsi que toute une infrastructure de télécommunication. Elle a recours aux images

satellites pour mieux contrôler la voie navigable. Elle assure, en plus, les opérations de secours en

cas d'incidents. D'autres organismes sont aussi impliqués dans la gestion de la navigation sur le

Saint-Laurent dont on cite le Service Hydrographique Canadien (SHC).

Entre Québec et Montréal, la voie navigable du Saint-Laurent présente des topologies

différentes. Certaines sections offrent un niveau d'eau suffisant et permettent le passage des

grands navires sans problèmes de sécurité et sans restrictions. D'autres sections sont critiques. Le

niveau d'eau est non seulement faible mais, aussi, sujet & des variations importantes à cause des

marées et des courants qui règnent dans la région. La navigation est parfois impossible pour des

grands navires à certaines heures. En hiver, l'accumulation de la glace rend difficile la

navigation. L'intervention des brises-glace est parfois nécessaire pour briser l'accumulation de la

glace qui peut bloquer certains passages.

Devant de telles contraintes, les organismes canadiens essayent de planifier les passages

des navires. Il faudrait que :

Les navires qui veulent atteindre le port de Montréal y entrent sans attente et s'il y a des

délais, qu'ils soient les plus courts possibles.

Les navires puissent respecter leurs calendriers en évitant au mieux les retards affectant les

heures de départ et d'arrivée.

L'accumulation de la glace ne perturbe pas la navigation.

La navigation soit sure le long du chenal. La profondeur de l'eau au moment du passage d'un

navire ne doit pas être un souci de sécurité.

Les plus grands navires puissent naviguer librement en transportant la quantité de

marchandises voulue.

Les systèmes développés et proposés par les différents organismes canadiens permettent

une bonne gestion de la navigation sur le Saint-Laurent, entre autres entre Québec et Montréal.

Le navigateur n'a pratiquement pas de soucis pour la sécurité de son navire. Il n'a qu'à suivre les

consignes de la GCC pour traverser le fleuve. Cependant, dans cette configuration, le navigateur

ne possède aucune autonomie. L'accès au système qui gère sa navigation n'est possible que via

l'organisme qui le possède.

Les moyens déployés pour la gestion de la navigation sur le Saint-Laurent sont très

importants. Le paragraphe suivant met l'accent sur l'importance de la navigation sur le Saint-

Laurent qui explique la motivation et la forte présence des investisseurs.

6

Page 17: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

3. Importance de la navigation sur le Saint-Laurent La voie maritime du Saint-Laurent renferme l'un des ports les plus sollicités par !a

navigation dans le nord de l'Amérique ; c'est le port de Montréal. Grâce à sa position stratégique

et ses différents services et moyens, il accepte un traf3c commercial croissant et stimule tous les

secteurs d'activité de la région. L'impact économique actuel est de presque 1.2 milIiards de

dollars par année et de 14000 emplois directs et indirects [2 ] .

Les navires qui traversent le Saint-Laurent sont de plus en plus grands en taille et en

volume. Ce développement de la part des bateaux n'est pas suivi par un mouvement pareil de la

part du fleuve qui n'a pas beaucoup changé depuis plus de 20 ans [2 ] . Cela impose un besoin

incessant de disposer d'outils d'aide à la décision pour les navigateurs. Des mesures

d'aménagement du chenal entre le pont de Québec et Montréal assurent une profondeur minimale

de 11 mètres, ce qui permet aux navires d'une capacité de 40 000 à 50 000 tonnes d'atteindre le

port de Montréal sans encombre [7]. D'autres mesures ont permis aux Iaquiers de dimensions

adaptées aux conditions de la voie maritime (222.5 mètres de longueur et 23.1 mètres de largeur)

d'emprunter le chemin du Saint-Laurent pour effectuer leurs commerces [7].

Le réseau portuaire québécois accueille une variété de types et de tailles de navires allant

de la barge au vraquier géant de 300 000 tonnes. Au total, ce réseau manutentionne entre 100 et

120 millions de tonnes de fret par an. Cela représente environ 30% des trafics pour tout le Canada

et fait du Québec la première province pour le transport maritime au pays [7]. Selon les

statistiques de la GCC, les ports du Saint-Laurent enregistrent entre 6000 et 7000 mouvements de

navires par année [7].

Les cargaisons transportées le long du fleuve atteignent actuellement environ 50 millions

de tonnes par an. Elles englobent les cargaisons en vrac qui représentent environ 90% du tonnage

annuel. Ses principales marchandises sont les céréales, le charbon et les produits laitiers. Le

deuxième type de cargaisons représente les cargaisons générales et sont la plus forte valeur par

tonnage de cargaison de la voie maritime (la Voie maritime représente les 1600 kilomètres du

fleuve du Saint-Laurent entre l'atlantique et Montréal). Elles représentent les produits emballés

manufacturés et transformés. Ses produits les plus courants sont l'acier et les machines 141. 80%

du trafic annuel concerne les céréales, Ie fer et le minerai de fer, l'acier et le charbon. Les 20%

restants englobent le coke, les produits chimiques et pétroliers, le bois et les produits miniers [4]

(Figure 1.1).

Page 18: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chavirre I : Conrexte aénéral

Figure1.2 : Trafic combiné par type de cargaison (Voie maritime du Saint-Laurent).

Le trafic commercial n'est pas le seul présent sur le chenal du Saint-Laurent. On recense

aussi le transport des personnes qui représente une activité importante sur le fleuve. Les

traversiers qui assurent le passage entre ses rives jouent un rôle fondamental pour le passage des

véhicules. Les croisières d'excursions, actives durant la période estivale, représentent un secteur

d'activité d'une centaine d'entreprises. Chaque année, on estime un nombre de passagers

d'environ 900 000. Les bénéfices directs ou indirects de cette activité sont évalués à un chiffre de

100 rnillions de dollars 171.

À ces types de trafics sur le fleuve s'ajoute la navigation de plaisance. Une activité

permanente lors des périodes estivales. Chaque année, des centaines de bateaux de plaisance

empruntent la voie du Saint-Laurent pour le spoa et pour profiter des paysages qui se trouvent le

long de ses rives.

Page 19: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 1 : Contexte aénéraf

4. Contraintes de navigation La section précédente a montré l'importance du fleuve Saint-Laurent tant au niveau social

que commercial. Du point de vue commercial, cette importance est assurée grâce aux efforts

considérables des organismes canadiens pour maintenir une navigation sure en tout temps et en

toute circonstance. Cependant, plusieurs facteurs, sunout naturels, peuvent perturber la

navigation des navires.

Le chenal du Saint-Laurent contient des zones à niveaux d'eau faibles. Il contient aussi

plusieurs îlots qui, parfois, réduisent considérablement la largeur du fleuve déjà étroit dans

certains endroits. Plusieurs rivières et ruisseaux alimentent le chenal. En son fond, des creux et

des roches font varier la profondeur de l'eau. Les dunes de sables sont présentes et représentent

un danger potentiel. En 1999, ces dunes étaient Ia cause du naufrage d'une croisière à côté de la

ville du Québec. Des dégâts matériels énormes ont été enregistrés.

Cette géographie difficile du fleuve influence le mouvement de l'eau. Le facteur des

marées (Voir annexe 1) fait varier Ie niveau de l'eau d'une façon non uniforme dépendemment

des lieux. Ainsi, dans la section du chenal entre Montréal et Trois-Rivières, la variation du niveau

de l'eau est raisonnable et non importante. Plus on s'approche de Québec, plus cette variation est

grande. Elle peut atteindre dans certaines zones le seuil de 10 mètres et plus en quelques heures.

Dans de telles sections du fleuve, et compte tenu de la grandeur des vraquiers géants, une

navigation sécuritaire en tout moment et en toute circonstance est remise en question.

Généralement, il faut que le passage des grands navires s'effectue lors des marées hautes (Voir

annexe 1).

Conjointement au facteur des marées, la contribution des ruisseaux qui dimentent le chenal

du Saint-Laurent entraîne la variation des courants (Voir annexe I ) en sens et en intensité. La

topologie du fond du fleuve intensifie de son côté ces courants. L'avancement des navires est

favorisé ou empêché selon la direction de ces courants. La manœuvrabilité est parfois difficile en

présence des courants forts puisqu'ils ne permettent pas aux navigateurs de garder la direction

prévue de leurs navires. La section du chenal entre Québec et Montréal présente des zones de

forts courants de marées, des chenaux peu profonds et des endroits restreints [l].

Le vent est un autre facteur naturel présent dans la région. Son influence sur Ies grands

navires n'est pas importante. Néanmoins, elle peut être néfaste pour les bateaux de plaisance.

Lors des tempêtes de neige, les vents réduisent considérablement la visibilité qui peuvent

engendrer 1' arrêt de la navigation.

Page 20: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 1 : Contexte général

Les marées, les courants ainsi que la topographie du fleuve sont des facteurs qui

perturbent la navigation. Il s'ajoute à cette liste la glace. L'accumulation de grandes quantités de

glace Iors de la période hivernale génère une résistance à l'avancement des navires. Au niveau de

certains passages étroits, cette glace peut générer une congestion qui exige l'intervention des

brises-glace. Aussi, son entassement entraine une augmentation du niveau de l'eau. Des

inondations potentielles peuvent avoir lieu à cause de l'accumulation de la glace en certains

endroits.

Du côté du navire, il faut prendre certains paramètres en considération, entre autres, son

tirant d'eau et son enfoncement dans l'eau. Généralement, plus grandes sont sa vitesse et sa taille,

plus important est son enfoncement dans I'eau. Sous de telles conditions de tailIe et de vitesse, un

passage plus sécuritaire demande un niveau d'eau plus élevé.

Compte tenu des contraintes mentionnées, la navigation sur le Saint-Laurent est rendue

difficile, voire impossible dans certains cas. La sécurité de l'activité est un souci permanent. Les

incidents impliquant les grands navires sont probables. Le dernier en liste est l'échec d'une

croisière en 1999 à côté de la ville de Québec après avoir heurté une dune de sable.

Face à ces problèmes et se souciant d'une éventuelle perte de la confiance des armateurs,

les responsables canadiens du fleuve Saint-Laurent se sont penchés sur l'étude des meilleurs

moyens qui permettent une navigation sure. Plusieurs solutions prometteuses ont été mises en

place. On parle de plus en plus d'une navigation électronique, d'une augmentation des tonnages

des navires et encore mieux d'une navigation sure sans le moindre risque.

État actuel Le port de Montréal détient presque 22% du marché du transport en Amérique du Nord

[l]. Ses principaux concurrents sont New York, Baltimore, Saint-Jean (NB) et Halifax [l]. Les

contraintes de navigation déjà citées peuvent entraîner des retards pour les navires qui veulent

l'atteindre. Cette situation n'est pas en sa faveur en terme de compétitivité.

Pour améliorer la confiance des armateurs, les organismes canadiens tentent de réduire les

délais d'attente des navires et de leur assurer une navigation en toute sécurité. Plusieurs travaux

ont abouti à des recommandations et à des systèmes d'intervention qui sont axés généralement

sur :

- La gestion de la glace : Plusieurs systèmes ont été développés et mis en place pour éviter

toute congestion du chenal à cause de la glace ou encore éviter toute inondation en

10

Page 21: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

conséquence. Entre autres, on trouve EPDSS (Environmental Prediction Decision Support

Systern) [9] qui est développé par la GCC-RL (GCC Région Laurencienne), ICENAV et

IceSim.

La prédiction des courants des marées : Le modèle Atlas donne la direction et l'intensité des

courants sur la surface du Saint-Laurent entre Trois-Rivières et Bon-Désir toutes les 20

minutes.

Les recherches sur l'amélioration de la forme du navire surtout au niveau de sa coque dans le

but de résoudre tout problème lié au dégagement sous pi l le . Dans ce sens, la GCC a employé

la technologie GPS-OTF (Global Positionning System On-The-FIy) qui permet de mesurer

directement l'enfoncement de certains navires entre Québec et Montréal. On trouve aussi le

guide de dégagement sous quille UKCG qui est un élément développé et intégré aux systèmes

de gestion du traf̂ xc maritime [Il]. D'autres travaux existent pour la mesure des dégagements

sous quille des navires tel que le projet squat de la GCC [l O].

L'instauration d'une navigation électronique via la technique des Cartes de Navigation

Électronique (CNE) développée par le SHC.

La surveiIlance du trafic sur le chenal. Dans ce contexte la GCC a mis en place le projet AIS

(Surveillance Automatisée d'Identification).

La prédiction des niveaux d'eau. Le système SINECO mis en place par le SHC diffuse les

niveaux d'eau en temps réel et donne des prédictions pour les prochaines heures.

L'utilisation d'un arsenal d'outils sophistiqués tels que les GPS (Système de Positionnement

Global), les radars, les satellites, les caméras de surveillance, les îlots artificiels, etc.

En plus de cet ensemble de systèmes et de projets, il existe le système Sailsafe de la GCC

qui rassemble un certain nombre d'expertises de navigation maritime [6] . On y trouve entre

autres les cartes vectorielles du SHC, les systèmes de positionnement par satellite GPS et le

réseau des niveaux d'eau en temps réel.

Plusieurs systèmes sont mis en place pour la gestion de la navigation dans le Saint-

Laurent. Les cartes de navigation électronique, les GPS, la surveillance automatisée du chenal,

etc. sont des outils employés qui donnent de bons résultats. Néanmoins, deux critiques sont à

signaler. Tout d'abord, la plupart des systèmes traitent une seule contrainte de navigation à la fois

(marées, courants, glace, dégagement sous quille du navire, etc.). En présence de plusieurs

facteurs, les résultats pourraient être non fiables. Dans ce cas une collaboration entre eux

permettra sans doute une meilleure gestion de la navigation sur le chenal. Deuxièmement, l'accès

aux systèmes développés ne se fait que via l'organisme qui en est propriétaire. Les navigateurs

11

Page 22: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre I : Contexte général

n'ont pas d'autonomie dans la gestion de leurs tâches de navigation. Tout choix de vitesse et

d'horaire leur est imposé.

6. Spécification du projet

6.1 L'initiative MGDI [3] L'initiative MGDI (Marine Geospatiai Data Infrastructure) est lancée dans le cadre de la

mise en œuvre d'une architecture spatio-temporelle standard pour I'infrastmcture des données

géospatiales marines en utilisant un noyau basé sur les modèles de données, des interfaces

d'applications ouvertes et une syntaxe de langage standardisée. Les buts de cette initiative sont :

Fournir une interopérabilité entre les systèmes développés par la mise en œuvre d'une

infrastructure d'informations marines.

Favoriser et appuyer le développement des technologies canadiennes existantes CU en

évolution (CEONet, MID-C, AquaGIS, OGDI, etc.).

Pénétrer dans les marchés internationaux par I'établissement de coopérations avec des

organismes internationaux opérant dans le même secteur d'activité.

Promouvoir la présence canadienne dans l'établissement et l'évolution des standards

internationaux.

La démonstration d'une solution intégrant les informations géospatides, les applications et

les services.

6.2 L'architecture de MGDI [3] L'architecture de MGDI comporte plusieurs composants dont on cite :

Un modèle de données spatiales commun Four assurer la communication entre les

composants logiciels.

Un processus intégré et un environnement de modélisation de données pour assurer une

communication rapide et claire entre les intervenants.

Un langage spatial commun et un format d'échange de données pour garantir un accès ouvert

aux données.

Des mécanismes pour la gestion, l'interrogation et la livraison de données pour sauvegarder

l'intégrité et garantir cette livraison.

Des outils qui garantissent l'accès pour tous les niveaux du public et du gouvernement.

12

Page 23: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~irre 1 : Contexte aénéral

Cette architecture permet le partage des informations par plusieurs applications en

accédant à plusieurs entrepôts de données valables via les communications réseaux. Elle doit

assumer l'interaction des applications avec les bases de données. En outre, elle doit soulever le

problème des systèmes hétérogènes qui devraient partager et accéder aux données communes.

Cependant, cette interaction ne se restreint pas au seul échange de données mais mssi à la

coordination des activités dans le but de fournir un selvice intégré aux usagers.

Pour mettre en œuvre l'architecture système du MGDI, il faut faire le meilleur choix des

outils logiciels de développement. Ces outils devraient faire face aux différents contextes

conceptuels, méthodologiques et techniques tels que :

- L'hétérogénéité des systèmes existants en raison de la diversité de leurs modèles de données

de leurs interfaces.

- La diversité des vocabulaires employés par différentes classes d'utilisateurs.

- La complexité de développer et de maintenir de tels systèmes hétérogènes avec des approches

de conception traditionnelles.

6.3 L'approche multiagent

6.3.1 Les agents

Une des définitions représente l'agent comme étant un programme logiciel autonome qui

possède une base de connaissances reflétant entre autres ses perceptions à propos de son

environnement ainsi que ses capacités. Cet agent interagit avec l'environnement qui I ' ent oure par

le biais de ses détecteurs, ce qui lui permet de mettre à jour sa base de connaissances. À la suite

des excitations résultant du changement de son entourage ou des messages externes, il agit en

conséquence à I'aide de ses efiécteurs'. D'autres définitions et détails sur les agents seront donnés

ultérieurement.

Plusieurs classifications d'agents ont été proposées. Les agents logiciels sont

généralement classés en deux catégories [3] :

- Les agents réactifs : ce sont des agents réagissant à la suite des stimulations de leur

environnement qui peut contenir d'autres agents.

- Les agents délibératifs : ils sont capables de raisonner à propos de leurs objectifs, de diviser

leurs plans d'actions et d'exécuter ces actions s'ils décident de le faire.

-- --

Les moyens qu'a l'agent pour intervenir sur son environnement

13

Page 24: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chaoitre J : Contexte nénéral

Techniquement, les agents logiciels manipulent habituellement des stmcnires de données

correspondant aux 131 :

- Croyances (beliefss) : ce sont les faits connus.

- Buts (goals) : utilisés pour raisonner à propos des décisions à prendre.

- Artentes (expectations) : pour modéliser les événements ou les états qui sont attendus par

l'agent.

6-32 Les systèmes multiagents

Un système rnultiagent est un ensemble d'agents qui interagissent ensemble dans un

environnement donné pour résoudre un problème qu'ils ne peuvent pas résoudre individuellement

1121. En collaborant avec Ies autres, un agent contribue à la solution en fournissant les

informations qu'il détient et en accomplissant un ensemble de tâches requises qu'il est capable

d'exécuter.

Cette définition évoque Ia notion importante d'environnement qu'il faut spécifier. En

effet, ce dernier offre I'infrastructure des interactions qui auront lieu entre les agents. Cette

infrastructure est exprimée en terme de protocoles d'interaction et de communication. D'autres

notions importantes telles que la capacité de l'agent, sa façon d'agir dans son environnement

ainsi que son degré d'autonomie seront détaillées ultérieurement.

6.4 Les contraintes de la planification des itinéraires

Le développement incessant de l'industrie sur Ie bord du fleuve Saint-Laurent intensifie

davantage Ia navigation et pose de plus en plus de pressions et d'exigences en termes de sécurité

et de tolérance aux retards. Pour répondre aux besoins de cette industrie, les travaux se

concentrent sur une meilleure gestion de la navigation sur le Saint-Laurent. On aimerait bien que

le chenal soit accessibIe par toute sorte de navire, sans souci de sécuriti ni d'attente, surtout pour

l'accès au port de Montréal. Ce sont ces raisons qui font que la planification des itinéraires s'avère

impérative. La question majeure qui doit être résolue est comment peut-on organiser la

navigation de telle façon que n'importe quel navire puisse passer tout au long du chenal en

sécurité et accéder au port de Montréal sans attente ?

Les contraintes qui perhxbent la navigation sur le Saint-Laurent sont de type spatio-

temporel. Elles varient dépendemment du temps et de l'espace. Les marées et les courants sont

dépendants surtout de la lune (Voir annexe 1). De son côté, la topographie du fleuve influence

Page 25: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre I : Contexte aénéral

leurs intensités. Elle fait de même varier le niveau d'eau. Lors de la période hivernale,

I'accumulation de la glace vient s'ajouter aux contraintes de navigation.

Les caractéristiques du navire doivent être prises en considération dans le but de savoir si

le passage du navire par certains endroits est possible ou non. Ces caractéristiques sont aussi

importantes pour gérer les vitesses des navires afin d'empêcher toute éventualité d'inondation des

habitations et des installations sur le bord du fleuve surtout en présence de la glace.

La planification des itinéraires doit non seulement prendre en considération les contraintes

citées auparavant mais gérer aussi les contraintes résultantes de la présence de plusieurs navires

dans le chenal. Dans le cas du croisement de plusieurs navires en un point donné du fleuve, il faut

éviter toute collision probable et gérer les vitesses à ces fins. Pour ce faire, des informations

pertinentes sur les niveaux d'eau, sur la largeur du fleuve ainsi que sur les coordonnées des autres

navires doivent être fournies en temps réeI.

En plus des objectifs mentionnés de la planification des itinéraires, il faut gérer l'accès au

port de Montréal. Ce dernier est très sollicité par les navires qui sont obligés parfois d'observer

des attentes d'autorisation de longues durées avant d'y accéder. La planification des itinéraires

doit prendre en considération le problème de congestion du port et organiser la navigation afin

d'éliminer au mieux ce problème ou bien réduire ses impacts.

6.5 Besoins des usagers Plusieurs secteurs d'activités partagent I'utiIisation du fleuve Saint-Laurent. L'industrie de

l'énergie, du fer et du bois en sont des exemples. Le développement de ces industries entraîne des

nouvelles exigences de la part des usagers en terme de fiabilité et de sécurité de la navigation sur

le Saint-Laurent. Plus de vraquiers et de marchandises empruntent la voie navigable du fleuve.

La planification des trajectoires des navires ainsi que tous les travaux de gestion de la

navigation sur le Saint-Laurent doivent répondre aux différents besoins des usagers qu'on résume

dans les points suivants :

- Garantir la sécurité des navires si grands soient-ils le long du chenal et en présence de

n'importe quelle contrainte.

- Réduire au minimum les retards engendrés par les contraintes de navigation sur les voyages

des navires.

- Faciliter l'accès au port de Montréal ou réduire au minimum les délais d'attente pour y

accéder.

Page 26: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre I : Contexte ~énéral

- Posséder au bord du navire des moyens de prédiction et d'aide à la décision qui supportent le

navigateur pour faire passer en toute sécurité son navire. Les informations demandées doivent

être fournies en temps réel ou dans les meilleurs délais.

- Avoir plus d'autonomie vis-à-vis des solutions proposées.

- Avoir des informations pertinentes sur le voyage des navires telles que sa durée, l'heure

d'arrivée ainsi que des suggestions concernant l'heure de départ et la vitesse.

En résumé, la planification des itinéraires doit prendre en considération routes les

contraintes de navigation. Elle doit organiser la navigation pour garantir une sécurité maximale

des navires et un accès facile au port de Montréal. Elle doit aussi réduire les retards enregistrés le

long des voyages. L'utilisation des solutions proposées pour effectuer la tâche de planification

doit se fixer l'objectif de donner Ie plus d'autonomie possible aux navigateurs.

6.6 Objectifs du projet

Au fil des paragraphes précédents, plusieurs caractéristiques qui marquent la navigation

sur le Saint-Laurent ont été mentionnées. Nous avons notamment invoqué l'importance de la

navigation et ses contraintes ainsi qu'un ensemble de solutions proposées par différents

organismes canadiens pour y faire face. Ces solutions permettent certes une bonne sécurité pour

les navigateurs, mais ignorent un aspect important en matière d'autonomie à accorder aux

navigateurs. Nous avons invoqué aussi les besoins des usagers vis-à-vis de la navigation sur le

Saint-Laurent.

Le présent projet se place dans ce contexte de navigation. Ii se concentre sur la

planification des trajectoires des navires sur le fleuve Saint-Laurent et plus précisément dans la

section du fleuve entre Québec et Montréal. Un navire désirant quitter le port de Montréal

pourrait connaître l'allure de sa trajectoire et son heure d'amvée en spécifiant quelques

paramètres tels que sa vitesse et son heure de départ. Le projet vise, aussi, le couplage dans un

seul système de plusieurs solutions conçues chacune pour remédier à l'une des contraintes de

navigation mentionnées. Cette approche améliorerait, certainement, les précisions des calculs et

la gestion de la navigation sur le chenal. Pour ce faire, on a opté pour la technologie des systèmes

multiagents. On montrera que cette technologie est belle est bien adaptée au contexte des

applications marines, généralement hétérogènes. En outre, le système proposé par ce projet vise à

donner plus d'autonomie aux navigateurs qui deviendront dans la nouvelle configuration ses

partenaires interactifs. De plus, nous voulons que notre système aide ces navigateurs en leur

Page 27: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chauitre I : Contexte ~énéral

fournissant des suggestions quant aux horaires de départ de leurs navires afin d'éviter les zones

risquées du fleuve.

Page 28: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

II. Technologie choisie

1. Agents logicieis et Systèmes Multiagents

2. Bee-gent

3. Java

4. Matlab

5. Conclusion

Page 29: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

1. Agents logiciels et Systèmes Multiagents

1.1 Introduction Le concept d'agent a fait son apparition depuis bien d'années dans plusieurs disciplines.

Entre autres, il est fortement présent dans le domaine de l'intelligence artificielle, de la robotique

ainsi que dans d'autres domaines ne touchant pas à l'informatique tels que la psychologie. Cette

utilisation multiple et étendue des agents a généré plusieurs définitions. Ces définitions sont

relatives à ce que l'agent est capable de faire, à son environnement, & son autonomie, etc. C'est

ainsi que certains utilisateurs présument que t'agent doit être intelligent et d'autres présument

qu'il doit être autonome. L'agent doit décider comment agir sans aucune intervention extérieure.

1.2 Les agents logiciels

1.2.1 Définitions

Compte tenu de I'absence d'une définition standard, on donnera dans la suite un ensemble

de définitions d'agent logiciel telles que proposées par divers auteurs.

a- DéFrnition 1 [13]

Un agent logiciel est un programme dont l'exécution est régie par des conditions sur les

données ainsi que par des événements se produisant dans son environnement. Ce programme

n'est pas sous le contrôle direct et continu d'un utilisateur humain.

On note dans cette définition le fait que :

- L'auteur accorde un degré d'mtononiie à l'agent.

- L'agent peut agir selon ses connaissances propres parce que le contrôle qu'il subit n'est pas

continu.

b- Définition 2 [14]

Un agent est une entité autonome capable d'agir sur elle-même et sur son environnement

et qui peut communiquer avec d'autres agents dans un univers multiagent. Le comportement de

l'agent est conséquence de ses observations, de ses connaissances et de ses interactions avec les

autres agents.

Page 30: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 2 : Technobaie chorkit-

Cette définition dote l'agent des capacités d'autonomie, du pouvoir d'action, de

communication ainsi que de perception.

c- Définition 3 1141

Un agent est un système informatique situé dans un environnement. Il agit de façon

autonome et fiexible pour atteindre les objectifs pour lesquels il a été conçu.

Cette définition accorde à l'agent les qualités d'autonomie et de flexibilité en terme de

réponses, de prise de décision et d'action. Le qualificatif "situé" fait que l'agent est conscient de

son existence dans son environnement et qu'il est capable d'agir selon ce qu'il détecte par le biais

de ses entrées sensorielles.

Pratiquement toutes Ies définitions des agents logiciels ont au moins un point en commun

: l'agent est considéré comme quelque chose qui agit ou peut agir.

1.2.2 Les propriétés des agents [14]

L'utilisation des agents dans diverses disciplines a permis de dégager un ensemble de

propriétés que peuvent avoir ces agents. Plusieurs travaux ont dressé des listes de propriétés qui

ne sont pas les mêmes quoiqu'elles soient en accord sur certains points. Toutefois, on peut classer

les propriétés des agents en quatre groupes (Figure 2.1). Le premier groupe concerne l'âgent et

rassemble ses caractères intrinsèques et extrinsèques. Le second identifie les propriétés du

système multiagent. Le troisième groupe s'intéresse aux propriétés du cadre d'exécution de

l'agent. Finalement, le dernier groupe concerne l'environnement d'exécution de l'agent.

1 PLp>étés des agents I

Propriétés extrinsèques

Figure 2.1 : Les prcrpriétis des agents.

Page 31: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 2 :Technobaie choisie

Les propriétés intrinsèques et extrinsèques des agents sont résumées dans les deux

tableaux suivants :

1 Propriété 1 Valeurs de la propriété 1 Durée de vie

Architecture

Mobilité

Construction

Adaptabilité

De transitoire à longue

Réactive ou délibérative

Fixe ou itinérante

Déclarative ou procédurale

Fixe, ajustée ou autodidacte

Tableau 2.1.1 : Propriétés intrinsèques des agents.

1 Propriété

Endroit

Sociabilité

Autonomie sociale

VaIeurs de la propriété

Local ou distant

Autistique, responsable ou conscient

Indépendante ou contrôlée

Coopératif, compétitif ou antagoniste

Logistique : direct ou via des intermédiaires

Sémantique : communication déclarative ou

procédurale

Tableau 2.1.2 : Propriétés extrinsèques des agents.

Généralement, un agent n'est pas conçu pour opérer tout seul dans son environnement. Il

est certes capable de résoudre un certain nombre de problèmes, mais il serait incapable

solitairement de donner la solution d'un probIème complexe. C'est la raison d'être de systèmes

rassemblant une société d'agents qu'on nomme systèmes multiagents.

Page 32: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chu~irre 2 :TechnoIonie choisie

1.3 Les systèmes multiagents

1.3.1 Présentation générale

Un système multiagent est un système distribué qui renferme plusieurs agents en

interaction. La coexistence, la concurrence, la coordination, la négociation ainsi que la

coopération entre les agents caractérisent de tels systèmes. Les agents s'entraident pour résoudre

un problème qu'ils sont incapables de résoudre individuellement. Chaque agent possède une

connaissance partielle du problème à résoudre. Ses capacités sont par la suite limitées. Tout seul,

il n'est capabIe que de contribuer à une partie de la solution.

Les systèmes multiagents fonctionnent sans contrôle global. C'est la coopération entre les

agents et les qualités que ces derniers possèdent qui orientent son exécution. Dans ce cadre, un

agent donné peut refuser ou accepter la requête de demande de service qui lui parvient d'un autre

agent. Aucune intervention externe n'est faite pour orienter le fonctionnement des agents- De ce

fait, les traitements et les calculs qui se font dans les systèmes rnultiagents sont asynchrones. Ces

systèmes sont aussi caractérisés par leurs données décentralisées.

Les systèmes multiagents possèdent plusieurs avantages tels que la facilité de

maintenance et l'extensibilité. Ils présentent des schémas d'interaction permettant la coopération,

la coordination ainsi que la négociation [14]. Pour pouvoir tirer profit de ces avantages. il faut

soulever un bon nombre de défis qui sont inhérents à la conception et à l'implantation de ces

systèmes multiagents. Ces défis concernent [14] :

La formulation et la description des problèmes.

La synthèse des résultats.

La façon de faire communiquer les agents.

L'assurance de la cohérence dans les actions des agents. Pour ce faire, il faut prendre en

considération les actions et les décisions des agents, gérer les effets de leurs décisions et

éviter les interactions nuisibles.

La coordination entre les agents. Il faut permettre à l'agent de raisonner sur les actions et les

plans des autres agents pour qu'il puisse se coordonner avec eux.

La gestion de la répartition des ressources limitées.

L'établissement d'un compromis dans le cas où les buts des agents se trouveraient bloqués i

cause de leurs incompatibilités ou de la concurrence. Ii faut décider des traitements qui seront

affectés à un seul agent et des traitements distribués entre plusieurs agents.

Page 33: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 2 :Technoloaie choisie

- L'élimination des effets indésirables qui nuisent au comportement du système global.

- La conception des plates-formes technologiques et méthodologiques de développement pour

les systèmes multiagents.

1.3.2 Les propriétés des systèmes multiagents

Un système multiagent possède un ensemble de propriétés qui portent sur l'autonomie, la

structure de contrôle, la granularité et l'unicité. Ces propriétés sont indépendantes de celles des

agents composant le système.

I Propriété

Unicité

Granularité

Structure de contrôle

Autonomie d'interface

1 Autonomie d'exécution

Valeurs de la progriiité

Homogène ou hétérogène

De fine à grosse

Hiérarchique ou démocratique

Communication : vocabulaire spécifique, langage, protocole

Habilités : buts, croyances, procédures, ontologies

Indépendant ou contrôlé

Tableau 2.1.3 : Propriétés des systèmes mu1 tiagents.

L'autonomie peut être relative à l'interface que propose le système multiagent ou à

l'exécution. Dans le premier cas, elle concerne la communication et les habiletés. Ainsi, un

nouvel agent voulant accéder au système multiagent en place devra être conforme au protocole,

au langage ainsi qu'au vocabulaire employés par le système. L'autonomie d'exécution est définie

par le degré de liberté que possède un agent lors de son exécution. La propriété de structure de

contrôle concerne la manière avec laquelle le système gère sa société d'agents. Le système

impose une structure de contrôle qui peut être démocratique autorisant l'agent à agir librement ou

hiérarchique imposant aux agents un certain ordre lors de l'exécution. En ce qui concerne la

propriété de granularité, elle est définie par le degré de détails des informations manipulées par le

système. Finalement, l'unicité d'un système multiagent s'étend d'homogène à hétérogène. Il est

qualifié d'homogène si tous les agents se ressemblent et possèdent les mêmes propriétés. Dans le

cas contraire, le système est dit hétérogène. Le tableau suivant résume les propriétés des systèmes

multiagents précédemment évoquées [14].

Page 34: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 2 :Technoloaie choisie

Un agent s'exécutant dans un système multiagent donné profite des qualités et des

propriétés que ce système lui offre. De plus, il est influencé par les caractéristiques de son

environnement d'exécution. Il serait donc judicieux d'énumérer les propriétés de cet

environnement telles que proposées dans 1141 (Tableau 2.1.4).

L'environnement d'exécution des agents fournit l'infrastructure qui spécifie les protocoles

d'interaction et ceux de communication des agents. Les premiers protocoles permettent aux

agents d'interagir alors que les autres assurent Ia compréhension des messages.

Propriété

1 d'interaction

Vaieurs de la propriété

Autonomie de conception Langage, architecture interne, plate-forme et protocole

Infrastructure de

communication

Protocole de

communication

Tableau 2.1.4 : Propriétés de l'environnement des systèmes muitiagents.

- Mémoire partagée

- Point à point, multidiffusion ou diffusion générale

- Connexe ou non connexe

- Synchrone ou asynchrone

- KQML

- HTTPetHTML

- OLE, CORBA, DCOM

Sécurité

Support des opérations

Services de médiation

1.4 Interaction, coopération, coordination et négociation entre les

~ s t a m ~ i l l e , authentification

Archivage, redondance, restauration, . . . Transactionnels ou basés sur l'ontologie

agents

Dans un système multiagent, les agents coopèrent en vue de réaliser une tâche qu'ils sont

incapables de faire individuellement. Cette coopération est concrétisée par l'interaction des agents

qui communiquent directement ou par I'interrnédiaire d'autres agents.

Un agent est souvent caractérisé par ses ressources, ses capacités à réaliser certaines

tâches ainsi que par ses buts. Les conflits entre les agents sont possibles. Ils sont centrés sur les

24

Page 35: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chaoitre 2 :Technoluaie choisie

buts qui peuvent êtrc incompatibles ou sur l'accès aux ressources partagées et limitées.

L'interaction permet à un agent donné de demander l'aide d'un autre agent pour qu'il puisse

réaliser son plan d'action. Elle permet, en outre, la gestion des éventuels conflits. Ferber [15]

classifie l'interaction en plusieurs types. Entre autres, elle peut être une collaboration simple, une

compétition individuelle, etc.

L'implantation de la coopération dans un système multiagent présente un grand degré de

complexité. Il faut non seulement gérer les ressources limitées et les éventuels blocages dus aux

buts probablement incompatibles, mais, aussi, il faut prendre en considération le coût de la

communication réseau. La coopération entre les agents est traduite par un échange de messages.

Cette communication peut ralentir, voire congestionner le réseau si elle est intense.

Dans un système multiagent ou un système distribué, les agents doivent coordonner leurs

efforts pour mener B terme la résolution du problème posé. En l'absence de cette coordination, le

comportement des agents peut générer une situation chaotique. Mintsberg a proposé trois

processus principaux de coordination [16] : I'ajustement mutuel, la supervision directe et la

coordination par standardisation. Dans le cas de l'ajustement mutuel les agents partagent les

ressources et font en cas de nécessité des ajustements à leurs propres comportements. La

supervision directe s'explique par le fait qu'un agent possède un contrôle sur les autres agents du

système. ll gère, ainsi, l'accès aux ressources partagées. Cet agent peut aussi imposer certains

comportements. Dans le cas de la coordination par standardisation un agent joue le rôle de

superviseur. Dans des situations reconnues, il coordonne les activités en établissant les

procédures que les autres agents doivent suivre.

La coordination s'appuie généralement sur l'allocation des ressources rares et la

communication des résultats intermédiaires. Dans des systèmes complexes ces deux tâches

deviennent difficiles à gérer. Une solution est que le système multiagent devra posséder un agent

centralisateur qui détient les informations pertinentes sur les autres agents telles que les intentions

et les buts à réaliser.

La coopération et la coordination entre les agents peuvent déboucher sur des situations

conflictuelles. L'incompatibilité des buts, l'absence de capacités suffisantes ainsi que l'accès aux

ressources limitées en sont des causes possibles. Pour débloquer tout conflit possible, les agents

entament des négociations en vue d'établir des accords sur les plans d'action ou les points de vue

communs. Cette négociation est concrétisée par un échange d'informations pertinentes. Elle est

assurée par des protocoles de communication dont le plus connu est le protocole du réseau

contractuel (Con tract-Net).

Page 36: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 2 : Technoloaie choisie

La négociation peut être effechiée directement par les agents concernés ou par

l'intermédiaire d'autres agents médiateurs. À titre d'exemple, un agent représentant des employés

peut négocier directement la hausse des salaires avec un deuxième agent représentant les patrons.

Cette négociation peut êîre indirecte si un troisième agent représentant le syndicat intervient en

faisant la médiation entre les employés et leurs patrons.

1.5 Communication entre les agents L'interaction entre les agents est accomplie via des procédures de communication qui

peuvent être de type linguistique ou non. Le premier type qualifie la corninunication entre les

agents alors que le second qualifie Ies actions entreprises par un agent pour modifier son

environnement. La communication permet aux agents de coordonner leurs activités, d'échanger

des informations et d'organiser les accès aux ressources.

Dans Ies systèmes multiagents, la communication entre les agents se fait selon deux

stratégies. Elle peut être directe ou via un tableau. Ce tableau permet aux agents entre autres

d'obtenir de l'information, insérer des résultats et écrire des messages. Les messages échangés

entre les agents sont porteurs d'information. Dans le cas de la communication directe, les agents

peuvent échanger leurs plans d'action en totalité. Cette approche présente plusieurs

inconvénients. En plus du coût de la communication, sa mise en œuvre est difficile en raison des

incertitudes concernant les états actuels et futurs de I'environnement et des actions présentées

dans les plans.

En pratique, l'établissement à l'avance des plans d'action est quasi impossible. Ainsi, au

lieu d'échanger des plans, on échange des stratégies générales. On met plus l'accent sur la

communication des agents via des protocoles établis. La difficulté de cette approche vient des

caractéristiques des agents. Il faut que les protocoles offrent des procédures et des syntaxes

compréhensibles par tous les agents et comprises de la même façon.

Les conversations qui se font lors de l'échange des messages utilisent des langages tels

que KQML et ACL. Ces derniers définissent un ensemble de types de messages appelés

performatifs [23]. Ces performatifs définissent les types des requêtes envoyées d'un agent à un

autre. Une requête peut être, entre autres, une demande d'information, une information livrée sur

demande, une acceptation ou un rejet de service.

1.6 Apports des systèmes multiagents L'approche multiagent est généralement employée pour la conception des systèmes

complexes. Particulièrement, dans le cas d'une population d'agents hétérogènes ou possédant des

Page 37: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 2 :Technolonie choisie

buts conflicniels, les systèmes multiagents sont bien appropriés. Cette approche permet la

réutilisation des applications existantes. En effet, même en présence d'hétérogénéité entre ces

applications, on peut leur affecter des agents qui les encapsulent et qui assurent leurs

communications avec le reste du système. Cela diminue considérablement le coût de

développement et de modifications à apporter à ces applications dans le but de les faire

communiquer.

Un autre avantage des systèmes multiagents concerne la vitesse d'exécution du système

global. En effet, cette technologie facilite le traitement parallèle des tâches. Chaque agent prend

en charge l'exécution d'une partie du système global puis fournit un éliment de solution. Ce

travail peut être exécuté indépendamment des autres tâches et en même temps. C'est ainsi que

tout système pouvant être décomposé en un ensemble de composants indépendants peut

bénéficier de l'approche rnultiagent.

Les systèmes multiagents offrent, en général, une bonne qualité de robustesse. Ils

contiennent, éventuellement, des agents redondants. Cette configuration tolère l'échec d'un ou

plusieurs agents : les agents redondants qui sont logés sur des machines différentes assurent la

continuité du bon fonctionnement du système global.

Un aiitre avantage important de la technologie multiagent est l'extensibilité. Les systèmes

multiagents sont généralement ouverts et extensibles. On peut ajouter autant d'agents qu'on veut.

Les systèmes dont les paramètres et les capacités sont en évolution constante peuvent profiter de

l'approche multiagent.

Du côté de la programmation, le développement d'un système multiagent se caractérise

par la modularité. Le programmeur identifie les différents sous-tâches du système et les affecte à

des agents. Le développement peut ainsi évoluer sur différents volets et de façon parallèle.

1.7 Systèmes distribués et Systèmes multiagents Un système distribué est une cdlection de machines autonomes qui donne l'illusion aux

utilisateurs de travailler avec un seul système. Ces machines sont interconnectées par des réseaux

pouvant être hétérogènes et indépendants. Les applications, Zn collaboration, qui sont logées sur

ces machines sont assimilées à un système distribué. Elles coopèrent en échangeant des messages

pour former une seule machine virtuelle.

Les problèmes qui sont inhérents à la coopération des composants d'un système distribué

résultent entre autres de l'hétérogénéité des réseaux ainsi que des langages de programmation qui

sont parfois incompatibles. C'est ainsi que plusieurs applications d'un système distribué ne

Page 38: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

C h a ~ f t E 2 :Technologie choisie

peuvent pas coopérer facilement quoiqu'elles soient complémentaires comme dans le cas où elles

n'utilisent pas les mêmes formats de données ou les traitent avec des vitesses différentes

entraînant des blocages.

Dans un environnement complexe, plusieurs systèmes peuvent coexister offrant chacun

un élément de solution. Sous certaines contraintes, les échanges d'information sont difficiles,

voire impossibles, de façon automatique à cause de l'hétérogénéité que présentent ces systèmes. Il

en résulte qu'on alimente ces systèmes par les données requises de façon manuelle ou semi-

automatique. Dans d'autres cas, la conception et l'implantation de certains systèmes ne prennent

pas en considération la coopération des autres. Cette configuration ne permet pas une utilisation

optimale de ces systèmes. Il s'ensuit que la réutilisabilité est faible et qu'on a recours à

l'acquisition de nouvelles solutions ou au redéveloppement d'une grande partie de ces systèmes.

On aimerait bien, donc, regrouper les éIéments de solutions pour former un système unique

permettant de couvrir toute la solution. La question qui se pose à ce niveau : Est-ce que cette

tâche est faisable et avec quelle approche ?

L'approche multiagent répond à cette question et est bien adaptée à ce contexte. Chaque

agent du système est affecté à une application existante. Il assure la communication avec elle et

se présente par la même occasion comme une interface qui assure les échanges d'information

avec le reste du système global. Dans cette architecture, les agents communiquent ensemble par

le biais des protocoles utilisés par le système multiagent. Quant à la communication entre l'agent

et l'application, elle se fait selon les possibilités offertes par le langage de programmation de

l'agent et par celui de l'application. C'est pour cette raison qu'il est important de choisir un

langage de programmation des agents qui soit portable et compatible avec un plus grand nombre

possible de langages.

1.8 Utilisation de I'approche multiagent dans le domaine des

applications marines L'apport majeur de l'approche multiagent dans le cas de plusieurs systèmes

complémentaires et hétérogènes qu'on veut faire communiquer, c'est qu'elle permet une meilleure

réutilisation des applications existantes. Dans le domaine de la navigation maritime, la

planification des trajectoires des navires est régie par un ensemble de contraintes. E ~ t r e autres, il

faut prendre en considération les phénomènes des marées, des courants, de la glace ainsi que des

caractéristiques des navires. Certes, les solutions proposées telles que la prédiction des niveaux

d'eau en temps réel et la mesure du dégagement sous-quille des bateaux sont complémentaires.

Page 39: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chmitre 2 :Technolwie choisie

Mais, elles sont hétérogènes aussi bien au niveau des langages de programmation qu'au niveau du

matériel employé. L'utilisation de l'approche multiagent est bien appropriée pour faire coopérer

l'ensemble des solutions sous un seul système. Ainsi, à chaque système est attribué un agent avec

lequel il communique et via lequel il échange les informations avec les autres systèmes. La

cohabitation de I'ensemble des systèmes donne un système distribué qui permettra d'offrir une

solution complète aux contraintes de navigation (Figure 2.2). La planification des itinéraires

bénéficie bien de l'apport de l'approche multiagent. La coopération des différents systèmes

Dermet d'évaluer les impacts de toutes les contraintes et bien gérer cette tâche de planification.

Système de 1 prédiction du Agent 1 niveau d'eau I

Agent 4 prédiction des

Système /+-l ( Agentn concernant le 1

navire

Figure 2.2 : Application de l'approche multiagent dans le domaine des applications marines.

Remarque : L'architecture du système multiagent proposée par la figure ci-dessus représente un

cas possible. Tl est 2 noter qu'elle n'est pas optimale et qu'elle vise à illustrer des communications

possibles entre différents agents et différents systèmes de gestion de contraintes de navigation.

L'emploi de l'approche rnultiagent pour la résolution du problème de planification

d'itinéraires pose un certain nombre de questions. Quels sont les agents qui devront être

Page 40: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 2 :Technulupie choisie

développés et affectés aux systèmes existants et avec quels langages devront-ils être implantés ?

Comment va-t-on assurer la communication entre ces agents et ces systèmes ? On s'interroge

également sur la façon de fonctionner du système global ainsi que sur les types de

communications qui seront établies entres les agents.

1.9 Conclusion La notion d'agent ne possède pas, jusqu'à date, une définition standard. Plusieurs auteurs

lui attribuent des définitions selon ce que I'agent est capable de faire dans son domaine

d'utilisation. Cette absence de définition standard n'affecte aucunement l'importance des agents.

Ses utiiisations diverses, non seulement dans le domaine informatique mais aussi en médecine, en

psychologie, etc. lui attribuent de nouvelles qualités et performances.

Dans la mesure où un agent n'est pas toujours capable de résoudre tout seul un problème dans

lequel il est impliqué, il a besoin de coopérer avec d'autres agents dans le cadre d'un système

multiagent. Ces systèmes présentent plusieurs avantages. Citons, entre autres, la vitesse

d'exécution, la robustesse, la modularité et l'extensibilité sans oublier le fait que ces systèmes

permettent l'utilisation des appIications existantes ( 5 1.6).

Ce dernier point est fort important. En effet, l'hétérogénéité entre les applications

existantes est un problème qui les empêche de coopérer quoiqu'elles soient complémentaires.

Cette hétérogénéité est coûteuse. En effet, dans plusieurs cas, la solution adoptée est le

développement d'une partie de ces applications. Avec les systèmes multiagents, on peut

concevoir un système global dans lequel ces applications collaborent. Cette approche est réalisée

en affectant à chaque application un agent qui I'encapsule. La communication entre les différents

agents est supportée par le protocole adopté par le système multiagent. Il reste à assurer la

communication entre l'agent et l'application qu'il encapsule. Ceci est garanti grâce à un bon choix

du langage du développement de l'agent.

Un exemple de domaine dans lequel le problème d'hétérogénéité existe est la navigation

sur le fleuve Saint-Laurent. Cette navigation se heurte à plusieurs perturbations dues aux

nombreuses contraintes qui règnent dans le chenal. Plusieurs solutions ont été développées pour

ce problème. Certes elles sont efficaces, mais leur degré de collaboration est quasi-nul.

Pour garantir une meilleure gestion de la navigation, il est intéressant d'appliquer

l'approche multiagent et évaluer ses performances dans le domaine des applications marines.

Cette approche semble donner tous les atouts nécessaires à la collaboration de ces applications.

Page 41: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chu~itre 2 :Technologie choisie

La question qui se pose à ce niveau : Quelles sont les meilleurs outils qu'on peut utiliser pour

tester l'approche multiagent dans ce domaine ?

2.1 Introduction Bee-gent est un frarnework qui permet un développement aisé et rapide de systèmes

multiagents. consiste en 17agenti!cation de toute forme de communication entre agents par le

biais d'agents mobiles qui prennent en charge le transport de tout message vers sa destination.

Bee-gent est un moyen de conception de systèmes distribués flexibles et ouverts pouvant utiliser

toute application déjà existante.

Bee-gent propose une interface agent via laquelle une application donnée s'interface avec

le reste du système. Cette approche permet une solution fiable pour la communication réseau

entre différentes applications logicielles incompatibles (Figure 2.3).

Agent wrapper Agent m,t!diateur Agent Yrapper

component-ware

Agent wrapper

Figure 2.3 : Interconnexion d'applications réseau sous Bee-gent.

Page 42: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

2.2 Le framework Bee-gent

Bee-gent est doté de deux types d'agents : - L'agent wrupper : il permet d'agentifier les applications existantes.

- L'agent médiateur: il supporte Ia coordination inter-application en assurant la

communication entre des agents wrappers.

Un agent wrapper gère l'état de l'application qu'il encapsule. Il prend en charge la

communication avec cette application ainsi que l'activation des traitements requis. Il traite les

échanges de communication inter-applications en recevant ou en gérant les requêtes qui seront

communiquées au reste des agents du système par le biais des agents médiateurs.

Les agents médiateurs se déplacent d'un site d'une application 2 un autre transportant

avec eux les requêtes générées par les agents wrappers. Leurs tâches ne se limitent pas au

transport des messages, en effet, ces agents peuvent connaître les natures des requêtes et

déterminer la meilleure course d'action.

1 Applicatioq existante 1 1 . Agent wrapper 1

Application Agent médiateur agent A

Application agent B

Figure 2.4 : Frarnework du Bee-gent.

2.3 Caractéristiques de Bee-gent - Toute modification de la configuration du système ne se répercute pas sur les interactions de

coordination qui sont désormais encapsulées. L'agent médiateur gère ces interactions entre

les diverses applications d'une manière unique dans le but de simplifier le développement et

d'éviter tout traitement individuel sur la base des caractéristiques d'une application.

- Réduction du trafk sur le réseau. En effet, toutes les communications inter-agents sont

locales. L'agent médiateur migre sur le site de l'agent wrapper concerné par la

Page 43: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chvitre 2 :Technolopie choisie

communication et entame l'échange de messages et de requêtes requis. Il transporte avec lui

lors de cette migration son propre programme, ses propres données ainsi que son état courant.

- Les agents wrappers proposent des interfaces uniformes communes permettant une

interopérabilité large entre Ies applications. Par le biais de cette technique, le développeur,

sous Bee-gent, peut concevoir des systèmes ouverts de grande échelle vu que la tâche de

communication et d'interfaçage sont assumées par les agents médiateurs et les agents

wrappers.

- Les agents wrappers agenfifient les applications existantes. Cette stratégie permet la

protection de haut niveau des informations en contrôlant juste les requêtes en provenance des

agents. L' interaction inter-agents peut changer de façon flexible dépendemment de la

situation parce que la communication utilise le langage ACL (Agent Communication

Language).

- Les méthodes de communication et d'échange d'informations sont compatibles avec les

applications Intemet. En effet, la migration et la communication des agents médiateurs

adoptent le protocole H ï l T . D'un autre côté, Bee-gent se base sur XMUACL (extensible

Markup Language/Agent Communication Language) comme format de représentation d' ACL

en tant que langage de communication entre agents.

- Bee-gent utilise un système de sécurité et d'authentification «digital fingerpnnt» basé sur le

cryptage de clés secrètes.

- Bee-gent est conforme au standard de la technologie des agents F P A (Foundation for

Intelligent Physical Agents) qui est une agence internationale de standardisation pour la

technologie des agents.

2.4 Architecture de Bee-gent

Bee-gent utilise Java TM (JDK1.1 et versions postérieures). II possède une bibliothèque de

classes Java qui offre des fonctionnalités de communication et de migration pour les agents

wrappers et les agents médiateurs. Leurs actions peuvent être reprises sur des diagrammes de

transition. Bee-gent offre l'outil RAD (Rapid Application Developrnent) pour la conception de

patron (pattern).

Page 44: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chmitre 2 :Technolo~ie choisie

La structure interne de Bee-gent montre la disposition en couches suivante :

?

Propiam Generat ion M d i m Agrt

- - - -- -

Figure 2.5 : Structure de couches de Bee-gent.

L'architecture type de Bee-gent peut être résumée par la Figure 2.6. Sur un site A donné,

un agent wrapper encapsule une application et lui offre une interface via laquelle les échanges

d'informations et de requêtes seront faits. D'autres agents wrappers feront de même sur d'autres

sites avec d'autres applications à interconnecter dans le système à concevoir. Les agents

médiateurs gèrent les communications entre les différents agents wrappers des différents sites.

Mediation Agents

Figure 2.6 : Architecture type de Bee-gent.

34

Page 45: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 2 :Technoloaie choisie

2.5 Frameworks de développement d'objets distribués Les frameworks visent la conception de systèmes distribués ouverts qui permettent

l'utilisation et l'interconnexion des applications existantes aussi hétérogènes soient-elles. Cette

interconnexion n'est pas le seul objectif à mettre en œuvre. La coordination entre ces applications

est primordiale pour exploiter au mieux les services qu'elles peuvent offrir. CORBA, JINI et

Bee-gent sont des exemples de frameworks de développement de systèmes distribués.

CORBA : En CORBA la communication entre objets hétérogènes se fait en transformant les

messages en une interface standard.

Figure 2.7 : Communication inter-agenfs sous CORBA.

JINI : Dans le modèle de communication JINI les destinations de la connexion sont vues comme

des serveurs mandatés qui assurent la sécurité @roxys) et avec lesquels cette communication sera

faite à distance.

Figure 2.8 : Communication inter-agents sous JI NI.

Bee-gent : La communication sous Bee-gent se fait par le biais des agents médiateurs qui migrent

sur les sites où résident les applications sollicitées. Ces agents sont dotés de procédure de

coordination. Ils peuvent savoir quoi faire avec tel ou tel objet et connaître le site de l'application

concernée.

Page 46: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chauitre 2 :Technolo~ie choisie

- - - -

Figure 2.9 : Communication inter-agents sous Bee-gent.

2.6 Liste des fonctionnalités (Comparaison)

Le tableau ci-dessous représente la liste des fonctionnalités de Bee-gent, CORBA et JINI.

1 Fonctionnalité 1 Bee-gent 1 CORBA

1 Agents mobiles I - 1 Communication inter-agents I

I

Communication asynchrone 1 x 1 x

l

Disponibilité avec les applets 1 x I Espace de données partagé X

/ Sécurité 1 Partielle 1 Partielle

Indépendance avec les langages de programmation

Tableau 2.2.1 : Comparaison des fonctionnalités de Bee-gent, CORBA et JINI.

2.7 Concepts de base de Bee-gent

I

Protocole d'interaction

Un protocole d'interaction définit le comportement des différents

X

agents

X

qui concourent à

la réalisation d'une tâche donnée. Ce comportement est défini par des interactions basées sur les

échanges de messages entre agents. Le protocole d'interaction résume donc l'ensemble

d'interactions et de conversations entre agents wrappers et médiateurs. II est basé sur les deux

concepts d'état et de transition (Figure 2.10).

Page 47: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chu-vitre 2 :Technologie choisie

Action

Action

Action €3 Action to

Figure 2.10 : Protocole d'interacîion.

Chaque agent possède un état courant. II exécute une action donnée si sa précondition

coïncide avec son état courant. Il passe ainsi à un nouvel état. Ce passage est une transition. Le

protocole d'interaction est donc défini par la spécification des préconditions des états possibles,

les actions ainsi que les règles d e transition.

Précondition

Une précondition est une condition préalable. Une fois que l'agent satisfait cette précondition, il

exécute l'action définie dans son état et transite vers un nouvel état.

Action

Une action est un traitement local au sein d'un même agent ou c'est une interaction définie sous

forme de conversation (envoi ou réception de messages XMUACL).

Règle de îransition

Une règle de transition définit l'état avec lequel un agent doit transiter conformément au résultat

de 1 ' exécution d'une action donnée.

Page 48: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 2 :Technologie chokie

2.8 Conversations XMLJACL La conversation entre les différents agents de Bee-gent se fait par le biais du langage ACL

(Voir annexe 2). La structure logique d'une de ses expressions est représentée par XML. C'est la

raison pour laquelle la communication sous Bee-gent est nommée XMUACL. ACL possède les

caractéristiques suivantes :

- C'est un langage qui représente les intentions. - Il possède des protocoles qui spécifient les flots de conversations.

- Il possède des performatifs qui représentent les intentions des messages. On cite à titre

d'exemple inform, query et request. Les autres performatifs sont disponibles à l'annexe 2.

L'exemple ci-dessous exprime un message request dans un format XML.

< ! DOCTYPE request SYSTEM " reqilest . dtdl'>

creques t>

csender>Mediation Agentc/sender>

<receiver>Agent Wrapperc/ weceiver>

<content>

<action>actl</action>

<actor>Agent Wrapper</actor>

cargs>null</args>

</content>

cprotocol>Request-inform</protocol>

creply-with>MSG-ID:lc/reply-with>

contology>default</ontology~

</request>

01 : type du message XML qui est automatiquement inséré lorsque I'agent wrapper et I'agent

médiateur envoient ou reçoivent des messages.

02 : représente l'intention du message. Dans ce cas c'est un performatif request qui exprime

l'intention de l'agent (qui est à l'origine du message) de demander un service au destinataire.

03 : agent qui est à l'origine du message.

38

Page 49: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chauitre 2 :Technolonie choisie

04 : agent qui recevra le message.

05 à 09 : représente le contenu du message. Entres autres, la ligne 06 permet de définir l'action à

entreprendre par I'agent sollicité (ligne 07) en utilisant les arguments attachés au message Oigne

OS).

10 : protocole utilisé par le message.

11 : identifiant du message qui sera attaché à la réponse de la conversation entamée.

12 : ontologie utilisée par Ie message.

3. Java

3.1 Pourquoi Java ?

Les solutions proposées pour la gestion de la navigation sur le Saint-Laurent sont

généralement hétérogènes. Cette hétérogénéité se manifeste au niveau de la plate-forme

matérielle utilisée (PC, MAC, Station UNIX, etc.), au niveau des systèmes d'exploitations

employés (Windows NT, Unix, etc.), au niveau des langages de programmation (Java, Visual

Basic, C, etc.) mais aussi au niveau du matériel utilisé qui émane de divers constructeurs.

Afin de mettre en œuvre un système multiagent qui regroupe des solutions de ce genre, il

faut se doter d'un outil capable de :

Éliminer les hétérogénéités entre les différentes solutions qu'on veut regrouper.

Retourner un système qui peut s'exécuter en monoposte ou en réseau (Intranet et Intemet) car

les utilisateurs et les applications qui forment le système multiagznt sont dispersés

géographiquement.

Offrir un moyen pour la réutilisation des solutions existantes afin de réduire l'effort de

développement.

Offrir tous les avantages du paradigme Onenté Objet, car les agents sont assimilables à des

objets. Dans ce contexte, des programmes autonomes qui possèdent leurs propres données,

leurs propres propriétés ainsi que leurs propres fonctions.

Garantir un bon niveau de performance, de robustesse, de sécurité et de stabilité au niveau des

applications développées.

Le choix est fait sur le langage Java qui répond bien aux exigences susmentionnées et

nous en donne davantage. Les principaux atouts de ce langage sont résumés dans les points

suivants :

Page 50: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 2 :Technolopie choisie

La portabilité

C'est la caractéristique la plus importante de Java. Ce langage est totalement indépendant

du matériel utilisé. Ii tourne sur toutes les plates-formes (PC, MAC, Station UNIIX, etc.). Pour ce

faire, le code Java est d'abord compilé en un petit programme compact [18] appelé Pseudo-code

ou Bytecode. Cette action est assurée par un compilateur que possède chaque plate-forme.

L'avantage du Bytecode c'est qu'il est indépendant de la plate-forme cible et par

conséquent portable. Il comporte des instructions proche du code machine mais non spécifiques à

un ordinateur.

Le Bytecode généré est mis ensuite sur un serveur pour être exécuté directement ou pour

être téléchargé par un client qui I'exécute à l'aide d'un interpréteur, propre à chaque plate-forme

(Figure 2.1 1). Cette qualité de Java permet d'éliminer les problèmes qui ont trait à l'hétérogénéité

des solutions de gestion de la navigation.

Figure 2.11 [I 81 : Schéma de la porta bilité de Java.

40

Page 51: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 2 :Technolonie choisie

Langage Orienté Objet

Java est ur, langage Orienté Objet. Il dispose de plusieurs bibliothèques et classes qui

permettent entre autres la gestion des bases de données, des fichiers, des réseaux et des interfaces.

C'est un langage simple dérivé de C w [18]. Il permet de simplifier les tâches difficiles sous C++

telles que la gestion des pointeurs. Tout simplement, Java n'en dispose pas ; il gère

automatiquement la mémoire.

Les langages de type Orienté Objet fournissent une particularité par rapport aux autres

langages en terme de réutilisabilité. Cette réutilisabilité est réalisée grâce aux trois mécanismes

fondamentaux : l'héritage, le polymorphisme et la liaison dynamique. À tire d'exemple, pour

modifier une méthode d'une classe donnée, on peut ne pas toucher à l'interface de cette classe.

Pour cela, il suffit de créer une classe héritée et de ne modifier que la méthode qui ne convient

Pas. Grâce à ses avantages en tant que langage Orienté Objet et grâce à sa portabilité, Java

permet d'utiliser les applications existantes. Il assure cette fonction par ses concepts d'héritage, de

polymorphisme et de liaison dynamique. Il i'assure, aussi, par encapsulation de ces appIications

ainsi que par sa qualité de pouvoir s'exécuter sur toutes les plates-formes.

La sécurité

Java permet de renforcer la sécurité des systèmes et des applications développés :

- Il offre des vérificateurs de Bytecode.

- II contrôle la mémoire.

- 11 gère les accès aux fichiers.

Lu robustesse

Java contrôle l'allocation de la mémoire. JI permet, aussi, d'éviter la surcharge du serveur

et du réseau en utilisant les moyens de calcul de la machine client (le programme Java peut être

téléchargé et exécuté sur la machine client) [19].

Pour résumer, Java est choisi essentiellement pour sa portabilité. Son indépendance vis-à-

vis des plates-formes permet d'éliminer les problèmes d'hétérogénéité entre les applications de

gestion de la navigation existantes. Java est aussi choisi pour sa robustesse et sa sécurité. En

outre, il est choisi parce qu'il permet de réduire l'effort de développement en permettant la

réutilisation des applications existantes.

Page 52: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chavitre 2 :Technoloaie choisie

4. Matlab

4.1 Pourquoi Matlab ?

Pour réaliser la planification des itinéraires, on prend en considération plusieurs données

dont le volume peut être considérable et qui concernent, entre autres, les marées et les courants.

Pour effectuer les calculs requis sur ces données, il est important d'utiliser un outil qui présente

une bonne puissance de calcul. Il est aussi important que cet outil permette d'effectuer des calculs

mathématiques sur les données afin de calculer les trajectoires des navires. Il est enfin fortement

recommandé que les résultats des calculs soient rapportés sur des graphiques qui les appuient.

Le choix est fait sur Matlab vu les performances qu'il offre. Matlab est un environnement

de calcul scientifique et de visualisation des données. Il intègre le calcul mathématique, la

visualisation et un puissant langage technique. MATLAB gère de nombreuses tâches de calcul en

ingénierie et en sciences, depuis les acquisitions et les analyses de données jusqu'au

développement d'applications 1201. Il contient diverses boîtes à outils qui renferment plusieurs

fonctions mathématiques et graphiques. Les professionnels du domaine technique préfèrent

MATLAB à C car il permet d'accélérer leur recherche et raccourcir le temps consacré à l'analyse

et au développement. Matlab permet aussi de réduire les coûts des projets et produire des

solutions efficaces

MATLAB donne des interfaces intégrées qui permettent de lire et d'importer rapidement

des données à partir de périphériques, de fichiers, de bases de données et de programmes

externes. De plus, il permet d'intégrer aux applications des routines externes écrites en C , C++,

Fortran et Java [SOI.

Les outils de Matlab

Matlab inclut plusieurs outils pour [20] :

- L'analyse et l'exploration des données.

- La visualisation et le traitement des images.

- Le prototypage et le développement d'algorithmes.

- La modélisation et la simulation.

- L'acquisition des données.

- La programmation et le développement d'applications.

Les fonctionnalités de Matlab

Matlab possède plusieurs fonctionnalités. On en cite [20] :

- Calcul numérique pour des résultats rapides et précis.

Page 53: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chavirre 2 :Technologie choisie

- Des graphiques pour analyser et visualiser les données.

- Un langage et un environnement de programmation interactifs.

- Des outils pour la conception des interfaces utilisateurs graphiques.

- Des interfaces avec des langages externes tels que C, C++, Java et Fortran.

- La prise en charge de l'importation des données à partir des fichiers et des périphériques

externes ainsi que l'accès aux bases de données.

- La conversion des applications Matlab en C et CU.

Pour résumer, Matlab est un outil important qui permet d'offrir et d'exécuter les calculs

mathématiques nécessaires aux calculs des trajectoires des navires. Ses outils graphiques

permettent de confirmer les résultats obtenus et de donner plus d'idées sur les trajectoires ainsi

que sur les conditions sur Ie fleuve.

5. Conclusion Pour résoudre le problème de la planification des itinéraires sur le fleuve Saint-Laurent,

nous avons choisi d'utiliser les technologies suivantes : les agents logiciels et les systèmes

multiagents, Bee-gent en tant que plate-forme de développement des systèmes multiagent, Java

pour le développement des agents et finalement Matlab pour le calcul et la visualisation des

trajectoires des navires. Le choix est fait sur la base des performances qu'offrent ces outils.

Grâce à sa portabilité, Java permet de résoudre les problèmes qui ont trait à l'hétérogénéité

des solutions existantes. C'est un langage qui tourne sur n'importe quelle plate-forme (PC, MAC,

etc.), en monoposte ou en réseau. Cette caractéristique permet de résoudre le problème de

dispersion des solutions utilisées sur plusieurs sites.

Bee-gent assure la création et la communication des agents développés en Java. Grâce au

langage ACL, il supporte la communication qui se fait facilement par échange des messages

XMUACL. De son côté, Matlab assure le traitement des données concernant, entre autres, les

marées et les courants. Grâce à sa puissance de calcul, il permet d'effectuer tous les calculs

nécessaires pour déterminer les trajectoires des navires et les visualiser.

Le problème qui se pose à ce niveau est en relation avec l'interfaçage entre Matlab et Java.

Certainement, des solutions existent pour ce problème. À titre d'exemple, on peut utiliser le

langage C comme langage intermédiaire par iequel les données à échanger transitent. Toutefois, il

est préférable de trouver une solution directe qui permet de faire communiquer Java et Matlab

sans intermédiaire.

Page 54: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

III. Solution multiagent proposée

1. Architecture du système multiagent

2. Fonctionnement du système multiagent

3. La planifYication des itinéraires

4. Utilisation de Bee-gent

Page 55: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapirre 3 : Solution mulriagem orooosée

1. Architecture du système multiagent Le présent travail ne prend pas en considération toutes les contraintes de navigation

identifiées auparavant. C'est ainsi que I'impact de la présence de la glace dans le chenal n'est pas

considéré. Le travail effectué fournit plutôt une maquette qui exprime la faisabilité de

l'application de l'approche multiagent dans le contexte de la planification des itinéraires marines.

L'intégration de toute autre contrainte pouvant perturber la navigation est rendue possible grâce à

l'architecture ouverte du système multiagent proposé.

Le système multiagent développé offre un module de détermination des niveaux d'eau et

de calcul des trajectoires des navires. Ces calculs se font en tenant compte des facteurs des

marées, des courants ainsi que des caractéristiques du navire. Le système donne des suggestions

dont le but est d'aider le navigateur à bien choisir ses heures de départ. Tous les résultats sont

représentés sur des interfaces graphiques offertes par le langage Matlab.

Le système multiagent proposé contient quatre agents principaux : Agent Marée, agent

Courant, agent Navire et agent Fédérateur.

1.1 Les agents Marée et Courant Ces agents devraient connecter des soiutions de prédiction et de gestion des marées et des

courants à l'ensemble des éléments du système développé. Leurs rôles dans le présent système

sont de fournir respectivement Ia table des marées et celle des courants demandées pour la date

spécifiée par le navigateur. Ce rôle peut être plus complexe en intégrant des solutions réelles.

1.2 L'agent Navire Cet agent représente la fenêtre par laquelle le navigateur interagit avec le système. En

effet, le navigateur fournit par le biais de cet agent les informations concernant son navire telles

que la date de départ, les heures de départ au plus tôt et au plus tard ainsi que sa vitesse. Ces

informations sont les plus significatives pour le système multiagent implanté. Néanmoins,

l'architecture ouverte du système permet de les étendre et d'intégrer des nouvelles informations

teIIes que le dégagement sous-quille du navire.

Page 56: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

ChiZ~itrt? 3 : Solution multiaaent oroposée

1.3 L'agent Fédérateur L'agent Fédérateur est conçu dans le but d'organiser les échanges d'information dans le

système. Il exerce un contrôle sur le fonctionnement global. On implante ainsi le processus de

coordination par supervision directe proposé par Mitsberg et mentionné dans le chapitre

précédent (§ II. 1 -4).

L'agent Fédérateur communique avec tous les autres agents du système. Il récupère les

données concernant le navire auprès de l'agent Navire. I1 cherche les tables des marées et des

courants pour la date de départ prévue par le navire auprès des agents Marée et Courant. Les

informations collectées sont transmises à un programme codé en Matlab qui fait les calculs

nécessaires pour la planification des itinéraires. Ce progamme retourne ses résultats à l'agent

Fédérateur qui les transmet ii son tour 2t l'agent Navire.

L'utilisation de l'agent Fédérateur permet de contrôler le fonctionnement global du

système et gérer la communication des nouveaux agents avec le reste du système (Figure 3.1).

-

O '

Agent Fédérateur Tables des marées

O

Agent Courant

t i Tables des courants

Figure 3.1 : Architecture du système mulîîugent proposée.

Page 57: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution multiaeent nro~osée

2. Fonctionnement du système multiagent Le système multiagent proposé contient 8 flux d'information entre les agents. Ces flux

modélisent l'interaction au sein du système.

- Flux O : L'agent Navire envoie à l'agent Fédérateur les données saisies par le navigateur. Ces

données concernent la date de départ, les heures de départ au plus tôt et au plus tard ainsi que

la vitesse du navire. Ces informations sont saisies à partir de l'interface qu'offre le système

pour l'agent Navire (Figure 3.2).

..: L'agent Navire en attente ...

.; Transmission d e s données à l'agent Fédérateur ... I

Figure 3.2 : Interface de l'Agent Navire.

Flux : L'agent Fédérateur demande d'établir une connexion avec l'agent Marée. Il lui

demande la table des marées qui correspond à la date de départ spécifiée par l'agent Navire.

La connexion établie entre les deux agents est de type Client/Serveur. Elle fait intervenir

l'agent Fédérateur comme client lors de cette connexion. L'agent Fédérateur spécifie en plus

de la date de départ du navire son port d'écoute pour permettre l'établissement de la

connexion et par lequel la table sera transmise.

Page 58: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Sukition rnultiaaent - ~roposée

- Flux 8 : L'agent Marée accepte d'établir la connexion Client/Serveur avec I'agent Fédérateur

et procède à l'envoi de la table des marées correspondante à la date spécifiée par I'agent

Fédérateur.

gragent Maree en attente ... 3: . . . Réception d'un message de la part de I'agent Fédérateur . . ... ' :,- _,. I I .

Établissement de la communication CUenUÇerveur avec l'agent Fede ::$ . .- ..! t J

Le serveur est lancé pour le transfert de la table des marées , . ._ . . , . . -, .*..,. ..... , .., .... ,.,. . Transfert de la table des marées en cours ... .;..:>j;;

:'"a;! . -. . - . , a > , ..-

Figure 3.3 : In te~ace de l'agent Marée lors de l'exécution du système.

- Flux CD : L'agent Fédérateur demande d'établir une connexion Client/Serveur avec l'agent

Courant. Dans cette connexion, il joue le rôle du client. Il lui demande la table des courants

pour la date spécifiée. II spécifie par la même occasion son poa d'écoute.

- F h x a : L'agent Courant accepte et établit la connexion Client/Serveur avec l'agent

Fédérateur et lui transmet la table des courants demandée.

Figure 3.4 : Interface de l'agent Courant lors de l'exécution du système.

Page 59: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 3 : Solution multia~enr ~ r o ~ o s é e

Heure Distance Intemit6 du courant

Figure 3.5 : Transmission de la fable de courants lors de l'exécution du système.

- Flux @ : Après avoir recueilli toutes les données nécessaires au calcul des trajectoires du

navire, l'agent Fédérateur appelle le programme Matlab et lui passe toutes ces données.

- Flux @ : Le programme Matlab effectue les calculs nécessaires, trace les trajectoires du

navire et retourne les résultats à l'agent Fédérateur. Dans le cas où il serait judicieux de

changer l'heure de départ, le programme Matlab suggère au navigateur une nouvelle heure de

départ et trace la trajectoire que devrait avoir le navire pour cette heure.

Page 60: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution rnultiaaent ~rooosée

J'al un message de la part de navire ... . .y .:.! :; ., <.. . - - .!/. ..,'. .- . Y i - -. . -... J'ai besoin de la table des marees ... ., . _'>. . - . :S.. ::;. 7 :-,

Attente : activer la communication ClientlServeur avec l'agent Maree ... :::c:-;r - .'.;!: Cagant Maree est pret pour le transfert de fichier ... -

-.>:r2; .i

Transmission de la table des marees en cours ... Transmission de la table des marees terminee avec succes. J'ai besoin de la table des courants .., L'agent Courant est pret pour le transfert de fichier ... Mente : demande de la table des courants ... Transfert de la tabie des courants en cours ... transmission de la table des courants terminee avec succes. Attente : j'ai besoin du programme Matiôb ... Appel du programme Matlab ... Lancement des calculs des trajectoires des navires ... Récupération,des résultats des calculs à partir de Matlab ... Heure suggérée pour le départ au plus tôt: 08h08mn Attente : envoyer les resultats a l'agent Navire ...

.. 2 ' . . . .- - . p. . . . ' 1 . i l - . .. . .. .,

. . . . ' :. / ' . . . ,

Figure 3.6 : Interface de l'agent Fédérateur lors de l'exécution du système.

- Flux O : L'agent Fédérateur récupère les résultats des calculs de la part du programme

Matlab. II ne lui reste qu'à envoyer les résultats des calculs à l'agent Navire. Les résultats

seront affichés et consultés par le navigateur qui décidera de son heure de départ.

Page 61: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

?:]L'agent Navire en attente ...

Figure 3.7 : Interface de l'agent Navire à la fin de l'exécution du système.

3 ..- z::

.:$

:: :: ':

I

Commentaires

Transmission des données à l'agent Fédérateur ... Attente de [a reponse de l'agent Fédérateur ... Réception des résultats de l'agent Fédérateur ...

Départ au plus tôt 1 Départ au plus tard

Départ 1 (00.000,06.35) 1 (00.000,09.30) Arrêt 1 (1 74654,12.20) j ?a"">

Reprise 1 ( 3 74654,14.00) ] VI- Arrivée 1 (259260,16.43) 1 (259260,17.50) Heure de depart au plus tôt suggérée est: 08hO8mn. Cela vous permettra d'atteindre la destination sans arrêt

Le navigateur décide de quitter le port de Montréal à 06h35mn. À 12h20mn il serait obligé de

s'arrêter car le niveau d'eau n'est pas sufisant pour le passage de son navire. Il ne peut

reprendre son voyage qu'à 14h. Il arrivera à Québec à 16h43mn. Dans le cas où le navigateur

déciderait de quitter le port de Montréal à 09h30mn, son navire peut passer sans problème

jusqu'à destination.

Le système propose au navigateur de modifier son heure de départ au plus tôt pour qu'il

puisse passer sans arrêt jusqu'à Québec. Dans l'exemple choisi, il est suggéré de quitter le port

de Montréal au plus tôt 08h08mn.

L'agent Marée et l'agent Courant peuvent utiliser des bases de données où sont stockées

respectivement les tables des marées et des courants. Dans le cas du système multiagent

proposé, les deux agents utilisent des fichiers séparés pour enregistrer les tables sans aucune

organisation de base de données.

Page 62: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution multiaaenr - . . urmosée

3. La planincation des itinéraires Après la collecte des données nécessaires, la planification des itinéraires est réalisée grâce

à un programme implanté en Matlab. Ce programme permet entre autres de tracer les courbes des

niveaux d'eau et de tracer les trajectoires du navire correspondant à l'heure de départ au plus tôt et

celle au plus tard. Dans le cas où le navire serait obligé de s'arrêter à cause du niveau d'eau

insuffisant, ce programme calcule l'heure de départ que devrait choisir le navigateur.

3.1 Calcul des niveaux d'eau Notre programme Matlab permet de calculer les niveaux d'eau pour la date de dépm

spécifiée par le navigateur en tenant compte du phénomène des marées. Il permet de représenter

graphiquement ces niveaux sous forme de courbes (Figure 3.8). Ces courbes sont nécessaires

pour cerner les zones de niveaux d'eau suffisants pour un passage sécuritaire du navire.

Figure 3.8 : Courbes des niveaux d'eau entre Montréal et Québec pour un seul jour.

Page 63: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution multianent ~rouosée

Remarque : Le programme Matlab permet de tracer sur la même figure les courbes de niveaux

d'eau pour un ou plusieurs jours.

3.2 Détermination des zones de passage interdites En tenant compte des caractéristiques du navire, on peut déterminer le niveau d'eau

minimal nécessaire à un passage sécuritaire du navire. Sur cette base, le programme Matlab

permet de cerner les zones n'ayant pas le niveau d'eau requis pour un passage sécuritaire du

navire (Figure 3.9). Ces mesures sont importantes dans la mesure où la détermination des

trajectoires des navires doit éviter ces zones dangereuses. Connaissant la vitesse et l'heure de

départ spécifiées, le programme Matlab permet de prédire si le navire pouvait passer sans qu'il

entre dans ces zones ou il serait obligé de s'arrêter en l'attente de l'augmentation du niveau d'eau.

Zones ayant un niveau d'eau inférieur à 12x11

Figure 3.9 : Délimitation des zones de passages interdites.

Page 64: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chavirre 3 : Solution multiaaent ~ r o ~ o s é e

3.3 Calcul des trajectoires Après avoir tracé les courbes des niveaux d'eau et cerné les zones de passage interdites, le

programme Matlab calcule et trace les trajectoires du navire. Ces trajectoires sont établies pour la

vitesse spécifiée et pour les heures de départ au plus tôt et au plus tard communiquées par le

navigateur (Figure 3.10).

Les trajectoires calculées tiennent compte du phénomène des courants qui perturbe la

vitesse du navire. L'intensité des courants peut être favorable ou défavorable. Le long du trajet, le

progamme Matiab calcule la vitesse du navire qui est la résultante de la vitesse du navire à la

surface et la vitesse du courant. Il fait une interpolation sur les heures et les distances. En effet,

entre Montréal et Québec, on compte presque 260 km qui sont divisés en 341 sections de

distance. Pour chaque section et chaque quart d'heure, le programme calcule la nouvelle vitesse

en tenant compte de la vitesse courante et de la moyenne de l'intensité des courants entre les deux

sections.

Dans le cas où la trajectoire du navire couperait une zone de passage interdite, le

p r o s a m e Matlab prévoit l'arrêt du navire jusqu'au moment où le niveau d'eau sera suffisant. Il

reprend ensuite le calcül à partir de l'heure où les conditions seront favorables.

Figure 3.10 : Culcul des tmjectoires au plus tût et au plus tard du navire.

54

Page 65: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution multiaaent ~rooosée

3.4 Calcul des trajectoires des navires par procédure inverse II est possible que l'heure de départ du navire soit mal choisie. Le navire serait obligé de

s'arrêter dans l'attente d'un niveau d'eau suffisant pour sa sécurité. Cet arrêt doit être évité vu les

pertes en temps et en consommation de carburants qui s'en suivent. Le programme Matlab prévoit

une procédure de calcul de l'heure de départ suggérée en tenant compte de la vitesse du navire et

des courants. Les calculs sont faits selon des interpolations sur le temps et sur les sections de

distance. Les résultats permettent de tracer la trajectoire que devrait avoir le navire pour l'heure

suggérée (Figure 3.1 1).

Cette tâche est une aide à la décision permettant aux navigateurs de faire de meilleurs

choix pour leurs départs. C'est ainsi que dans l'exemple de la Figure 3.1 1, le navire sera obligé de

s'arrêter. Le programme fait ses calculs et lui suggère une nouvelle heure de départ (Courbe du

milieu).

Figure 3.11 : Calcul de l'heure de départ suggérée afin d'éviter l'arrêt du navire.

Page 66: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution multhent ~ r o ~ o s é e

4. Utilisation de Bee-gent Le développement des agents qui constituent le système multiagent proposé est assuré par

le biais de Bee-gent. Cette plate-forme de génération de systèmes multiagents permet de coder les

agents en java. Elle met à la disposition des agents un ensemble de performatifs qui forment le

langage ACL (Agent Communication Language). Bee-gent offre plusieurs fonctions qui

supportent les communications entre les agents. Ces fonctions sont des messages XMUACL.

Elles sont essentiellement de deux types : Attendre (waitXML) et Envoyer (sendXML).

Les performatifs du langage ACL supportés par B ee-gent renferment plusieurs

informations qui concernent entre autres le type du performatif, la source, la destination ainsi que

le contenu du message. À sa réception, l'agent analyse le performatif afin de déterminer son

origine et l'action qui lui est demandée.

La modélisation d'un agent sous Bee-gent s'apparente à celle d'un automate. Chaque agent

exécute une tâche ou déclenche un traitement et passe à un état suivant. La représentation des

différents états par lesquels un agent passe est effectuée grâce aux diagrammes de transition que

Bee-gent permet de concevoir par le biais d'un de ses modules, en I'occurrence IPEditor. Les

diagrammes de transition permettent en particulier de modéliser le protocole de communication

entre les différents agents du système.

Page 67: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution multiapenz urouosée

4.1 Diagramme de transition de l'agent Navire

Figure 3.12 : Diagramme de transition de l'agent Navire.

Le digramme de transition de l'agent Navire présente deux états essentiels. L'agent navire

commence par soumettre sa requête de calcul de trajectoire â l'agent fédérateur. Il lui envoie un

performatif inform qui contient toutes les données nécessaires (date de départ, heure de départ au

plus tôt, heure de départ au plus tard et sa vitesse). L'agent Navire passe après à un deuxième état

où if attend la réponse de l'agent Fédérateur.

Page 68: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution rnultiaaent ~roposée

4.2 Diagramme de transition de I'agent Marée

Figure 3.13 : Diagramme de transition de I'agent Marée.

Le diagramme de transition de I'agent Marée contient deux états. Au début, I'agent Marée

observe un état d'attente jusqu'au moment où il est sollicité par I'agent Fédérateur. Ce dernier lui

envoie un performatif request lui demandant d'établir une connexion Client/Serveur. Il lui passe

en paramètre la date de départ du navire et son port d'écoute pour pouvoir se connecter. L'agent

Marée traite la requête de l'Agent Fédérateur et passe au deuxième état. Ensuite, il transmet à

l'agent Fédérateur le performatif inform pour lui dire qu'il est prêt à transmettre la table des

marées pour la date spécifiée. La connexion Client/Serveur est par la suite établie de façon

effective entre les deux agents et la transmission de la table des marées est déclenchée. À la fin,

l'agent Marée se déconnecte et quitte le système.

Page 69: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~i tre 3 : Solution mulrianent orooosée

4.3 Diagramme de transition de l'agent Courant Le diagramme de transition de l'agent Courant est similaire à celui de l'agent IMarée. Il

possède les mêmes états et les mêmes transitions vu que les deux agents jouent des rôles

équivalents.

Figure 3.14 : Diagramme de îransition de l'agent Courant.

4.4 Diagramme de transition de l'agent Fédérateur Le diagramme de transition de l'Agent Fédérateur comporte trois états principaux. On y

trouve les performatifs envoyés par les autres agents et qui figurent dans leurs diagrammes de

transitions. On y trouve aussi les performatifs qui sont envoyés de sa part aux autres agents du

système.

Page 70: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 3 : Solution multiapent ~ r o ~ o s é e

Figure 3.15 : Diagramme de tmnsition de l'agent Fédérateur.

5. Interfaçage JavaIMatlab : JmatLink Un des grands apports de l'approche rnultiagent est qu'elle permet de concevoir des

systèmes ouverts et extensibles. Elle permet aussi d'implanter des systèmes intégrant plusieurs

applications hétérogènes et de les faire communiquer.

Au niveau du système multiagent proposé, l'agent Fédérateur, développé en Java, interagit

avec le programme Matlab qui assure les calculs de la planification des itinéraires. L'interfaçage

entre les deux est permis grâce à une librairie Java appelée JmatLink. Cette librairie offre un

ensemble de fonctions qui permettent de lancer un programme Matlab à partir de Java et d'établir

un échange d'information entre les deux. Entre autres, il est pertinent de citer les fonctions

suivantes de JmatLink :

- engOpen : Cette fonction permet de lancer Matlab à partir de Java et par la suite d'établir la

connexion entre les deux.

Page 71: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 3 : Solution mdtianent pro~osée

- engEva1String : Cette fonction permet d'évaluer une expression sous Matlab. Dans le cas du

système rnultiagent proposé, les paramètres de cette fonction sont formés par une fonction

Matlab qui exécute le programme de planification des itinéraires ainsi que par les noms des

tables des marées et des courants.

- engGetArray : Cette fonction permet d'obtenir des données à partir de Matlab. Dans le cas

présent, l'agent Fedérateur utilise cette fonction pour récupérer les résultats de l'exécution du

programme de planification des itinéraires.

- engClose : Cette fonction permet de rompre la connexion avec Matlab.

Les quatre fonctions précédemment citées permettent I'interfaçage entre l'agent Fédérateur

et le programme Maclab de planification des itinéraires. Le schéma suivant résume l'ensemble des

échanges entre les deux parties.

Résultats Trujecroire au plus tôt . . . Trajectoire au plirs tard . . . Suggestions . . .

Figure 3.1 6 : Interfaçage agent Fédérateur/Progrumrn e Matlab.

Page 72: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

C h ~ i t r e 3 : Solution rnultiapenr prouosée

6. Conclusion À travers ce chapitre, nous avons prouvé que l'approche multiagent est bien appropriée au

domaine des applications marines. Elle donne de bonnes performances et permet surtout de

simplifier les problèmes dans ce domaine en les découpant en des sous-problèmes. La résolution

de chaque sous-problème est assurée par un agent autonome. Nous avons prouvé aussi le bon

choix des technologies adoptées pour la résoiution du problème de la planification des itinéraires.

Grâce à la collaboration de Bee-gent, de Java et de l'approche multiagent, nous avons pu créer les

agents Navire, Marée, Courant et Fédérateur du système global et établir facilement la

communication entre eux. Le problème d'interfaçage entre Matlab et Java, invoqué dans la

conclusion du chapitre dédié à la technologie choisie, est résolu grâce à la librairie JmatLink.

Cette librairie nous a offert tous les moyens nécessaires pour l'appel du programme Matlab qui

effectue les calculs des trajectoires des navires. Elle nous a permis, aussi, de passer les

informations nécessaires à l'exécution de ce programme et la récupération des résultats à la fin.

L'impIication du navigateur dans le fonctionnement de notre système est une nouveauté

qui n'existe pas au niveau des systèmes conçus pour la gestion de la navigation sur le Saint-

Laurent. Avec notre système, le navigateur aurait la possibilité de spécifier les informations

concernant son navire. À la fin de l'exécution du système, il recevrait des informations

pertinentes concernant son voyage telles que son heure d'arrivée et éventuellement la suggestion

d'une nouvelle heure de départ d a s Ie cas où cette heure serait mal choisie au début.

L'utilisation des applications existantes dans notre système se restreint au programme

Matlab et aux programmes Client et Serveur que nous avons conçus pour le calcul des trajectoires

des navires et l'envoi des tables des marées et des courants à l'agent Fédérateur. L'absence des

applications opérationnelles est due à l'absence d'un accord avec leurs organismes propriétaires.

Cette absence ne touche en aucun cas le fondement de notre système. Ce dernier prouve qu'il est

extensible grâce aux atouts de l'approche multiagent et au langage Java.

Notre système permet de calculer et de tracer Ies trajectoires des navires en se basant sur

des informations concernant les marées, les courants ainsi que les navires. Pour expliquer plus en

détail son fonctionnement, nous consacrons le chapitre suivant à sa réalisation technique ;

Comment sont conçus les différents agents ? Comment se font les échanges entre eux ? Comment

fonctionne le programme Matlab ?

Page 73: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Réalisation technique

1. Réalisation technique : Les agents

2. Réalisation technique : Le programme MatIab

Page 74: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 4 : Réalisation fechni~ue

1. Réalisation technique : Les agents

1.1 Introduction La communication au sein de notre système multiagent se base essentiellement sur

l'échange des messages XMUACL. Néanmoins, des données sont transmises via des connexions

Client/Serveur entre l'agent Marée et l'agent Fédérateur d'une part et l'agent Courant et L'agent

Fédérateur d'autre part. Ces connexions sont établies dans le but de transférer les tables des

marées et des courants vers l'agent Fédérateur.

Lors de chacune des connexio~s Client/Serveur, le programme client est encapsulé dans

l'agent Fédérateur. Le programme serveur, quant à lui, est intégré dans chacun des agents Marée

et Courant. Dans les deux cas, ce programme joue le même rôle. La seule différence réside au

niveau de la table à transférer.

Pour expliquer le fonctionnement de chaque agent et ses interactions avec les autres, on

présente dans cette section les organigrammes et les pseudo-algorithmes des différents agents du

système ainsi ceux des programmes client et serveur. Toutefois, on se contente de présenter l'un

des deux agents Marée ou Courant parce qu'ils jouent des rôles similaires. Le choix étant fait

pour l'agent Courant.

1.2 La connexion Clientfierveur

1.2.1 Le serveur

Le serveur commence par créer la socket via laquelle la transmission de la table des courants

sera effectuée.

Il passe ensuite à un état d'écoute, en attente d'une éventuelle demande de connexion

ClientlServeur. Si tel est le cas, la connexion est établie.

Le programme serveur cherche la table des courants pour la date spécifiée. Il vérifie par la

même occasion les permissions de lecture de cette table. En cas d'anomalies, un message

d'erreur est généré.

64

Page 75: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 4 : Réalisation techniaue

4. Si la table existe avec les droits requis, sa transmission commence de façon effective. Le

programme serveur lit la table caractère par caractère. Chaque caractère lu est écrit dans la

sortie de la socket. Il sera reçu et lu par le programme client de l'agent Fédérateur de l'autre

côté de la connexion.

5. Ce processus continue jusqutà la fin de la transmission de la totalité de la table. Après

l'achèvement du transfert, la connexion CIient/Serveur est rompue.

Organi'gramrne

Création Socket

Écoute : Attente connexion k

Connexion ? Q--- Recherche table et permissions 1

permission Erreur

Écriture Fin table ? Socket

t-- -:

Figure 4. I : Organigramme du serveur.

Page 76: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 4 : Réalisation technique

1.2.2 Le client

Pseudo-algorithme

1. Création d'une nouvelle socket sur le poste local sur lequel réside I'agent Fédérateur.

2. Établissement de la connexion Client/Serveur de façon effective.

3. Lecture de l'entrée de la socket.

4. Sauvegarde de l'information lue à partir de l'entrée de la socket dans un fichier de sortie.

5. Le programme client boucle sur les étapes 2 et 3 jusqu'à la fin de la transmission.

Création Socket

Etablissernent connexion

1 Fin 1

Figure 4.2 : Organigramme du client.

1.3 Agent Courant

La contribution de I'agent Courant dans notre système multiagent est l'envoi de la table

des courants à l'agent Fédérateur. Cette table correspond à la date de départ spécifiée par l'usager.

Lors de leur communication, les deux agents s'échangent des messages XMUACL contenant les

performatifs request (qui sert à demander la table des courants auprès de l'agent Courant) et

infonn (qui permet d'aviser l'agent Fédérateur de la possibilité d'établir une connexion

Client/Serveur).

Page 77: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 4 : Réalisation techniuue

Le fonctionnement de I'agent Courant est marqué par deux états : l'établissement de la

communication avec I'agent Fédérateur et le transfert de la table des courants réclamée par cet

agent. Les pseudo-algorithmes et les organigrammes de ces deux états sont présentés dans la

suite.

Pseudo-algorithme correspondiznt à l'établissement de la communication

2 . L'agent Courant observe au début de son premier état une attente qui dure jusqu'à sa réception

d'un message XMLdACL.

2. Dès la réception de ce message, l'agent Courant vérifie son origine qui devrait être I'agent

Fédérateur. Si tel n'est pas le cas, une erreur est générée.

3. Ensuite, il vérifie la nature du performatif qui doit être de type requesf.

4. L'agent Courant analyse l'information contenue dans le message XMUACL. Il extrait à pxtir

de cette information la date de départ du navire.

5. Il envoie ensuite un message XMLIACL à I'agent Fédérateur de type inform pour lui

indiquer qu'il est prêt à étabIir une connexion CIient/Serveur avec lui.

6. L'agent Courant reprend son état d'attente jusqu'à Ia réception de la confirmation de

l'établissement de la connexion Client/Serveur de la part de l'agent Fédérateur. Il passe ainsi

au deuxième état.

Page 78: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha oitre 4 : Réalisation zechnioue

Organigramme correspondant à l'établissement de là communication

Fédérateur

II Réception message

XMUACL ? -- Identification de

la source du message

Féddrateur ? Erreur

Identification nature performatif

Request ? 6 Non 1 Traitement des

données du Fédérateur

Envoie message Fédérateur

1 Attente (État 2) 1

pp

Figure 4.3 : Organigramme du premier état de l'agent Courant.

Page 79: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chauitre 4 : Réalisation technique

Établissement de la connexion ClientIServeur et transfert de la table des courants

1. L'agent Courant reçoit de la part de l'agent Fédérateur la confmation d'établir une connexion

Client/Serveur.

2. La connexion Client/Serveur est établie de façon effective.

3. IRs données de la table des courants sont transmises via cette connexion.

4. La connexion est rompue dès la fin de la transmission de la table des courants. L'agent

Courant termine ainsi son rôle et quitte le système multiagent-

Réception confirmation Fédérateur

Établissement connexion Client/Serveur

I I

I ~ - , , ~ - , - - , , , , , - - - , ~ i Transmission table courants

Figure 4.4 : Organigrurnme du deuxième état de l'agent Courant.

1.4 Agent Navire

L'agent Navire représente la fenêtre via laquelle le navigateur communique avec le reste

du système multiagent. Son fonctionnement est divisé en deux états. Lors du premier, il passe à

l'agent Fédérateur les informations concernant la date de départ du navire, ses heures de déps t au

plus tôt et au plus tard ainsi que sa vitesse. À la fin de ce premier état, l'agent Navire passe en

attente des résultats de la planification des itinéraires. Dès la réception de ces résultats, il entame

son deuxième état. Ii traite ces résultats et les affiche pour être exploités par l'usager.

Page 80: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chauitre 4 : Réalisation rechniaue

fseudo-clgorithme du premier état du navire

L'agent Navire commence par un état d'attente jusqu'au moment où il sera sollicité par

l'usager qui saisit à travers son interface les données du navire.

L'agent Navire exerce un contrôle sur les informations saisies. Il s'attend par exemple à avoir

une heure de départ "06h30mn" sous la forme "0630". En cas d'erreur il demande de valider

les données saisies.

Lorsque les données saisies sont approuvées, l'agent Navire construit une chaîne de caractères

qui renferme toutes les données. Il construit ensuite son message XMUACL qu'il envoie à

l'agent Fédérateur. Ce message contient principalement les informations suivantes :

Per$ormatif : Inform Le performatif ACL à envoyer. Elle est de type inforan. Elle permet d'aviser l'agent Fédérateur qu'il va

Receiver : Fédérateur recevoir des informations.

Origine du message : L'agent Navire

Le contenu du message. Exemple : "260606300845 15 10"

Destination du message : L'agent Fédérateur

Figure 4.5 : Schéma du message XMUACL envoyépar l'agent Navire.

Après l'envoi du performatif à l'agent Fédérateur, l'agent Navire passe à un deuxième état

d'attente ; il attend les résultats des calculs des trajectoires du navire ainsi que les suggestions

éventuelIes Dour son heure de dériart.

Page 81: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Organigramme du premier état du navire

Navigateur

Contrôle des données du navire

1 Envoi message 1

Figure 4.6 : Organigramme du premier état de l'agent Navire.

Pseudo-algorithm e du deuxième état du navire

1. Dès que les résultats de la planification des itinéraires sont disponibles, l'agent Fédérateur les

passe à I'agent Navire qui est toujours en attente.

2. L'agent Navire vérifie le type du performatif ACL reçu dans le message W A C L et qui

doit être de type inform. Si tel n'est pas le cas, un message d'erreur est généré.

3. Les résultats reçus par l'agent Navire sont sous forme d'un tableau de chaînes de caractères.

L'agent Navire procède à l'interprétation de chaque case du tableau. Il extrait les résultats des

calculs des trajectoires du navire correspondantes aux heures de départ au plus tôt et au plus

tard. Dans le cas d'un mauvais choix de l'heure de départ, il extrait l'heure suggérée par le

système multiagent au navigateur.

4. L'agent Navire affiche les résultats de la planification des itinéraires.

Page 82: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Organigramme du deuxième état du navire

Fédérateur cct.cl Vérification du

type du message l

Interprdtation des résultats

résultats

-- -

Figure 4.7 : Organigramme du deuxième état de l'agent Navire.

1.5 Agent Fédérateur

L'agent Fédérateur représente la pièce centrale dans notre système multiagent. Il

communique avec l'agent Navire afin d'obtenir les informations concernant le navire. Ensuite, i l

communique avec les agents Marée et Courant pour chercher les tables des marées et des

courants.

Les informations obtenues auprès des trois agents précédemment mentionnés sont

transmises au programme Matlab qui assume la tâche de la planification des itinéraires. L'agent

Fédérateur récupère les résultats des calculs et les rend à l'agent Navire qui les affiche pour être

utilisés par l'usager.

L'ensemble des traitements effecniés par l'agent Fédérateur sont résumés à travers la suite

des organigrammes et des pseudo-algorithmes suivants :

Page 83: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chuuirre 4 : Réalisation techniaue

Pseudo-algorithme du premier éfaf de l'agent Fédérateur

1. L'agent Fédérateur est en attente jusqu'à sa réception des informations du navire (date de

départ, heures de départ au plus tôt et au plus tard et vitesse du navire). Ces informations sont

reçues sous forme d'une chaîne de caractères.

2. L'agent Fédérateur extrait de cette chaîne de caractères la date de départ prévue par le

navigateur.

3. Il crée un message XMUACL contenant le performatif request et I'envoie à l'agent Marée. I1

lui demande la table des marées qui correspond à la date du départ du navire (Cette

information est spécifiée dans le contenu du performatif request).

4. L'agent Fédérateur demande ensuite d'établir une connexion ClientlServeur avec l'agent

Marée pour assurer l'envoi de la table des marées. R passe ensuite à un état d'attente dans

lequel il attend la réponse de l'agent Marée concernant sa requête.

Organigramme du premier état de l'agent Fédérateur

ta date de départ

Envoi message u d 7- connexion

Client/Serveur

Aitente e J Figure 4.8 : Organigramme du premier état de l'agent Fédérateur.

Page 84: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 4 : Réalisation technisue

Pseudo-algorithme du deuxième état de l'agent Fidérafeur

L'agent Fédérateur reçoit un message XMUACL de la part de l'agent Marée en réponse à sa

requête d'établissement d'une connexion Client/Serveur.

II examine le contenu du performatif. Si I'agent Marée n'est pas prêt, un message d'erreur

indiquant l'impossibilité d'établir une connexion Client/Serveur est généré.

Dans le cas contraire, l'agent Fédérateur établit la connexion ClientEerveur de façon effective

et commence à recevoir la table des marées. À la fin de la réception, la connexion entre les

deux agents est rompue.

L'agent Fédérateur envoie à l'agent Courant un message X W A C L ; Il lui demande la table

des courants correspondant à la date de départ prévue par Ie navigateur.

L'agent Fédérateur demande aussi d'établit une connexion Client/Serveur avec I'agent

Courant. Il passe ensuite à un état d'attente.

Page 85: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 4 : Réalisation techniaue

Organigrnmme du deuxième état de l'agent Fédérateur

Réception message

XMUACL

Agent Mar6e est prêt ?

! L--, --, , , , , , ,, , J Réception table

I marées

Envoi message 4-1 XMUACL 1

I

connexion Client/Serveur

Attente E 5

4 Erreur 1

Figure 4.9 : Organigramme du deuxième état de l'agent Fédérateur.

Page 86: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 4 : Réalisation technique

Pseudo-algorithme du troisième état de l'agent Fédérateu~

1 . L'agent Fédérateur observe un état d'attente jusqu'à sa sollicitation par l'agent Courant qui lui

envoie un message XMUACL.

2. L'agent Fédérateur examine le contenu du performatif Nifurm encapsulé dans le message

reçu. Si I'agent Courant n'est pas prêt, un message d'erreur indiquant l'impossibilité d'établir

une connexion Client/Serveur est généré.

3. Dans le cas contraire, l'agent Fédérateur étabiit la connexion ClientBerveur de façon effective

et commence à recevoir la table des courants réclamées. À la fin de la réception. la connexion

est rompue entre les deux agents.

4. À ce niveau, l'agent Fédérateur dispose des données nécessaires à la planification des

itinéraires. Il appelle le programme Matiab et il lui passe les données dont il dispose. Il passe

ensuite à un nouvel état d'attente.

5. Le programme Matlab effectue les calculs des trajectoires du navire et retourne ses résultats à

I'agent Fédérateur. Ces riisultats sont sous forme d'un tableau de chaînes de caractères.

6. L'agent Fédérateur interprète les informations contenues dans le tableau qui lui est envoyé par

le programme Matlab. Xi extrait les informations correspondantes à chacune des trajectoires

(au plus tôt et au plus tard) et vérifie si le programme Matlab suggère une nouvelle heure de

départ pour le navire. Les informations extraites sont ensuite rassemblées dans une seule

chaîne de caractères.

7. L'agent Fédérateur envoie un message XMWACL à I'agent navire contenant un performatif

ACL de type inform qui contient les résultats des calculs. Il termine ainsi sa tâche et quitte le

système multiagent.

Page 87: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 4 : Réalisation techniuue

Organigramme du troisième étnt de L'agent Fédérateur

message XMUACL 1

prêt ?

Passage données programme Matlab

des itinéraires

Attente 1

Récupération des résultats

Envoie message u 4 - 1 ycL 1

Figure 4.10 : Organigramme du troisième état de l'agent Fédérateur.

Page 88: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 4 : Réalisation techniuue

1.6 Conclusion

À travers l'ensemble des organigrammes et des pseudo-algorithmes de cette partie, nous

avons présente le fonctionnement des différents agents du système conçu ainsi que le

fonctionnement des programmes Client et Senteur employés pour le transfert des tables des

marées et des courants vers l'agent Fédérateur. Ce dernier possède une grande importance dans

notre système rnultiagent ; il contrôle et oriente le fonctionnement du système global. Cette

importance est claire à travers les différents organigrammes. En effet, en les examinant, on y

trouve des interactions avec l'agent Fédérateur qui se manifestent par l'envoi ou la réception des

messages XMUACL.

Grâce 2 i ces messages, nous avons pu établir facilement la communication entre les

différents agents. Cette facilité se voit au niveau des pseudo-algorithmes. En effet, il suffit de

spécifier l'expéditeur, la destination et le contenu du performatif ACL. L'acheminement des

messages est assuré, ensuite, par Bee-gent. Les messages XMUACL permettent, aussi, de

synchroniser les fonctionnements des agents. Ces fonctionnements sont caractérisés par différents

états dont chacun peut être déclenché suite à la réception d'un message W A C L et peut être

fini en en envoyant un autre.

Cette partie traitait de la réalisation technique des agents et des programmes Client et

Serveur. La partie suivante est consacrée à l'explication des détails du programme Matlab et de

son interaction avec l'agent Fédérateur.

2. Réalisation technique : Le programme Matlab

2.1 Introduction

La planification des itinéraires est un processus qui renferme plusieurs étapes. Le

programme Matlab qui effectue le calcul des itinéraires assure les tâches qui figurent sur la

Figure 4.11 avant de rendre ses résultats à l'agent Fédérateur.

Page 89: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chmitre 4 : Réalisation technwrce

Résultats des calculs de la trajectoire

Agent Fédérateur \ 1

Formatage des données du navire

1 Trapge des courbes des niveaux 1 I d 'eau I

1 D é l i m W n des zones interdites au 1 I passage du navire I

Calcul de la trajectoire du navire I Non

Mauvais choix de l'heure de

départ

Oui

Calcul de l'heure de départ à suggérer

1 Formatage des résultats + Programme Matlab

Figure 4.1 1 : Organigramme de la planification des itinéraires.

2.2 Formatage des données

La communication entre l'agent Fédérateur et le programme Matlab ne suit pas des règles

ou des protocoles complexes. Elle est supportée par JmatLink et se restreint à l'échange des

ch&nes de caractères et des tableaux dans ce cas du système multiagent conçu.

Les données du navire reçues par le programme Matlab sont sous forme d'une chaîne de

caractères. Cette chaîne représente les heures de départ au plus tôt et au plus tard du navire ainsi

que sa vitesse. Elle doit être formatée pour déceler chaque élément d'information. Le formatage

consiste en premier lieu A extraire les heures de départ du navire et à les convertir en des

décimaux. À titre d'exemple, une information de type '1030' veut dire que l'heure de départ est

10h30mn. Elle sera convertie en '10.50'. Ce formatage est nécessaire pour pouvoir faire les

calculs et rapporter les résultats graphiquement.

Page 90: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 4 : Réalisation techni~ue

Le pseudo algorithme général de cette tâche de formatage des données du navire est le

suivant :

Un exemple de données du navire : 063508401530

Heure départ au plus tôt 1 Vitesse du navire

Heure départ au plus tard

Pseudo algorithme Exemple

1. Extraire la chaîne codée sur 4 caractères et représentant

l'heure de départ au plus tôt

2. Convertir les deux derniers caractères en un nombre

3. Diviser le nombre obtenu sur 60

4. Convertir le résultat en une chaîne de caractères et en prendre

les deux premiers chiffres après le point

5. Faire la même chose avec la chaîne composée des 4

caractères situés entre la cinquième et la huitième position

6 . Reconstruire la chaîne de caractères représentant les données

du navire en remplaçant les minutes par les chaînes de 2

caractères obtenues dans l'étape 4 et 5 précédées par un point

À la fin du formatage des données, le programme Matlab procède au chargement des tables

des courants et des marées qui seront utilisées au cours des calculs des trajectoires des navires.

2.3 Traçage des courbes des niveaux d'eau Le calcul des niveaux d'eau prend en considération le facteur des marées. Il utilise pour

cette fin la table des marées précédemment chargée. Les résultats sont rapportés graphiquement

sur une figure que Matlab gère (Figure 4.13). À chaque niveau d'eau correspond une couleur sur

l'échelle des couleurs qui figure à droite du graphique. La représentation est en fait une projection

sur un plan 2D d'une modélisation en 3D (distance, temps et niveau d'eau) représentée par la

Figure 4.12.

Page 91: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 4 : Réalisation techniaue

Même courbes de niveaux d'eau de la Figure 4.13

Figure 4.12 : Modélisation 30 (Distance, temps et niveau d'eau).

Sur la figure des niveaux d'eau, une courbe délimite la hauteur de l'eau dans une zone

donnée. Toute la section qui se trouve à l'intérieur de cette courbe à l'exception d'une éventuelle

zone délimitée par une deuxième courbe possède le même niveau d'eau. Ce niveau est obtenu en

identifiant la valeur correspondante à la couleur.

Page 92: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chavirre 4 : Réalisation techniaue

Figure 4.13 : Courbes des niveaux d'eau.

Le calcul et la présentation des niveaux d'eau se font pour la date de départ précisée par le

navigateur. Ceci est assuré par le fait que la table des marées utilisée pour les calculs est celle

correspondant à la date de départ du navire. Ces calculs sont supportés par la fonction Matlab

griddata qui fait une interpolation sur les heures et les distances. Elle trace en premier lieu le

niveau d'eau en chaque point correspondant à une heure et une distance données. En deuxième

lieu, elle trace la courbe du niveau d'eau en la faisant passer entre les points précédemment tracés

par une approche qui lui est propre.

est à noter que la variation des niveaux d'eau entre Montréal et Trois-Rivières ne

présente aucun souci quant à la sécurité des navires. Le niveau de l'eau est tout le temps suffisant

pour le passage des grands vraquiers. Ce n'est qu'à partir de Trois-Rivières et de proche en proche

vers Québec que ces variations se font sentir. Le niveau d'eau peut changer d'une valeur de 10

mètres et plus entre la période dufZot et celle du jusant (Voir définitions dans l'annexe 1).

Les variations des niveaux d'eau, qui sont parfois importantes, causent des problèmes de

sécurité pour les navires empruntant la voie navigable du Saint-Laurent. C'est pour cette raison

Page 93: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chupitre 4 : Réalisation techniuue

qu'il faudrait connaître les heures des flots et des jusants qui permettront de mieux cerner les

zones interdites aux passages des navires.

2.4 Délimitation des zones interdites au passage du navire Chaque navire demande un niveau d'eau minimal pour qu'il puisse passer de façon

sécuritaire. La délimitation des zones interdites aux passages des navires se fait sur la base de ce

niveau d'eau (Sur la Figure 4.14, ce niveau est égal à 12m). Elle est réalisée selon le pseudo-

algorithme suivant :

1. Déterminer I'heure du flot (ou I'heure où on a le niveau d'eau le plus élevé).

2. Traiter la section du temps (représentant le jusant) avant l'heure du flot.

4 Parcourir la table des niveaux d'eau.

x Déterminer la distance minimale à partir de laquelle le passage est interdit (Xinn.

x Déterminer l'heure minimale à partir de laquelle le niveau d'eau serait insuffisant

pour un passage sécuritaire du navire (Yinf).

JC Déterminer l'heure maximale à partir de laquelle le passage du navire serait

sécuritaire (Ymax).

J Tracer les limites de la zone interdite au passage des navires en se basant sur les points

extremums précédemment identifiés.

3. Traiter de la même façon la section du temps représentant le jusant après l'heure du flot.

Figure 4.14 : Délimitation des zones interdites au passage des navires.

83

Page 94: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha_oitre 4 : Réalisation techniaue

2.5 Calcul et traçage des trajectoires des navires Le calcul des trajectoires des navires tient compte non seulement de la vitesse du navire

mais aussi des phénomènes des courants et des niveaux de l'eau le long du chenal de navigation.

Un navire qui quitte le port de Montréal à une heure donnée voit sa vitesse perturbée au

fur et A mesure de son avancement A cause des courants. De Montréal à Québec, on compte

presque 260 km de voie navigable qui sont divisés en 341 sections. Chaque section est

caractérisée par ses courants qui changent en direction et en intensité (Figure 4.15). Ces

caractéristiques sont spécifiées dans la table des courants pour chaque heure. Cette précision est

large. Le programme Matlab fait une interpolation et calcule une moyenne des courants chaque

quart d'heure. Si le navire franchit une nouvelle section de distance ou de temps, une nouvelle

valeur de l'intensité des courants est calculée. Cette valeur représente la moyenne de la valeur de

l'intensité du courant dans la section courante et de celle qui vient d'être franchie.

Temps

t+ 1

t

Variation du courant en intensité et en direction

T Distance

Figure 4.15 : Modèle de variation des courants en intensité et en direction.

En se basant sur la valeur de l'intensité du courant calculée, on peut déduire la vitesse

résultante du navire. En suivant cette approche, on peut calculer de proche en proche

l'avancement du navire et tracer sa trajectoire.

Page 95: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Temps A

t-t 1

t

-

Variation du courant en

Ir intensité et en direction

Trajectoire du navire

- - - -

Figure 4.I6 : Approche de traçage de la trajectoire du navire.

Le résultat final des calculs de la trajectoire d'un navire aboutit au schéma suivant :

I Frontière d'une zone interdite Zone i h rd i t e au au passage du navire passage du navire

Figure 4.17 : Exemple de calcul des trajectoires des navires

Page 96: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 4 : Réalisation rechniaue

2.7 Calcul de I'heure de départ à suggérer au navigateur Sur l'exemple de calcul des trajectoires des navires de la figure précédente, il est à signaler

que le navire serait obligé de s'arrêter au milieu de son trajet à cause du niveau d'eau insuffisant.

Le progamme Matlab offre une procédure pour éviter cette situation coûteuse en terme de

consommation de carburants et entraînant des problèmes de pollution. Il calcule par une

procédure inverse l'heure à partir de laquelle le navire pourrait quitter le port de Montréal sans

arrêt le long de son voyage à direction du Québec. Le point de départ des calculs est le point

extremum correspondant à la limite de la zone interdite. Le pseudo algorithme générai de cette

procédure est le suivant :

Détecter si le navire a franchi une nouvelle section de distance ou de temps. Si la section de

temps courante est i alors la nouvelle section de distance est (i-1). Si la section de temps

courante est t dors la nouvelle section de temps est (t-0.25).

Calculer la moyenne de la valeur de I'intensité du courant entre la section courante est la

nouvelle section qui vient d'être franchie. Les valeurs de l'intensité des courants extraites à

partir de la table des courants sont multipliées par (-1) vu Ie sens des calculs.

CaIcuIer la nouvelle vitesse résultante du navire en tenant compte de la valeur de l'intensité

moyenne des courants.

Tracer Ia portion de Ia trajectoire jusqu'à l'atteinte d'une nouvelle section de distance ou de

temps.

Réitérer Ie processus jusqu'à I'atteinte du point de départ. L'heure obtenue en ce point de

départ est à suggérer au navigateur qui pourrait la prendre comme l'heure de départ au plus tôt

de son navire.

Page 97: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapirre 4 : Réalisation techniaue

Le calcul de l'heure à suggérer au navigateur pour l'exemple précédent aboutit au résultat

suivant :

Heure à suggérer Heure de dkpart choisie par le navigateur

Figure 4.18 : Calcul de l'heure à suggérer au navigateur.

2.8 Formatage des résultats Vu les restrictions au niveau de JmatLink en terme de possibilités d'interfaçage entre Java

et Matlab, la communication des résultats entre le programme Matlab de planification des

itinéraires et l'agent Fédérateur se fait sous forme d'échanges de chaînes de caractères. Après

l'achèvement des calculs des trajectoires du navire et la suggestion éventuelle d'une heure de

départ, le programme Matlab formate un tableau de chaînes de caractères dans lequel seront

stockés les resultats des calculs. Entre autres, ce tableau contient les informations concernant les

trajectoires correspondant aux heures de départ au plus tôt et au plus tard du navire (heure de

départ, heure et lieu de l'arrêt éventuel du navire, heure d'arrivée à Québec). Il contient aussi les

informations à propos de l'heure à suggérer au navigateur ainsi qu'à propos de la trajectoire

Page 98: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

cha~i t re 4 : Réalisation technioue

correspondante. La transmission des résultats se fait grâce à la fonction engGeMrray de

JmatLink.

2.9 Conclusion La planification des itinéraires qu'assure le programme Matlab passe par les tâches des

calculs des trajectoires des navires ainsi que par la suggestion des heures de départ afin d'éliminer

tout arrêt probable des navires le long de leurs trajets. Ces calculs sont supportés par des

représentations graphiques qui permettent de mieux visualiser la situation.

L'architecture ouverte qu'offre I'approche rnultiagent permet de profiter de la puissance

des applications existantes. Dans le présent cas, le système multiagent conçu profite pleinement

de la puissance de Matlab en terme de simulation, de calcul et de représentation graphique. Cela

prouve une fois de plus l'utilité et l'adaptabilité de l'approche multiagent dans le domaine des

applications marines.

Page 99: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chapitre 5 : Discussion des résultats et ~ersaectives

Discussion des résultats et perspectives

1. Discussion des résultats

2. Perspectives

Page 100: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chavitre 5 : Discussion des résultats et persvecrives

1. Discussion des résultats Le présent travail fournit une maquette de planification des trajectoires des navires sur le

Saint-Laurent. Ce chenal présente plusieurs contraintes de navigation changeant en fonction du

temps et de l'espace.

La planification des trajectoires est effectuée en fonction des facteurs marées et courants

qui règnent dans le chenal et en se basant sur des paramètres concernant le navire (Date et heures

de départ et la vitesse). Elle consiste en un calcul et un traçage des trajectoires des navires pour la

date et les heures de départ spécifiées par le navigateur. Ce dernier peut assimiler notre logiciel à

un système d'aide à la décision. En effet, pour une date de départ mal choisie et pouvant affecter

la sécurité du navire, l'outil calcuie et propose une nouvelle heure de départ. Les dangers émanent

généralement des zones ne possédant pas le niveau d'eau nécessaire au passage du navire.

Techniquement, notre système comporte un système multiagent formé des agents Navire,

Marée, Courant et Fédérateur et qui s'interface avec un programme Matlab qui assure la tâche de

planification des itinéraires. Ce système donne une interface, en l'occurrence celle de l'agent

Navire, par laquelle le navigateur communique avec le reste du système en spécifiant les

paramètres de son navire et de son départ.

En se basant sur les informations saisies par le navigateur, le système déclenche un

processus de traitements et de calculs qui est réalisé conjointement par plusieurs programmes et

agents. Chacun d'entre eux contribue à la résolution du problème en fonction de ses capacités.

Cette architecture met l'accent sur le partage des tâches entre plusieurs systèmes en coopération :

Un problème initialement complexe peut être décomposer en plusieurs sous-problèmes dont les

résolutions sont assurées chacune par un p r o g r m e indépendant. Ces programmes ne sont pas

obligatoirement compatibles, il va de même pour les systèmes sur lesquels ils sont implantés.

L'utilisation des systèmes multiagents permet non seulement le partage des tâches mais

aussi l'interconnexion des différents programmes malgré leur hétérogénéité. Cette approche

présente tous les avantages de la stratégie de partage des tâches en terme de traitements parallèles

et donc de gain en temps d'exécution. Elle permet aussi la réutilisation des solutions déjà

existantes et qui pourraient fournir une partie de la solution globale.

Page 101: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chu~itre 5 : Discussion des résultats er ~ers~ecr ives

Dans notre cas, le système multiagent mis en place découpe le problème de planification

des itinéraires en un ensemble de tâches : Gestion de la contrainte des marées, gestion de la

contrainte des courants, calcul des trajectoires des navires, etc. Chacune de ces tâches est

supportée par iin programme indépendant. Certes, ces programmes n'offrent pas un degré de

sophistication élevé, mais permettent de simuler un cas réel dans lequel des systèmes

professionnels coexistent et coopèrent pour résoudre le problème. C'est ainsi qu'au lieu d'utiliser

un module de prédiction des courants, on se contente d'utiliser une table de courants dans laquelle

sont indiquées les différentes valeurs de l'intensité du courant pour chaque heure et au niveau de

chaque section de distance définie le long du chenal.

Le sous-système de planification des itinéraires démontre un résultat important : Prouver

la pertinence de l'utilisation de l'approche multiagent dans le domaine des applications marines.

Cette approche est bel et bien adaptée au domaine marin et possède tous les atouts pour améliorer

la gestion de la navigation sur le Saint-Laurent. On peut aussi avancer que cette approche semble

être appropriée à des problèmes analogues tel que la gestion du Port de Montréal ; un problème

dépendant de plusieurs paramètres dynamiques.

Les différentes contraintes de navigation énumérées à travers ce mémoire montrent la

difficulté de concevoir une solution globale au problème de planification surtout qu'elles varient

de façon spatio-temporelle. Les organismes québécois, responsables de la gestion de la

navigation sur le chenal Saint-Laurent, ont conçu plusieurs systèmes. Chacun de ces systèmes

apporte une solution à une contrainte spécifique. Le niveau de coopération entre elles est

généralement quasi-absent. En conséquence, le problème de planification des itinéraires est

résolu par plusieurs systèmes complémentaires, hétérogènes et indépendants. Cette résolution est

caractérisée par l'intervention humaine fréquente entre autres pour fournir les résultats de

l'exécution d'un système donné ou encore la collecte des informations nécessaires au bon

fonctionnement d'un autre système.

Dans cette configuration, la résolution du problème de la planification des itinéraires est

dépendante étroitement des organismes propriétaires des systèmes contribuant à la solution

globale. En conséquence, le navire ne possède aucune autonomie lors de son passage dans le

chenal. En effet, il doit appliquer les directives qui lui sont dictées par des responsables de la

garde côtière.

Le systeme multiagent mis en place se distingue dans ce sens par le degré d'autonomie

qu'il permettrait d'offrir aux navigateurs. Outre le fait que le navigateur saisit les informations

concernant son navire, il peut décider de son heure de départ en se basant sur ce que le système

91

Page 102: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chauitre 5 : Discussion des résulîats et ~erspectives

lui suggère cornme nouvelle heure si l'heure proposée initialement s'avère mal choisie. Le

navigateur peut, donc, décider de son départ en se référant aux calculs de notre outil de

planification des itinéraires mis en place. De plus, I'outiI calcule l'heure d'arrivée du navire. Ceci

permet, non seulement, une meilleure planification des activités sur le Saint-Laurent mais aussi

une meilleure planification des activités dans les ports telles que leurs accès et le transport des

marchandises.

En résumé, l'ensemble des résultats obtenus par ce travail est :

- L'utilisation de l'approche multiagent est bien appropriée au domaine des applications

marines.

- L'approche multiagent permettrait d'améliorer la gestion de la navigation dans le fleuve du

Saint-Laurent en offrant le moyen de faire coopérer les solutions existantes même en présence

d'hétérogénéité.

- La mise en œuvre d'une maquette qui permet la planification des itinéraires dans la section du

fleuve Saint-Laurent entre Montréal et Québec.

- Le calcul et le traçage des trajectoires des navires en tenant compte des marées. des courants,

de l'heure de départ de ces navires ainsi que de leurs vitesses.

- La représentation des niveaux d'eau sous formes de courbes sur des figures qui représentent

une projection 2D d'une figure 3D (distance, temps, hauteur).

- La réalisation d'un système qui pourrait donner de l'autonomie aux navigateurs ; Une facilité

absente dans tous les systèmes de navigation en vigueur.

- La mise en œuvre d'un système d'aide à la décision qui permettrait au navigateur de mieux

choisir ses heures de départ.

- Le système mis en œuvre permettrait dlarnéIiorer la gestion des activités telles que les

activités portuaires. En effet, ce système permet de prédire la date d'arrivée du navire, ce qui

permettrait de minimiser les attentes fréquentes à cause de l'incertitude à propos des amvées

des navires.

- La diminution de la consommation des carburants et par conséquent la diminution de la

pollution en évitant les arrêts et les réductions des vitesses le long des voyages des navires.

Page 103: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Chauirre 5 : Discussion des résultats er pers~ectives

2. Perspectives La maquette mise en œuvre dans ce présent mémoire avait pour but principal de prouver

l'utilité et l'adéquation de l'utilisation de l'approche multiagent dans Ie domaine des applications

marines. Certes, ce but est atteint, mais certaines améliorations peuvent être apportées sur la

maquette.

Le système résultant de ce travail ne tient pas compte de toutes les contraintes de

navigation. L'absence de la prise en compte des effets de la glace et des vents, par exemple, n'est

pas un choix stratégique. Ceci est dû à l'absence d'accords avec les organismes propriétaires des

systèmes en vigueur pour la gestion de teIIes contraintes de navigation. D'ailleurs, les agents

Marée et Courant employés dans le système multiagent mis en place se contentent d'envoyer

respectivement via des connexions ClientKerveur les tablss des marées et des courants. Leurs

tâches peuvent être plus complexes si on intègre des systèmes professionnels de gestion et de

prédiction des phénomènes des marées et des courants.

Grâce à I'architecture ouverte du système multiagent mis en œuvre, l'intégration de

nouveaux systèmes de gestion de nouvelles contraintes de navigation (Exemple : glace, vents) est

aisée. Il suffit de créer un nouvel agent wrapper qui intègre le système mu1 tiagent existant et qui

fait interface entre ce système et la nouvelIe solution adoptée.

Du côté du navire, certains paramètres peuvent influencer sa trajectoire. On peut citer

entre autres ses dimensions (largeur et longueur), son enfoncement dans l'eau ainsi que son

dégagement sous-quille. L'influence de ces facteurs n'est pas très grande. Néanmoins, on peut

dédier au navire un système pour renseigner le système multiagent sur les propriétés du bateau.

Son intégration peut se faire dans une étape suivante par un nouvel agent qui lui permet de

s'interfacer avec le système global.

Finalement, on peut intégrer un nouveau système qui fournit les informations en relation

avec les consignes des organisations qui gèrent la navigation sur le Saint-Laurent. Ces

informations ont trait à :

- La limitation de la vitesse des navires dans certaines sections du chenal.

- La localisation des autres navires le long du trajet et surtout dans les zones étroites grâce au

système de positionnement géographique GPS.

- Les avertissements concernant les tempêtes éventuelles ainsi que la réduction de la visibilité

qu'elles entraînent.

Page 104: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~itre 5 : Discussion des résultats er persvectives

En se basant sur l'ensemble des perspectives mentionnées, on peut dresser une

architecture d'un système multiagent global comportant tous les systèmes avec lesquels

s'interface. Cette architecture est présentée dans la figure suivante :

Système de gestion d d g a g e m ; y

sous-quille, etc.

Systbme de prédiction des

marées

Système de prédiction des

courants

Agent Interface Agent Marée Navigateur

! !

1 Agent News 1 / Agent Vent 1 / Agent GLoce 1

gestion du vent gestion de la glace

Figure 5.1 : Architecture du s y s t h e muIfTagent proposé en perspective.

Page 105: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Cha~irre 5 : Discussion des résultats et ~ers~ec t ives

Remarques

L'agent interface Navire remplace 1 'agent Navire dans 1 'ancienne architecture. Il permet de

recueillir les informations saisies par le navigateur.

L'agent Navire fournit les informations relatives au dégagement sous-quille du navire ainsi

que toute autre information pertinente aux calculs.

La banque de données modélise les informations pertinentes aux calculs telle que les

limitations des vitesses dans certaines sections du fleuve pour éviter les probabilités d'inonder

les installations sur le bord du fleuve et diminuer l'enfoncement des navires dans l'eau.

L'architecture proposée est calquée sur celle du système mis en place. Toutefois, pour des

raisons de coopération directe entre les différents agents, elle peut être modifiée.

Page 106: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Conclusion

La navigation sur le fleuve Saint-Laurent est sujette à plusieurs perturbations et problèmes

de sécurité des navires. Les différentes contraintes énumérées dans ce mémoire telles que les

marées, les courants et la glace en sont des causes. La variation de ces contraintes en fonction du

temps et de l'espace complique la tâche des organismes canadiens qui gèrent la navigation sur le

chenal. Cette tâche de gestion du trafic maritime est encore difficile en présence des facteurs

instables et non cycliques tels que les tempêtes qui entraînent des réductions de visibilité

considérables lors des périodes hivernales.

Quoique des éléments de solution performants pour le problème de la gestion de la

navigation soient en usage actuellement, on relève encore plusieurs limitations dont le fait que

ces solutions ne gèrent, généralement, qu'une seule contrainte à la fois, que la coopération entre-

elles est quasi-absente et enfin le fait qu'elles n'offrent aucune autonomie aux navigateurs.

Pour tirer profil au mieux des solutions proposées pour la gestion de la navigation sur le

Saint-Laurent, il est judicieux de les rassembler dans un seul système qui gère toutes les

contraintes et dans lequel les différentes solutions pourraient coopérer et échanger résultats et

informations.

Afin de réaliser de tel système, nous avons employé l'approche multiagent qui offre divers

avantages tels que la possibilité de réutilisation des solutions existantes et l'architecture ouverte

des systèmes qu'elle permet de construire.

Le système multiagent que nous avons conçu prouve que l'approche multiagent est bien

appropriée au domaine des applications marines. I1 permet de surpasser les contraintes

d'hétérogénéité qui existent entre les solutions existantes. Ce résultat est important ; Les

responsables de la gestion de la navigation sur le Saint-Laurent peuvent constituer un système

Page 107: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

-- - -

global à base d'agents qui prend en considération toutes les contraintes de navigation et qui

permet la planification des trajets des navires dans le chenal.

L'outil développé lors de ce mémoire permet d'appuyer cette affirmation. En effet, il

permet de réaliser la planification des itinéraires sur le Saint-Laurent. Il calcule et trace les

trajectoires des navires en se basant sur leurs dates et heures de départ ainsi que sur leurs vitesses.

Il donne des suggestions concernant les heures de départ mal choisies pour assurer la sécurité des

navires en évitant les zones à faible niveau d'eau. De plus, cet outil permet de simplifier la

complexité du problème initialement dans un espace 3D (temps, distance, hauteur) en le projetant

dans un espace 2D (temps, distance).

Notre outil apporte une facilité inexistante dans les systèmes existants en offrant

l'autonomie aux navigateurs qui, jusqu'à date, ne font que suivre les consignes de la Garde

Côtière.

À travers ce travail et en se basant sur les résultats et les perspectives me~tionnés dans le

chapitre précédent, nous avançons les recommandations suivantes :

- Concevoir et implémenter un système multiagent qui fait coopérer des solutions de gestion

des contraintes de navigation en vigueur telles que Atlas pour la prédiction des marées,

UKCG pour la gestion du dégagement sous quille du navire, INNAV, etc.

- Concevoir et implanter un système multiagent pour le problème de gestion des activités

portuaires.

- Faire coopérer, si ia nécessité se présente, les deux systèmes pour mieux &er la navigation

sur Ie Saint-Laurent ainsi que l'accès au Port de Montréal.

- Impliquer davantage les navigateurs dans la tâche de la gestion de la navigation sur le Saint-

Laurent.

Page 108: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Bibliographie

[l] : A. Taschereau, G. Ringuette et P. Hally, «La navigation électronique sur le fleuve St-

Laurent», Conférence Hydrographique canadienne 1996

[2] : http://www.chs-shc.dfo-mpo.gc.calchs~hq/contour/con94S/podeM.h, «Le port de

Montréal à l'avant garde», consulté le 23/12/2000

[3] : B. Moulin (October 19991, «Software Agent Technology for Intergrating Dynamic Spatial

Systerns in Marine Applications»

[4] : h t t p : / / w w w . s e a w a y . c a / f r a ~ c a i s / c a r a c t e ~ d i s e s . h t , «Réseau Grands Lacs/

Voie maritime du Saint-Laurent», consulté le 23/12/2000

[5] : h t t p : / / w w w . c c p g c c . g c . c d ~ b s - b s d s b g - g s n / «Incidents liés à la navigation de

plaisance au Canada», consulté Ie 21/12/2000

[6] : http://www.tc.gc.ca/TDC/news/ssafef.htrn, «La navigation électronique sur le Saint-

Laurent», consulté le 2 1/12/2000

[7] : http://www.sodes @ st-laurent.org/francais/info.htm, «Le Saint-Laurent est un géant

économique», consulté le 23/12/2000

[8] : http://www.lavoile.com/stlau.htm, «LE SAINT-LAURENT, Petite histoire du Saint-

Laurent», consulté le 23/12/2000

[9] : B. Morse, N. Crookshank (1998), «The candian Coast guard's environmental prediction

decision support system five years in the making», première conférence internationale sur les

technologies de l'information pour la prise de décision dans le génie civil, Montréal, Canada du

1 1 au 13 octobre 1998

[IO] : B. Morse, M. Lachance, G. Marceau, <<Measuring Under-Keel Clearance of Ships Using

GPS-OTF Technology », Conférence Hydrographique canadienne 1996

[ I l ] : P. Lacroix, J. Kightly, «An Under Keel Clearance Guide System for Ports and

Waterways», Conférence Hydrographique canadienne 1996

[12] : Édition de Gerhard Weiss, aul t iagent Systems, A Modem Approach to Distributed

Artificial Intelligence»

[13] : Jack Krupansky, «Software Agents», http://www.basetechnoloo~.com/AGENTS.HTM,

consulté le 13/12/2000.

Page 109: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

1141 : Brahirn Chaib-Draa, «Agents et systèmes multiagents (notes de cours ET 6488 1 A)»,

Département d'informatique, Faculté de science et de génie, Université Laval, Québec, Novembre

1999.

[ 151 : J. Feber, «Les systèmes multiagents, vers une intelligence collective», ZnterEditions 1995.

Cl 61 : H. Mintzberg, «The structuring of organizations», Englewoods Cliffs 1979.

[17] : Computer & Network Systems Laboratory, Corporate Research & Development Center

TOSHlBA Corporation, http://www2.toshiba.co.ip/bee,aent/index.htm , consulté le 20/12/2000

[18] : N. Zykov, J-M. Lukowski <<Aide sur Java»,

http://www.dyadel.net/iean-mi/Proiet/Pravaht , consulté le 1 g / O W O O 1.

[19] : Société iware dava en bref», ht~://www.dvadel.net/iean-rni/Proiet/ProietJava.htm

consulté Ie Ig/O4/2OO 1.

[20] : Mathworks «MATLAI3 - Présentation générale»,

http://www.mathworks .com/products/rnatlab/description/overview.shtml , consulté le

l9/O4/2OO 1.

[2 T ] : E. S. Maloney, <<Navigation & Piloting», NAVAL INSTITUTE PRESS, Annapolis,

Maryland.

[22] : Computer & Network Systems Laboratory, Corporate Research & Development Center

TOSHIBA Corporation, http://www2.toshiba.co.ipheeo;entlacl/acl.htm , consulté le 20/12/2000

[23] : T. Finin, R. Fiitxson, D. McKay, HA Language and Protocol to Support Intelligent Agent Interoperability», Proceeding of the CE \& CALS Washington '92 Conference, Juin 1992

Page 110: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

A n n e x e s

Page 111: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Le phénomène des marées et des courants [21]

1. Les marées Sous l'influence des forces gravitationnelles et centrifuges entre la terre d'une part et la

lune et le soleil de l'autre part, le niveau de la mer subit des montées et des descentes

périodiques. Ce mouvement vertical de l'eau. reconnu sous le nom de la marée (tide), est

dépendant de plusieurs facteurs outres les forces mentionnées ci-dessus et acquiert une

importance majeure surtout lorsqu'il s'agit de la sécurité des navires dans des passages de

niveaux d'eaux faibles.

Les conditions locales, telles que le vent et la configuration des côtes, peuvent influencer

la variation de la marée. L'expérience montre l'existence d'un cycle formé de deux montées ainsi

que de deux descentes d'eau de façon alternative et qui s'étale sur une journée lunaire (presque

24h 50mn). Le cycle d'après sera décalé de presque 50 minutes.

Conformément aux différentes étapes dudit cycle, on parle de :

La montée de la mer qui est connue sous le nom de la marée montante ouflot (high tide ou

high water).

La descente de la mer qui est connue sous le nom de la marée descendante ou jusant (low

fide ou low water).

L'étale de lu pleine mer (stand) qui survient à la fin du flot lorsque le niveau de l'eau reste

sensiblement constant durant un certain temps. Le même phénomène est observé à la fin du

jusant et est dit l'étale de la basse mer (stand).

L'intervalle de la marée (range of tide) : C'est la différence entre le niveau de la montée

totale et celui de la descente totale.

Le niveau de mer moyen (mean sea level) : C'est la hauteur moyenne de la surface de la mer

pour tous les états de la marée.

Le niveau de la mi-marée (halftide level) : c'est le plan intermédiaire entre la moyenne du

flot (mean high water) et la moyenne du jusant (mean low water).

1.1 L'effet de la lune Les océans sont affectés par les forces d'attraction entre la terre et la lune ainsi que par les

forces centrifuges résultant de leurs révolutions autour d'un centre commun situé à 1500 km

Page 112: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

presque (810 miles) dans la terre sous sa surface. Ces deux types de forces sont en équilibre, ce

qui évite toute collision de la terre et de ia lune et empêche Ieur éloignement l'une de l'autre.

1.1.1 Les forces centrifuges

Ces forces sont les mêmes n'importe où sur la terre du moment que tout point sur sa

surface décrit le même mouvement autour du centre de masse commun. Elles sont parallèles

l'une à l'autre et parallèles à la ligne joignant le centre de la terre a celui de la lune.

1.1.2 Les forces gravitationnelles

Ces forces ne sont pas les mêmes en tout point de la terre. Plus on est proche de la lune,

plus la force gravitationnelle est importante. Sa direction est du point où on est vers le centre de

la lune. Cette configuration n'implique pas de parallélisme entre ce type de forces, et ce à

l'encontre des forces centrifuges.

La combinaison des deux forces précédemment mentionnées donne une résultante plus ou

moins importante. Son effet se traduit par l'écoulement de l'eau d'un point vers un autre ce qui

entraîne une variation des niveaux de l'eau en chacun de ces points

La rotation journalière de la terre autour de son axe, fait changer la ligne de direction vers

la Iune donnant en chaque point deux montées ainsi que deux descentes de l'eau. Ces montées et

Ces descentes ne sont pas de niveaux égaux vu l'inclinaison des axes de la terre.

1.2 L'effet du soleil

Certes le soleil est plus grand que la lune. Son effet sur la terre est moindre vu la grande

distance qui sépare les deux planètes.

Lorsque les trois astres (terre, lune et soleil) sont alignés (cas de la nouvelle lune ou de la

pleine lune), la terre subit une influence plus grande qui résulte de l'action commune des deux

autres planètes sur elle. La conséquence de ce phénomène est un niveau de marée supérieur à la

moyenne du flot et un autre niveau inférieur à la moyenne du jusant ; c'est la période des grandes

marées ou vives-eaux (spring Mes).

Page 113: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

I Deux positions possibles de la lune I Figure AI.1 : Dispositions de Za tene, la lune et le soleil lors des vives-eaux.

Après cette période, l'amplitude de la marée décroît, on dit que les marées perdent.

Lorsque la disposition des trois planètes change, on assiste à d'autres phénomènes. Ainsi, lorsque

la lune et le soleil sont à 90" l'une de l'autre (premier et troisième quart de la lune), l'effet du

soleil contre partiellement celui de la lune. L'amplitude des marées est, donc, inférieure à la

normale pour les flots et pour les jusants. Cette période est celle des petites marées ou mortes-

eaux (neap tides).

Positions lune

Premier quart de la lune

possibles d e la

O Dernier quart de Ia lune

Soleil

O

Figure AL2 : Dispositions de k ferre, la lune et le soleil lors des mortes-eaux.

La lune tourne autour de la terre une fois chaque mois lunaire qui dure presque 28 jours.

Son passage par n'importe quel méridien sur terre se fait chaque 24h 50mn : c'est la période

requise pour deux flots et deux jusants et qui forme une journée marée (fida2 day). La période

d'un flot et d'un jusant est parfois désignée par un cycle marée (Mal cycle).

1 O3

Page 114: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Annexe 1

1.3 Types des marées Un corps d'eau a une période naturelle d'oscillation qui dépend de ses dimensions. Un

océan n'est pas perçu comme étant un corps d'oscillation à part entier, mais plutôt comme un

ensemble de bassins d'oscillation. Les réponses de ces bassins aux forces causant les marées ne

sont pas uniformes. Ainsi, certains répondent plus rapidement aux forces diurnes (diurnal

forces), d'autres aux forces semi-diurnes (semi-diurnal forces). Il en existe d'autres qui

répondent de façon presque égale aux deux types de forces. Selon le type de réponse, on classe

les marées en serni-diurnes (semidiumal), diurnes (diurnal) et mixfes (mixed) et ce

conformément aux caractéristiques du plan des marées en vigueur en ce lieu.

- Marée semi-diurne : Dans ce type de marée, il existe deux flots et deux jusants chaque

journée marée avec une petite inégalité relative des hauteurs des marées montantes et celles

descendantes consécutives.

- Marée diurne : Dans ce type de marée, il existe seulement un flot et un jusant chaque journée

marée.

- Marée mixte : Dans ce type de marée, les oscillations diurnes et semi-diurnes sont deux

facteurs importants. La marée est caractérisée par une large inégalité dans les hauteurs des

flots, dans celles des jusants ou les deux. Il existe toujours deux flots et deux jusants chaque

jour, cependant la marée peut occasionnellement devenir diurne.

La notion de l'amplitude des marées a été abordée jusque là sans aucune mention de la

référence à partir de laquelle on Ia calcule. Le paragraphe suivant précise le niveau à partir duquel

on peut mesurer l'amplitude de la marée.

1.4 Plans de référence pour les données des marées

Pour soulever toute confusion probable, la notion de l'amplitude de la marée (height of

tide) n'est pas la même que profondeur de l'eau (depth of water). Cette dernière réfère à la

distance verticale depuis la surface de I'eau jusqu'à son fond. La première est la distance

verticale depuis la surface de I'eau jusqu'à un niveau choisit arbitrairement ; c'est le plan de

référence (reference piune ou dnturn). Ce plan n'est pas un standard. La France le prend comme

étant le niveau des plus basses mers connues. L'Angleterre, quant à elle, le choisit comme étant le

niveau des basses mers moyennes de vives-eaux. Dans la suite, on se basera sur la moyenne des

basses-eaux (average of low water) comme étant le plan de référence retenu. On définit ainsi :

- Charîed depth : c'est la distance verticale depuis le plan de référence jusqu'au fond de la mer.

Page 115: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

q e w el ap Jnajney + qadap paueyo = nea.1 ap mapuopld

: nva '1 ap ~napuojo-rd

~1 ap 1 n 3 p al mod a~duqs apuuoj ana3 ' ~ u o p 'a%x?%?p uo -a?leur el ap smalntq s a u y ~ a 3

ap sa~!le3?u s m a p sap md (sqqvj app) sa?mur sap s q q q sap ma+u ne au-mad?~ as u o y ~ n q s

aila3 y j d a p paj~vzp y amapaju! aqê inad m a . [ ap mapuojo~d el anb anbgdui! eIa3 .may?ju! al,?

!nl inad ma,] ap waniu al '~uaurn~op a3 suep !s!oqa a ~ u a q j ? ~ ap uqd ne ~uarn?mropo;)

-séqmt.u sa1 rnod a m q i f i a ~ ap uqd : E-IV arn%j

Page 116: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

d'Amérique (Groenland inclus), les côtes Ouest du Nord et du Sud d'Amérique (les îles Hawaï

inclues) et les océans Pacifique et Indien centraux et nordiques. Ces volumes contiennent les

prévisions journalières de presque 197 ports de référence (reference ports) ainsi que des données

pour presque 6000 stations.

1.5.1 Stations références

Le premier volume de la table des marées est donné via l'extrait formulé dans le Tableau

1. Cet extrait représente une table dans laquelle sont listées l'heure et la hauteur de la marée à

chaque flot et à chaque jusant dans leurs ordres chronologiques, pour chaque jour de l'an et en un

nombre de places spécifiques désignées par stations références (reference stations).

HUMBOLDT BAY, CALEFORNIA 19ï7

HORAIRES ET HAUTEURS DES FLOTS ET DES JUSANTS

Avril Mai Juin

Jour Heure H.T Jour Heure HT Jour Heure H.T Jour Heure HT Jour Heure H-T Jour Heure HT

h.m ft. Hm ft. h m k Hm ft h.m ft. Hm ft.

Tableau 1 : Extrait du premier volume de la table des marées.

VU que le jour lunaire ou la journée marée dépasse 24 heures par 50 minutes presque. le

temps entre deux flots ou deux jusants successifs est plus de 12 heures. Quand un flot (ou un

jusant) survient juste avant minuit, son successeur apparaît vers midi le jour d'après. Le suivant

prend place juste après minuit. Sous ces conditions, trois flots (ou jusants) consécutifs peuvent

s'étaler sur trois jours.

Page 117: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

Remarque

Durant certaines portions du mois, la marée devient diurne en certaines stations.

L'existence d'un seul flot et d'un seul jusant dans ce type de marée se répercute au niveau de la

table par un blanc.

1.5.2 Stations secondaires

Le second volume des tables de marées liste les stations secondaires (secondry ou

subordinare stations). Pour chacune de ces stations, est donné un numéro, une description de sa

localisation, sa position dans la latitude et la longitude à la plus proche minute. Le calcul des

horaires et des hauteurs de la marée en une station secondaire se fait à partir d'une station de

référence imprimée dans la même table.

Les autres formes des tables des marées donnent plusieurs informations qui concernent

entre autres les levées et les couchées du soleil et de la Iune, la méthode de conversion du temps

local en temps standard, etc.

1.6 Conclusion La connaissance de la hauteur des marées peut être d'une importance majeure pour un

navigateur lors de la traversée d'un canal à faible profondeur d'eau ou lors du passage au-dessous

d'un pont. Les tables des marées sont dans de telles circonstances très utiles. Cependant, à la suite

des vents persistants et forts, les valeurs disponibles dans ces tables peuvent être perturbées. Le

navigateur doit être capable de calculer rapidement et précisément le niveau de la marée en un

point donné à un moment donné et indépendamment du type de la station.

2. Les courants et leurs prédictions

2.1 Introduction

Les marées, étudiées dans la partie précédente, est le mouvement de I'eau de façon

verticale suite aux actions de la lune, du soleil et de maints autres facteurs. Ce phénomène n'est

pas le seul qui agit sur la hauteur de l'eau, on trouve aussi le courant (current) qui possède une

grande importance et qui se présente comme étant le mouvement horizontal de l'eau. Les effets

des courants peuvent être néfastes sur un navire ; Ils peuvent changer sa direction, diminuer sa

vitesse et parfois les deux.

Page 118: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

La montée et la descente périodique et la marée ainsi que les mauvaises conditions

climatiques de long terme, sont les principaux facteurs qui causent les courants. Ils interviennent

parfois pour nuire au système normal des courants, soit par accentuation de leurs vitesses (dr@

ou speed), soit par changement de leurs directions (set).

2.2 Systèmes des courants des océans Le mouvement des courants dans les océans ouverts forme un système permanent et assez

bien connu. Il est causé en majeure partie par ies vents qui souffient dans la région. La

persistance d'un vent dominant, foa et de même direction détermine grandement la direction, la

vitesse, la profondeur et la permanence des courants qu'il génère. Néanmoins, les courants, dont

la vitesse est orientée vers le sud ou vers le nord, sont affectés par les forces de Coriolis (Coriolis

forces). Ce sont des forces résultant de la rotation de la terre et qui s'exercent sur tout corps en

mouvement. Elles sont responsables largement de la configuration circulaire des flots lents des

courants au nord et au sud de l'Atlantique et du Pacifique ainsi que dans l'océan Indien.

Le phénomène àes marées est une succession de montées et de descentes de I'eau. Cette

situation se traduit par un mouvement d'une quantité d'eau d'un point vers un autre, ce qui fait

entrer le point origine dans sa période de jusant et le point destination dans sa période de Rot. Ce

mouvement de va et vient est à l'origine des courants de marées (tidal currents). Ce phénomène

est de moindre importance dans les hautes mers, mais se voit attribué une ampleur significative

dans les côtes et les zones de basses profondeurs. On distingue deux types de mouvement

horizontal de I'eau. Le premier est vers la terre et est nommé courant deflux (flood current) et le

second est dans le sens inverse et est désigné courant de r e p w (ebb current). Entre ces deux

mouvements, il existe une brève période de changement de direction lors de laquelle le

mouvement horizontal de I'eau est quasiment nul ; C'est l'eau morte (slack water).

La répartition des courants les plus rapides n'est pas uniforme. Ainsi, dans les portions

droites d'un fleuve, les plus rapides de ces courants sont généralement localisés au milieu.

Cependant, dans les zones curvilignes, ils sont décalés du côté du bord externe de la courbe.

2.3 Prédiction des courants des marées

Annuellement, des tables de prédiction des courants des marées sont publiées. Elles ont

un format similaire à celui des tables des marées et sont utilisées de façon presque pareille. On en

distingue :

- Table 1 : elle donne les prédictions des horaires des mortes-eaux ainsi que la prédiction des

vitesses des courants des flux et des reflux maximums pour chaque jour de l'année.

Page 119: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

--

- Table 2 : elle contient une liste de stations secondaires arrangées dans un ordre géographique.

Pour chacune de ces stations, on donne entre autres sa position en terme de latitude et de

longitude à la plus proche minute, sa station de référence et les rapports de vitesses des flux et

des reflux maximums.

- Table 3 : elle sert à déterminer la vitesse du courant à n'importe quel moment entre la morte-

eau et le courant maximal.

- Table 4 : elle est utilisée pour trouver la durée des mortes-eaux.

2.4 Conclusion Les courants sont généralement causés par les marées ainsi que par les conditions

climatiques en vigueur. La configuration des côtes et des fonds marins influent de leurs côtés ce

phénomène. Le courant subit, de plus, l'ampleur de la force de Coriolis qui s'exerce sur tout

corps en mouvement.

Les publications annuelles des prévisions des courants présentent un aide précieux pour

les navigateurs, qui, sous des conditions particulières de brume se voient obligés d'entamer des

calculs conjointement à l'utilisation de la sonde et ce pour répondre à une question majeure : ou

suis-je ?

Page 120: Une la des - Library and Archives Canadacollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp04/MQ62071.pdf · Abstract The maritime traffic on the Saint-Lawrence River represents an important

ACL : Agent Communication Language 1221 ACL est un langage de communication d'agents basé sur la théorie speech-act. Cette

théorie est basée sur le paradigme des performatifs qui représentent des actions effectuees lors

des conversations entre les communiquants. Lorsqu'un agent envoie un performatif à un autre

agent du système. il exprime son intention d'agir. Il peut ainsi demander de l'information ou en

passer. Il peut demander aussi que l'autre agent lui effectue un service. À titre d'exemple, le

performatif request exprime le fait que l'agent expéditeur demande à l'agent destination

l'exécution d'un ensemble d'actions. L'agent destination a le choix d'accepter ou de refuser cette

demande.

Le tableau ci-dessous résume tous les performatifs de ACL que Bee-gent supporte :

Performatif

I n f o m

&-fP

Propose

1 Agree

Refuse t--

Fonctionnalité 1 L'expéditeur demande au récepteur de lui exécuter certaines

actions. I - - -- .-- . - -. - .

L'expéditeur interroge-le récepteur à propos de certaines

informations que ce dernier ne connais pas.

L'expéditeur informe le récepteur de certaines informations. Ces

informations sont connues par l'expéditeur.

L'expéditeur fait un appel pour avoir des propositions d'exécution

de certaines actions.

'=S SOUS L'expéditeur propose d'exécuter des actions spécifiqu,

certaines préconditions.

L'expéditeur accepte la proposition d'exécuter certaines actions qui

lui sont présentées à l'avance.

L'expéditeur rejette la proposition qui Iui est présentée.

L'expéditeur est d'accord pour exécuter certaines actions.

L'expéditeur refuse d'exécuter certaines actions parce qu'il n'est pas

capable de le faire.

L'expéditeur notifie qu'il a essayé d'exécuter certaines actions et

qu'il a échoué pour des raisons qu'il spécifie. I L'expéditeur notifie qu'il n'a pas comprit le message qu'il a reçu.