Annexes
Annexe A : Outils pour la conception du
système
Dans cette annexe nous présentons brièvement les
différents outils exploités dans la conception de notre
système, ce sont trois langages UML, AUML et FIPA-ACL :
1. UML - Unified Modeling Language
UML est une notation permettant de modéliser un
problème de façon standard. Ce langage est né de la fusion
de plusieurs méthodes existant auparavant, et est devenu
désormais la référence en terme de modélisation
objet. Le grand succès de UML peut s'expliquer par plusieurs raisons.
Ces sont, par exemple, la simplicité, l'expressivité, une large
applicabilité et l'adaptabilité. Une autre raison très
pratique est l'existence d'une large variété d'outils, soutenant
la conception et la construction des modèles.
Afin de construire ces modèles, UML 2.0 fournit ainsi
treize types de diagrammes qui se répartissent en deux grands groupes
:
Diagrammes structurels ou diagrammes statiques (UML
Structure)
- diagramme de classes (Class diagram)
- diagramme d'objets (Object diagram)
- diagramme de composants (Component diagram)
- diagramme de déploiement (Deployment
diagram)
- diagramme de paquetages (Package diagram)
- diagramme de structures composites (Composite structure
diagram)
Diagrammes comportementaux ou diagrammes dynamiques
(UML Behavior) - diagramme de cas d'utilisation (Use case
diagram)
- diagramme d'activités (Activity diagram)
- diagramme d'états-transitions (State machine
diagram)
- Diagrammes d'interaction (Interaction diagram)
- diagramme de séquence (Sequence diagram)
- diagramme de communication (Communication diagram)
- diagramme global d'interaction (Interaction overview
diagram) - diagramme de temps (Timing diagram)
Ces diagrammes, d'une utilité variable selon les cas,
ne sont pas nécessairement tous produits à l'occasion d'une
modélisation. Les plus utiles pour la maîtrise d'ouvrage sont les
diagrammes d'activités, de cas d'utilisation, de classes, d'objets, de
séquence et d'états-transitions.
2. AUML - Agents Unified Modeling Language
UML ne fournit pas une base suffisante pour la
modélisation des agents et des systèmes multi-agent [17].
Fondamentalement, cela est dû à deux raisons: premièrement,
par rapport aux objets, les agents sont actifs parce qu'ils peuvent prendre
l'initiative et avoir le contrôle de son savoir et comment traiter des
demandes externes. Deuxièmement, les agents n'agissent pas
isolément, mais par une coopération ou coordination avec d'autres
agents.
Cependant, même s'il y a des différences
fondamentales entre les agents et les objet, un agent peut se définir
comme un objet qui peut dire "allez" (autonomie flexible comme la
capacité d'engager une action sans demande externe) et
<<non>> (autonomie flexible comme la possibilité de refuser
ou de modifier une demande externe). C'est dans cette vue que la FIPA
(Foundations of Intelligent Physical Agents) et le AWG (Agent Work
Group) de l'OMG (Object Management Group) ont recommandés
et explorés l'utilisation d'un ensemble d'extensions à UML pour
permettre la modélisation des systèmes multi-agents. C'est
l'AUML.
AUML fournit des mécanismes pour modéliser
principalement : les classes d'agent, les interactions entre agents et les
traitements internes des agents :
2.1. Les diagrammes de classes d'agent :
<< Une classe d'agent représente un agent
ou un groupe d'agents pouvant jouer un rôle ou
avoir un comportement déterminé >> [16].
Une classe d'agent comporte :
Description de la classe d'agent et des rôles :
un rôle d'agent est un ensemble d'agents ayant certaines
propriétés, interfaces et services ou des comportements
précis.
Description de l'état interne :
définition de variables d'instances qui reflètent
l'état de l'agent (types utilisés dans les objets + types pour
décrire les expressions logiques, ex: les intentions, les buts,
...etc.).
Description des actions, des méthodes et des
services fournis : une action est décrite par
son type (réactive ou pro-active), par sa signature (visibilité
(public, private, ...) + nom + liste de paramètres) et par une
sémantique (pré + post conditions + effets + invariants). Une
méthode est définie comme en UML avec
éventuellement des pré, post conditions et effet. Cette partie
comporte aussi une description informelle des services
fournis.
Messages échangés : description
des messages émis et reçus par l'agent.
|