Vous êtes sur la page 1sur 102

Systèmes multi agents

MediMAS

Etude de cas dans le domaine du E-Health Care

T  B

A R

Septembre 2007

Supervisé par :

Prof. Dr. Jacques P-R et Minh Tuan N Groupe Génie Logiciel

Dr. Patrik F Groupe Génie Logiciel

Dr. Patrik F  Groupe Génie Logiciel Groupe Génie Logiciel Département d’Informatique

Groupe Génie Logiciel Département d’Informatique Université de Fribourg (Suisse)

Groupe Génie Logiciel Groupe Génie Logiciel Département d’Informatique Université de Fribourg (Suisse)

Je tiens à remercier Nathalie Abbet, qui m’a soutenu durant toutes mes études et en particulier pendant mon travail de Bachelor.

ii

Les systèmes multi-agents prennent une place de plus en plus importante avec une communauté grandissante. Certains voient dans ces systèmes un concurrent sérieux des “Web-services” dans de nombreux domaines. Le but de cet travail est de faire une mise au point de ces technologies. Une première partie sera consacrée à une introduction théorique. Cette partie présente les outils de développement ainsi que les méthodologies utilisées dans la conception d’un système multi-agents. Une deuxième partie sera consacrée à l’implémentation d’un exemple tiré du domaine de l’eHealth-Care. Ce domaine se prête bien pour un système multi-agents du fait qu’il implique beaucoup de tâches répétitives nécessitant l’intervention de plusieurs acteurs.

Mots clés : Systèmes multi-agents, Ontologie, Jade, Jack, Protégé, GAIA, MaSE, FIPA, Java, eHealth-Care, eXtreme Programming

iii

1. Introduction

1

1.1. Problématique .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1

1.2. Objectifs

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

1.3. Conventions

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

2. Principaux concepts

 

5

2.1. Notion d’un agent .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5

2.2. Ontology

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

2.3. Contexte

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

2.4. Points de vue

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

2.4.1. Les agents comme design pattern

 

10

2.4.2. Les agents comme simulation sociale

 

11

2.5. Critique .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

11

2.5.1. Diérences avec les systèmes distribués

 

11

2.5.2. Diérences avec l’intelligence artificielle

12

3. Méthodologies et Plateformes

 

13

3.1. Méthodologies .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

13

3.1.1. Gaia

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

3.1.2. MaSE .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

3.2. Plateformes

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

22

3.2.1. JACK Intelligent Agents

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

23

3.2.2. Jade .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

25

4. eHealth-Care

32

4.1. Situation actuelle

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

4.2. Solution proposée - MediMAS

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

39

 

iv

Table des matières

Andreas Ruppen

v

5.

Implémentation

 

44

5.1. Ontologie .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

5.2. Agents

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

50

5.3. Comportements

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

51

5.4. Distribution des comportements aux agents

 

58

5.5.

Bilan

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

59

6. Utilisation du système

 

61

 

6.1. Installation & Configuration .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

61

6.2. Scénario d’exemple avec captures d’écran

 

62

7. Conclusion

 

67

A. Diagrammes pour MaSE

 

70

B. Ontologie pour Jade

 

74

C. Fiche d’une demande d’analyse

 

80

D. Acronymes

 

82

E. Licence de la documentation

 

84

F. Page web du projet

 

85

G. CD-ROM

 

87

Bibliographie

90

Sites Web

92

Index

 

93

2.1.

Modèle d’un système multi-agents

 

6

2.2.

Modèle BDI d’un agent .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

3.1.

Les diérents modèles dans Gaia

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

3.2.

Le modèle des agents dans Gaia .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

3.3.

Aperçu de MaSE

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

18

3.4.

Un diagramme de rôles généré avec agentTool

 

20

3.5.

Diagramme de tâches .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

3.6.

Interaction des diérents composants de JACK

 

23

3.7.

JACK tools

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

24

3.8.

Vue d’ensemble de JADE .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

3.9.

JADE Remote Monitoring Agent

 

27

3.10.

JADE Dummy Agent

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

28

3.11.

JADE Introspector Agent

 

.

.

.

.

.

.

.

.

.

29

3.12.

JADE Snier Agent

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

30

3.13.

JADE DF GUI

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

30

3.14.

Protégé, un éditeur d’ontologies

 

31

4.1.

Fonctionnement actuel

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

4.2.

Système de communication actuel

 

35

4.3.

Cas normal .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

36

4.4.

Cas spécifique 1 : Médecin téléphone au laboratoire et demande le ré-

sultat d’analyse

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

37

4.5.

Cas spécifique 2 : Laborantin téléphone au médecin traitant et lui com-

munique le résultat

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

38

4.6.

Cas critique : Laborantin téléphone au médecin et l’informe des résultats

obtenus .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

39

4.7.

Système actuel intégrant une solution basée sur un système multi-agents 40

4.8.

Cas normal .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

41

vi

Liste des figures

Andreas Ruppen

vii

4.9.

Echange de messages lors d’un résultat critique

 

42

4.10.

Communications lorsque des messages périmés sont détectés

 

43

5.1.

Méthodologie utilisée .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

45

5.2.

Vue d’ensemble de l’ontologie .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

5.3.

Les concepts du système

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

5.4.

Les actions du système

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

49

5.5.

Les prédicats du système

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

50

5.6.

Aperçu des types des comportements disponibles dans Jade

 

52

5.7.

La conversation sendResult

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

53

5.8.

Envoi d’un résultat critique

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

54

5.9.

Confirmation d’un résultat critique

 

55

5.10.

Recherche de nouveaux résultats sur le serveur

 

56

5.11.

Recherche de nouveaux résultats avec refus du serveur

 

57

5.12.

Confirmation d’un résultat .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

57

6.1.

Lancement de la plateforme

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

64

6.2.

Communications lors du lancement d’un agent

 

65

6.3.

Interfaces des agents

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

65

6.4.

Envoi d’un résultat et enregistrement dans la base de données

 

66

6.5.

Consultation d’un résultat par un médecin

 

66

7.1.

Publication, découverte et utilisation d’un service web

 

68

7.2.

Service web vs. système multi-agents

 

69

A.1. Diagramme d’hiérarchie des buts

 

70

A.2.

Diagramme de tâches .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

70

A.3. Diagramme de séquence

A.4.

. Diagramme de classe d’agents .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

71

71

A.5. Diagramme de classe de communications

 

72

A.6. Diagramme de déploiement

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

73

C.1. Fiche d’une demande d’analyse

 

81

F.1. Capture d’écran du site du projet

 

86

G.1. Contenu du cdrom

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

88

G.2. Le cdrom du projet

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

89

2.1.

Types d’agents

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

3.1.

Modèle des rôles

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

4.1.

Communications possibles

 

.

.

.

.

.

.