Abstract
The rapid development in computing has involved the
development of new paradigms of interaction between applications. Notably, the
service-oriented architecture has been proposed to allow interactions enter
distant applications. This architecture is built around the concept of
web service. The interest of web services is to enable a
company to export via the Internet, its competences and its know-how, or even
to open new markets and new supports for sale.
In order to maximize the benefits of this new type of
applications, web services community must develop tools that give the
possibility to assemble various services among them. It is the
composition of web services.
The current approach to web service composition is to define
business processes, i.e., reusable sequences of services. Another possible
approach is the "dynamic" composition. Web services are
composed dynamically according to their functionality, and availability.
The objective of this work is to study the mechanisms needed
to implement the dynamic composition of web services and more particularly to
propose a composition model based on the agents approach. We propose, then, a
case study allowing the demonstration of the effectiveness of the proposed
model.
Key-words : Web services, Agents,
Composition.
Introduction générale 1
1. Planification et systèmes multi-agents
3
Introduction .. 3
1. La planification .. 3
1.1. Définition et aspects . 3
1.2. La planification classique . 4
1.2.2. Modèle de base . 4
1.2.2. Représentation et langages 4
1.2.3. Recherche d'une solution (calcul d'un plan) 10
2. Les SMA 12
2.1. Qu'est ce qu'un agent? . 12
2.2. Architectures d'agents .. 13
2.2.1. Agents réactifs .. 13
2.2.2. Agents délibératifs 13
2.2.3. Agents hybrides 13
2.3. Systèmes multi-agents 13
3. La planification multi-agents 15
3.1. Planification et coordination . 16
3.2. Modèles de la planification multi-agents 16
3.2.1. Planification centralisée 16
3.2.2. Planification distribuée . 17
Conclusion 17
2. Des services web aux services web sémantiques
18
Introduction .. 18
1. Services web .. 18
1.1. Qu'est ce qu'un service web ? .. 18
1.2. Architecture, modèle de fonctionnement .. 19
1.3. Principales technologies utilisées . 20
1.4. Problèmes existants dans le domaine des services web
22
2. vers les services web sémantiques . 22
3. Services web sémantiques .. 23
3.1. Le langage OWL-S 23
3.1.1. Le Service Profile . 24
3.1.2. Le Service Process Model 25
3.1.3. Le Service Grounding 26
Conclusion 27
3. Composition de services web : état de l'art et
approche proposée 28
Introduction 28
1. La composition : état de l'art 28
1.1. Un model abstrait pour la composition de SW .. 28
1.2. Approches existantes . 30
1.2.1. Composition statique des services web . 31
1.2.2. Composition dynamique des services web 31
2. La composition : Approche proposée . 33
2.1. Spécification du problème . 34
2.3. Le modèle proposé : Présentation
générale et architecture 35
Conclusion 36
4. Composition par planification multi-agents :
Conception du système 37
Introduction .. 37
1. Analyse du système : vue externe et vue interne 37
2. Méthodologies et langages exploités dans la
conception 38
3. Vue externe du système .. 38
3.1. Description générale du système
38
3.2. Identification et représentation des
fonctionnalités offertes par le système 39
3.2.1. Diagramme de cas d'utilisation . 39
3.2.2. Diagrammes d'activités . 41
4. Vue interne du système ... 42
4.1. Architecture interne du système 42
4.2. Architectures internes et fonctionnement des agents . 43
4.3. Interactions entre les agents du système 58
5. Etude de cas 61
Conclusion 62
5. Composition par planification multi-agents :
Réalisation du système 63
Introduction .. 63
1. Etapes de la réalisation 63
2. Outils exploités 63
3. Création des descriptions OWL-S .. 64
4. Implémentation du traducteur OWL-S vers
opérateurs STRIPS 69
5. Implémentation du planificateur . 70
6. Implémentation des agents du système .. 74
7. Interfaces du système . 79
Conclusion 82
Conclusion générale 83
Bibliographie 85
Annexes A-1
Annexe A : Outils pour la conception du système
A-1
1. UML A-1
2. AUML . A-2
3. Le langage FIPA-ACL A-3
Table des matières
|
iii
|
Annexe B : Outils pour la réalisation du
système
|
B-1
|
1.
|
Eclipse .
|
B-1
|
2.
|
OWL-S IDE
|
B-1
|
3.
|
JADE
|
B-2
|
4.
|
JBuilder IDE
|
B-4
|
1.1
|
Exemple du monde de blocs
|
5
|
1.2
|
L'exemple du monde de blocs dans l'état S'
|
7
|
1.3
|
Exemple d'un problème de planification dans le monde des
blocs
|
8
|
1.4
|
Modèles de la planification multi-agents
|
17
|
2.1
|
Modèle de fonctionnement de l'architecture service web
|
20
|
2.5
|
Eléments d'une description OWL-S
|
24
|
2.6
|
Ontologie de processus
26
|
|
2.7
|
Relation entre OWL-S et WSDL .
|
27
|
3.1
|
Cadre général du système de composition de
services
29
|
|
3.2
|
Vue générale de l'orchestration
|
30
|
3.3
|
Vue générale de la chorégraphie
|
31
|
3.4
|
Différentes phases du modèle proposé
|
35
|
4.1
|
Description générale du système ..
|
38
|
4.2
|
Description externe du système
|
39
|
4.3
|
Diagramme de cas d'utilisation du système .
|
40
|
4.4
|
Diagramme d'activités pour << Demander service
>> .
|
41
|
4.5
|
Diagramme d'activités pour << Annuler demande
service >> ..
|
41
|
4.6
|
Diagramme d'activités pour << Fournir owl-s service
et ensemble de données>> ......
|
41
|
4.7
|
Diagramme d'activités pour << Identifier
administrateur >>
|
42
|
4.8
|
Architecture générale d'un agent cognitif
|
43
|
4.9
|
Mode de fonctionnement d'un agent cognitif ..
|
43
|
4.10
|
Diagramme d'activités pour le fonctionnement de l'agent
utilisateur .
|
44
|
4.11
|
Diagramme d'activités pour le fonctionnement de l'agent
administrateur ..
|
46
|
4.12
|
Architecture interne de << l'agent service >> ..
|
47
|
4.13
|
Correspondance processus atomique OWL-S et opérateur
STRIPS
|
49
|
4.14
|
Diagramme d'activités pour le fonctionnement de l'agent
service ..
|
51
|
4.15
|
Architecture interne de << l'agent médiateur
>> ..
|
52
|
4.16
|
Diagramme d'activités pour le fonctionnement de l'agent
médiateur .
|
58
|
4.17
|
Diagramme de protocole d'interactions d'AUML << agent
administrateur - agent
|
|
|
utilisateur >> ..
|
59
|
4.18
|
Diagramme de protocole d'interactions d'AUML << agent
administrateur - agent
|
|
|
médiateur >> ..
|
60
|
4.19
|
Diagramme de protocole d'interactions d'AUML << agent
utilisateur - agent
|
|
|
médiateur >> ..
|
60
|
4.20
|
Diagramme de protocole d'interactions d'AUML << agent
médiateur - agent
|
|
|
service >>
|
61
|
4.21
|
Architecture générale des services proposés
en terme d'entrées et de sorties
|
62
|
4.22
|
Architecture d'un service en terme de préconditions et
effets .
|
62
|
65
65
66
69
70
A-4
5.1 Classe Java implémentant le service de
réservation de vols aériens
5.2 Une partie de la description OWL-S du modèle de
processus générée en mode
graphique .. 5.3 Une partie de la description OWL-S du
modèle de processus générée en mode
textuel .. 5.4 La description OWL-S du process model du
service « Réservation de vols aériens ».. 5.5 Fonction
Java implémentant le traducteur OWLS vers opérateurs STRIPS
A.2 Exemple d'un message ACL
Liste des tableaux
2.1
|
Comparaison entre STRIPS et ADL
|
9
|
A.1
|
Eléments d'un message FIPA-ACL .
|
A-4
|
A.2
|
Actes communicatifs du langage ACL
|
A-6
|
|