• Aucun résultat trouvé

5.3 L’étape d’analyse (étape B)

5.3.1 Phase de situation (B.1)

B.2 Phase individuelle ! B.3 Phase sociale ! B.4 Phase d’intégration 5.3.1 Phase de situation (B.1)

Cette activité consiste à définir les limites de l’application, à caractériser les agents et l’environne-ment.

80 La démarche de la méthode DIAMOND

Dans notre contexte, c’est l’analyse de l’environnement qui est l’objet de la phase de situation, qui pose les bases de la décomposition. Nous allons donc nous intéresser dans un premier temps à déterminer les frontières de l’application et caractériser quels éléments de l’environnement il est pertinent de prendre en compte dans la future application.

B.1.1 Caractériser l’environnement

!

B.1.2 Déterminer les entités

actives et passives !

B.1.3 Déterminer les agents

Caractériser l’environnement (B.1.1). On va s’intéresser aux caractéristiques de l’environnement

(vu en §2.2.3.2) du système qui seront autant d’informations précieuses pour le concepteur. Elles portent principalement sur le contexte de conception.

L’accessibilité - Dans le monde réel, on ne peut pas tout connaître de l’environnement mais, suivant les applications, on peut mesurer via des capteurs des paramètres qui suffiront à déterminer un état de reconnaissance suffisant pour l’application envisagée.

On détermine tout d’abord le degré d’accessibilité de l’environnement. Autrement dit que peut-on percevoir des différents éléments de l’environnement qui nous intéresse? Quelle incertitude sur ces mesures? Quel impact?

Si ces mesures suffisent à reconnaître un état de l’environnement (accessible), on va ainsi préciser les primitives de perception nécessaires aux agents. Il faudra penser à doter l’agent de moyens de mémorisation (afin qu’il puisse construire la représentation de l’environnement) et de raison-nement pour qu’il puisse raisonner sur cette représentation (conditionne l’aspect décisionnel de l’agent).

Si l’environnement ne s’avère pas accessible, peut-on raisonnablement supposer sur l’informa-tion inaccessible de l’environnement à partir de la percepl’informa-tion des différentes évolul’informa-tions d’autres paramètres? Tant que l’environnement ne sera pas suffisamment accessible, il sera nécessaire de demander des précisions aux demandeurs et aux utilisateurs.

Le déterminisme - Pour mesurer le degré de déterminisme de l’environnement il faut s’interro-ger sur ce que l’on peut physiquement contrôler de cet environnement. Les environnements réels sont très rarement déterministes. On peut donc, lorsqu’on s’intéresse à ce critère, commencer à s’interroger sur les effecteurs de l’agent.

Episodique - Les environnements réels sont généralement épisodiques. Cette caractéristique aura

une influence directe sur les buts des agents qui ont pour objectif le contrôle de cet environnement.

Statique - Les environnements réels sont quasiment toujours dynamiques mais c’est au concepteur

d’apprécier le degré de dynamique de la partie de l’environnement qui l’intéresse.

Ce paramètre influe sur l’architecture des agents. Ainsi, pour des environnements réels, elle favo-risera des architectures réactives et hydrides.

Discret - Comme toujours, ce critère est laissé à l’appréciation du concepteur suivant l’application

qu’il envisage. Un environnement réel est quasiment toujours continu.

Déterminer les entités actives et passives (B.1.2). Dans un système multi-agents physique, la

pré-sence ou non d’adversaire relationnel, joue sur les stratégies à mettre en oeuvre dans l’aspect décisionnel de l’agent. Dans le monde réel il faut penser aux possibilités d’interférences avec d’autres systèmes multi-agents.

L’étape d’analyse (étape B) 81

Dans cette activité, on identifie les entités actives et passives qui composent le système. Une entité active possède de l’autonomie. Cette autonomie peut être, par exemple, vis-à-vis de son environnement et des autres entités. Elle peut ainsi régir des règles d’interactions entre les différentes entités. Une entité passive ne possède pas ce pouvoir de dire non que lui confère l’autonomie : elle répond quasiment uni-formément aux sollicitations des autres entités. Généralement les entités passives sont des ressources du systèmes.

Les entités peuvent être contenir du logiciel (active: un dispatcheur de services, passive: un fichier) et du matériel (active: un robot, passive: une balle). Une entité peut aussi se présenter plus simplement sous la forme d’un jeu de contraintes qui module des interactions. Pour chacune de ces entités il est nécessaire de lui trouver un nom, de préciser son rôle et sa raison d’être. Il va être nécessaire d’identifier les interactions entre ces entités et l’environnement. A partir des interactions entre les utilisateurs et le système (identifiées en §5.2.4), via les fiches de diagramme de séquence, on va identifier les entités qui participent aux interactions entités/utilisateurs.

