• Aucun résultat trouvé

OBAC : Une architecture proposée à base d’agents communicants

Dans nos travaux nous nous intéressons tout d’abord à la technologie UML qui est un langage de modélisation favorisant la conception et la programmation orientées objet aussi bien que la modélisation agent ; passage obligatoire pour la définition d’une architecture logicielle appropriée. Dans ce qui suit, nous définissons les notions de base relatives au concept « objet » avant d’introduire l’architecture proposée pour la modélisation de notre système et par la

89

suite détailler l’implantation du concept multi-agent. Les comportements des différentes entités ainsi définies, évoluant dans l’environnement propre à la gestion de crise, sont présentés à l’aide de la modélisation ici adoptée.

III.3.1 Notions élémentaires

III.3.1.1 Objet

Un objet est toute entité ayant un sens dans une application quelconque du monde réel. Il s’agit d’un conteneur symbolique qui peut représenter une entité physique (e.g. un individu, un périphérique d’ordinateur …), un concept (e.g. un processus, un procédé d’analyse de données, …) et toute « chose » visible et tangible (un matériel, une substance, un produit…) qui possède sa propre existence (Shlaer & Mellor, 1988). Il incorpore des informations et des mécanismes en rapport avec l’entité du monde réel manipulée. Toute la technologie objet, la modélisation et programmation orientées objet tournent autour de ce concept central.

III.3.1.2 Modélisation Objet

La modélisation objet consiste à représenter selon un modèle bien défini en informatique les éléments de l’environnement réel du problème représenté par le système (Wirfs-Brock et al., 1990). Cette modélisation est, dans le cas général, indépendante des outils de programmation mis à profit pour le développement logiciel du système en question. La conception objet revient donc à déterminer les objets présents (i.e. représentant les éléments évoluant dans l’environnement) et isoler leurs données et les fonctions qui les utilisent et en créer des prototypes ou classes pour les représenter.

De multiples langages ont ainsi émergé pour définir les modèles et patrons de conception pouvant être utilisés pour modéliser un problème quelconque. Plus de 50 méthodes objets ont été proposées par différents analystes entre 1970 et 1994. Cependant, trois seulement se sont réellement distinguées. Il s’agit des trois méthodes définies dans la suite : OOSE, Booch et OMT qui ont donné lieu par la suite au Langage de Modélisation Unifié (UML : Unified

Modeling Language). III.3.1.3 Classe

Une classe est un modèle (template), une représentation abstraite d’un ensemble d’objets ayant des attributs et méthodes communs. Un objet est dit instance d’une classe. Il hérite des caractéristiques (i.e. attributs) et comportements (i.e. méthodes) d’un prototype bien déterminé. Une classe représente ainsi toutes les « choses » ayant les mêmes caractéristiques et suivant les mêmes règles. Elle se réfère donc à un ensemble d’objets ayant :

90 - des propriétés similaires

- des comportements communs - et les mêmes relations

III.3.2 UML : Langage de Modélisation Unifié

Unified Modeling Language ou langage de modélisation unifié permet de modéliser un

problème de manière standard. Il s’agit d’un langage mettant en place un bon nombre de diagrammes pour la modélisation graphique de l’ensemble des données et traitements intégrés au niveau du système à concevoir. Ce langage a été proposé pour réunir, unifier et fusionner trois autres méthodes de modélisation objet, à savoir OMT, Booch et OOSE.

Normalisé par l’OMG en 1997, UML définit formellement l’approche objet tout en lui donnant une dimension méthodologique en se basant sur une multitude de vues du système illustrées à travers la Figure suivante.

Figure III. 3 Les différentes vues d’UML

Les vues décrivent l’ensemble du système d’un point de vue organisationnel, architectural, dynamique, temporel, logique, géographique, etc. Chacune comporte un ou plusieurs diagrammes qui sont au nombre de 13 dans le langage UML dans sa version 2.3. Chaque diagramme est classé sous une catégorie bien particulière, nous en distinguons 3 en tout :

1. Diagrammes structurels ou statiques : réunissent au total 6 diagrammes : de classes, de composants, d’objets, de structure composite, de déploiement et de paquetage.

2. Diagrammes comportementaux : regroupent les diagrammes de comportement, d’activités et d’états-transitions.

3. Diagrammes d’interaction ou dynamiques : modélisent les échanges inter-objets et se réfèrent aux diagrammes de séquences, de communication, de temps ou encore le diagramme global d’interaction.

91

UML n’étant pas une méthode, le choix des diagrammes revient à l’appréciation de chaque concepteur. Nous nous intéressons particulièrement au diagramme de classes placé sous le signe de la structure statique. Ce type de diagramme sera mis à profit afin de définir l’architecture logicielle de notre système.

Aussi un deuxième type de diagrammes relatif aux diagrammes comportementaux est utilisé pour la modélisation du fonctionnement des différents agents inclus dans l’architecture en question. Afin de modéliser le comportement (i.e. rôle) de chacun de ces agents, nous avons opté pour les diagrammes d’activité pour en faire ressortir les différents reliefs. Un troisième type de diagramme UML correspondant aux diagrammes de séquences classé sous la catégorie des diagrammes d’interaction sera mis à profit pour définir les échanges et communications inter-agents afin d’en modéliser les coalitions ayant lieu d’être.

III.3.3 De la modélisation Objet vers la modélisation Agent

Une conception basée sur les agents peut être vue comme un style architectural qui dérive de la modélisation objet. En effet, l'architecture agent est le produit du passage du composant objectif vers le composant projectif. Un objet étant défini comme étant un composant passif puisqu’il est pourvu d’un ensemble d’attributs et de méthodes à travers lesquels il peut être manipulé. Il offre ainsi un ensemble de services et utilise d’autres objets afin de réaliser ses propres fonctionnalités.

De manière quelque peu similaire, un agent utilise d’une façon intelligente les autres agents pour réaliser ses objectifs. Parallèlement à l’échange de messages entre objets pour établir les interactions possibles pouvant les relier, les agents communiquent de par l’établissement d’un support pour dialoguer grâce à un protocole de communication facilitant ainsi l’envoi et la réception de messages, la négociation et l’échange d’information dans un contexte de coalition inter-agent.

III.4 Architecture proposée à base d’agents communicants pour la gestion de