Déterminer les agents (B.1.3). A ce niveau de l’analyse, il va falloir choisir les entités que l’on

modélisera par des agents. Pour cela, on s’appuie sur les descriptions faites lors de l’activité précédente. On va s’intéresser pour cela essentiellement aux entités actives (les entités passives seront essentiellement étudiées par la vue qu’en auront les entités actives). Selon la complexité des entités traitées, il sera possible de l’éclater en un ensemble d’agents : une entité active sera donc modélisable par des agents coopérants.

Cette activité fait appelle a l’expérience de l’analyste. Nous travaillons cependant pour assister l’ana-lyste dans cette opération via la démarche qualité qui sera mise en place. En effet, nous pensons qu’en associant à chaque entité des mesures permettant d’évaluer la contribution à la qualité globale du sys-tème, il sera possible d’assister le choix des agents.

Documentation liée à ce processus B.1 . Dans cette partie de l’analyse on s’appuie sur les fiches

résultants de l’approche préliminaire. Pour identifier les entités actives et passives on se servira aussi des fiches issues de l’étude des acteurs, des cas d’utilisation et de l’étude des modes de fonctionnement. Il en est de même pour l’identification des agents.

Pour ce qui concerne la production de documents, on va créer plusieurs fiches dans la partie "analyse" de la documentation :

– On commence aussi à définir le glossaire d’analyse. Dans chacun des autres processus de la phase d’analyse, des termes pourront être ajoutés. Un même terme peut apparaître dans des glossaires différents en ayant un définition différente. Il est, par exemple, fréquent qu’un concepteur donne à une entité logicielle le nom de l’entité physique dont il est une abstraction.

– Une fiche de description de l’environnement qui rend compte de l’appréciation de chacune des caractéristiques de l’environnement et les argumente. Il y figure un inventaire des perceptions élémentaires et des opérations supportables par l’environnement (et qui peuvent être intéressantes pour l’application) qui permettra de réfléchir aux primitives d’actions/perceptions, aux actions plus évoluées et éventuels schémas d’interaction que l’on peut construire à partir des primitives disponibles.

– Une fiche d’identification des entités actives et passives sera créée à cet effet. On y trouvera la classification des entités ainsi que les hypothèses et l’argumentation qui a permis ce choix. On crée dès lors dans la partie "conception" de la documentation un classeur par entité mais pour chaque entité active devenant agent on créer un classeur : il rassemblera plusieurs documents. Ce classeur porte le nom de l’agent et contient une description de sa raison d’être.

82 La démarche de la méthode DIAMOND

Application au cas d’étude : Phase de situation

L’environnement est :

– Accessible. On peut connaître sa position géographique, la position de la balle, de chaque robot de son équipe et de l’équipe adverse. On connaît les dimensions du terrain et le camp de chacune des équipes est communiqué en début de chaque partie. Le temps est mesurable et si l’on peut mémo-riser les positions de chacun à des dates différentes, on pourra estimer les déplacements, directions des robots et des trajectoires. La trajectoire de la balle obéissant à des lois physiques, on peut aussi la déterminer. Nous faisons abstraction des autres paramètres mesurables non intéressants pour l’application envisagée (température etc.).

– Plutôt non déterministe. Même si les agents coopèrent et qu’il n’y a pas de dysfonctionnement des actions, on ne peut pas savoir les actions faites par les autres agents. Cependant des éléments de l’environnement sont prédictibles comme la trajectoire de la balle. Les actions faisables sur l’environnement sont le déplacement des robots et éventuellement de la balle. De plus, les règles étant connues à l’avance on peut aussi prédire les décisions de l’arbitre.

– Non épisodique car on supposera qu’aucune intervention de l’homme n’est possible. Les évolu-tions futures ne dépendent donc par des acévolu-tions réalisées par les robots.

– Dynamique comme tout environnement réel car le temps ne peut pas être arrêté et ce quels que soient les agents. En effet, le temps n’est pas commandable, il n’est pas arrêtable.

– Continu bien que les actions faisables soient finies.

Les entités actives sont les robots-joueurs. La balle peut-être assimilée à une entité passive qui répond à une action (le tir) par un déplacement soumis aux lois de la physique. Elle fait partie de l’environne-ment.

Vu le comportement autonome des robots et de leurs besoins en coopération, ils seront des agents.