MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE
LA RECHERCHE SCIENTIFIQUE
UNIVERSITE ABDELHAMID IBN BADIS MOSTAGANEM
Faculté des Sciences & Technologies
Département d’Informatique
Utilisation des Systèmes Multi Agents
pour la Prise de Décision dans les
Chaînes Logistiques
Etudiantes :
MEROUANE Amel.
NEDJARI BEN HADJ ALI Bakhta.
Encadreur :
Mme AIT SI LARBI El Yasmine
Deuxième Année Master Ingénierie des Systèmes d’Information
Année Universitaire 2010/ 2011
REMERCIEMENTS
Avant tout…nous remercions dieu qui nous a donné la volonté et la
résignation pour atteindre notre but …
Nos profonds et sincères remerciements à Mme AIT SI LARBI qui a
accepté et elle a sacrifié du temps et de l’effort pour nous encadrer, merci pour
votre aide, vos conseils et vos orientations.
Ainsi, nous remercions du fond du cœur le président et les membres du jury
d’avoir bien voulu nous honorer en acceptant de participer à notre évaluation.
Nos plus vifs remerciements aussi à nos parents pour leur encouragement
pendant nos études et toute notre vie.
Merci à toute personne qui a collaboré de prés ou de loin à réaliser ce
travail.
Résumé
Ce mémoire propose une approche pour améliorer l’efficacité de coopération dans
l’industrie, en particulier, entre les acteurs d’une chaîne d’approvisionnement.
Nous avons ainsi adopté pour la technologie d’agents, ceci, en considérant les acteurs
d’une chaîne d’approvisionnement comme un système multi- agents, doté d’une capacité de
négociation.
En effet, la négociation est une solution efficace pour la prise de décision, basée sur la
coordination dans les systèmes inter- organisationnels.
La structure générale de la plate forme de négociation basée sur les agents a été mise en
place, elle inclut deux types d’agents : les agents « service » : superviseur et agents
« spécialité » : client, fournisseur, producteur.
Puisque les différents acteurs d’une chaîne logistique ont différentes préférences
concernant les objectifs de décision (tels que le coût, le temps, …), une négociation multi
objectifs est établie en concevant un protocole de négociation et en décrivant le procédé de
négociation afin d’assurer une bonne gestion de stock pour le fournisseur, un achat sur mesure
pour un client en termes de coût et de délai et une production optimale pour un producteur.
Mots clés : Chaînes logistiques, négociation, système multi agents, prise de décision.
Abstract
The negotiation is an effective solution for the decision making, based on coordination
in the inter-organizational systems.
This document proposes a negotiation based on multi-agent systems to improve the
efficiency of cooperation in industry supply chains, adopting the agent technology and
considering the coordination of supply chains as a system of multi- agents.
The general structure of the platform of negotiation based of agent is conceived, it
includes two types of agent: the agent’s “service”: supervisor and agents “specialty”:
customer, supplier, producer. Since the various actors of a supply chain have various
preferences on the objectives of decision (such as the cost, time, …), a multi-objective
approach is determined by designing a negotiation protocol and describing the process of
negotiation to ensure a good management of stock for the supplier and a purchase to measure
for a customer and an optimal production for a producer.
Key words : supply chain, negotiation, multi-agent systems, decision- making.
Sommaire
Résumé ....................................................................................................................................... 3
Abstract ...................................................................................................................................... 3
Sommaire ................................................................................................................................... 4
Table des figures ........................................................................................................................ 7
Introduction générale.................................................................................................................. 8
Chapitre I : Les chaînes logistiques ...................................................................................... 10
I.1. Introduction : ................................................................................................................. 11
I.2. La logistique globale : ................................................................................................... 11
I.3. La chaîne logistique (Supply Chain : SC): .................................................................... 11
I.3.1. Définitions : ........................................................................................................... 11
I.3.2. Structure physique de la chaîne : ........................................................................... 12
I.3.3. Les trois flux de la chaîne logistique : ................................................................... 13
I.3.3.1. Le flux d’information : ....................................................................................... 14
I.3.3.2. Le flux physique : ............................................................................................... 14
I.3.3.3. Le flux financier : ............................................................................................... 14
I.3.4. Les formes des flux logistiques : ........................................................................... 15
I.3.5. Les activités d’une chaîne logistique : ................................................................... 15
I.3.5.1. Les activités de transformation du flux physique : ............................................ 15
I.3.5.2. Les activités de traitement et de transmission du flux d’information : .............. 15
I.3.6. Les différents services de la chaîne logistique :..................................................... 16
I.3.6.1. L’approvisionnement : ....................................................................................... 16
I.3.6.2. La production : ................................................................................................... 16
I.3.6.3. La distribution : .................................................................................................. 16
I.3.6.4. Le transport : ...................................................................................................... 16
I.3.7. Les entreprises et les chaînes logistiques : ............................................................. 17
I.3.7.1. Entreprise multi- sites : ...................................................................................... 17
I.3.7.2. Réseau d’entreprises :......................................................................................... 17
I.3.7.3. Une entreprise étendue : ..................................................................................... 17
I.3.7.4. L’entreprise virtuelle : ........................................................................................ 17
I.4. La gestion des chaînes logistiques : .............................................................................. 17
I.4.1. Définition : ............................................................................................................. 17
I.4.2. Le système décisionnel : ........................................................................................ 18
I.4.2.1. Le niveau stratégique : ....................................................................................... 18
I.4.2.2. Le niveau tactique : ............................................................................................ 19
I.4.2.3. Le niveau opérationnel : ..................................................................................... 19
I.4.3. La modélisation SCOR .......................................................................................... 19
I.4.4. Modélisation de la gestion de la chaîne logistique : .............................................. 20
I.4.4.1. Modélisation d’entreprise :................................................................................. 20
I.4.4.2. Les modèles analytiques : .................................................................................. 20
I.4.4.3. Les modèles de simulation : ............................................................................... 20
I.4.4.4. L’offre logicielle : .............................................................................................. 21
I.5. Les performances : ........................................................................................................ 21
I.5.1. La mesure de performance : ................................................................................... 21
I.5.2. Un indicateur de performance :.............................................................................. 21
I.5.3. Principaux indicateurs du SCM : ........................................................................... 22
I.5.3.1. Degré de partenariat : communication, coordination, coopération,… : ............. 22
I.5.3.2. La réduction des coûts : ...................................................................................... 22
4
I.5.3.3. La réduction du délai de livraison : .................................................................... 22
I.5.3.4. Taux de service : ................................................................................................ 22
I.5.3.5. Taux de disponibilité d'un équipement ou d'un système : .................................. 22
I.6. Conclusion :................................................................................................................... 23
Chapitre II : Les systèmes multi agents ............................................................................... 24
II.1. Introduction : ................................................................................................................. 25
II.2. Le concept d’agent : ...................................................................................................... 25
II.2.1. Définition d’un agent : ........................................................................................... 25
II.2.2. Caractéristiques et propriétés d’un agent : ............................................................. 26
II.2.3. Classification des différents types d’agents : ......................................................... 27
II.2.4. Différentes catégories et modèles d’agents : ......................................................... 27
II.2.4.1. Agents cognitifs : ............................................................................................ 27
II.2.4.2. Agents réactifs : .............................................................................................. 28
II.2.4.3. Agents hybrides : ............................................................................................ 29
II.3. Le concept des systèmes multi agents : ......................................................................... 29
I.3.1. Définition des SMA : ............................................................................................. 29
I.3.2. Les étapes de la réalisation d’un SMA : ................................................................ 30
I.3.3. Objectifs de travailler au niveau d’un système multi agents : ............................... 30
I.3.4. Caractéristiques d’un SMA : .................................................................................. 30
I.3.5. Niveaux d’organisation : ........................................................................................ 31
I.3.6. Différents types des SMA : .................................................................................... 31
II.4. Les interactions et communications : ............................................................................ 32
II.4.1. Définition d’interaction :........................................................................................ 32
II.4.2. Différentes formes d’interaction : .......................................................................... 32
II.4.3. Types de messages : ............................................................................................... 32
II.4.4. Niveaux de communication : ................................................................................. 33
II.4.5. Définition de la COORDINATION dans les SMA : ............................................. 33
II.4.6. Définition de la COLLABORATION dans les SMA : .......................................... 33
II.4.7. Définition de la COOPERATION dans les SMA : ................................................ 34
II.4.7.1. Types de coopération : .................................................................................... 34
II.4.8. Actes de langage : .................................................................................................. 34
I.4.8.1. KQML (Knowledge Query and Manipulation Language): ................................ 35
I.4.8.2. Knowledge Interchange Format (KIF): .............................................................. 35
II.4.9. Protocoles d’interaction : ....................................................................................... 35
II.4.9.1. Les protocoles de coordination : ..................................................................... 35
II.4.9.2. Les protocoles de coopération : ...................................................................... 35
II.4.10. Négociation : .......................................................................................................... 36
II.5. La négociation dans les SMA : ..................................................................................... 36
II.5.1. Définition de la négociation : ................................................................................. 36
II.5.2. Objectif de la négociation dans les SMA :............................................................. 37
II.5.3. Grands types de négociation : ................................................................................ 37
I.5.3.1. Négociation compétitive (Competitive negotiation): ......................................... 37
I.5.3.2. Negotiation cooperative (Cooperative negotiation): .......................................... 37
II.5.4. Composantes du modèle de négociation dans les SMA : ...................................... 37
II.6. Conclusion ..................................................................................................................... 38
Chapitre III : Conception et modélisation ........................................................................... 39
III.1. Introduction ................................................................................................................... 40
III.2. Architecture générale de l’application : ........................................................................ 40
5
III.3. Composants et structure de l’application : ................................................................... 41
III.4. Les cas de négociation dans notre application : ............................................................ 41
III.5. Conception des différents niveaux de l’application : .................................................... 42
III.5.1. Conception de la BDD : ......................................................................................... 42
III.5.2. Conception UML : ................................................................................................. 43
III.5.2.1. Les cas d'utilisation de notre application : ...................................................... 43
III.5.2.2. Le mode de représentation statique ou structurel : ......................................... 44
III.5.2.3. Le mode de représentation dynamique ou comportemental : ......................... 45
III.6. Conclusion ..................................................................................................................... 47
Chapitre IV : Implémentation .............................................................................................. 48
IV.1. Introduction ................................................................................................................... 49
IV.2. Outils de développement : ............................................................................................. 49
IV.2.1. Choix de la plateforme multi-agents Jade:............................................................. 49
IV.2.2. Choix du langage de programmation : ................................................................... 50
IV.2.3. Choix du SGBD: Access :...................................................................................... 50
IV.3. Illustration de l’application : ......................................................................................... 50
IV.4. Conclusion ..................................................................................................................... 54
Conclusion générale et perspectives ........................................................................................ 55
Bibliographie ............................................................................................................................ 56
Annexe A.................................................................................................................................. 58
Annexe B .................................................................................................................................. 59
Annexe C .................................................................................................................................. 60
Annexe D.................................................................................................................................. 61
6
Table des figures
Figure 1 : Les structures de la chaîne logistique. ..................................................................... 13
Figure 2 : Composition de la chaîne logistique et les flux associés. ........................................ 14
Figure 3 : Schéma de réalisation d’une tâche par un agent. ..................................................... 26
Figure 4 : Le modèle d’un agent cognitif. ................................................................................ 28
Figure 5 : Le modèle d’un agent réactif. .................................................................................. 28
Figure 6 : Le modèle d’agents InteRRap ................................................................................. 29
Figure 7 : Le modèle E/A de notre base de données. ............................................................... 43
Figure 8 : Le diagramme use case de notre application. .......................................................... 44
Figure 9 : Le diagramme de classe de notre application. ......................................................... 45
Figure 10 : Le diagramme de séquence de la mise à jour de stock de producteur (idem pour le
fournisseur)…………………………………………………………………………………...45
Figure 11 : Le diagramme de séquence de l'authentification de l'utilisateur (agent acteur) par
l'agent superviseur. ................................................................................................................... 46
Figure 12 : Le diagramme de séquence de la négociation entre l'agent superviseur et le client
(idem pour le fournisseur). ....................................................................................................... 46
Figure 13 : L'interface de la plate forme JADE. ...................................................................... 49
Figure 14 : La fenêtre d'accueil du logiciel. ............................................................................. 51
Figure 15 : La fenêtre principale avec l'apparition de l'agent superviseur sur l'interface de
JADE. ....................................................................................................................................... 51
Figure 16 : L'interface du formulaire d'inscription, Affichage des coordonnées saisies et
enregistrées, La fenêtre d'authentification (de l’adroite vers l’à gauche). ............................... 52
Figure 17 : La création de l'agent client après son authentification par le superviseur............ 52
Figure 18 : Interface du compte client. .................................................................................... 52
Figure 19 : Interface du compte fournisseur. ........................................................................... 53
Figure 20 : La création de l'agent fournisseur et l'agent producteur. ....................................... 53
Figure 21 : Interface du compte producteur. ............................................................................ 53
Figure 22 : La confirmation de l'acceptation de commande après négociation. ...................... 54
7
Introduction générale
Introduction générale
Le domaine de l’industrie est en constante progression, ce qui ouvre la possibilité
d’effectuer de nombreux travaux de recherche pour améliorer le rendement et faire des gains
en matière de coûts et de temps, pour répondre aux attentes et aux besoins des clients, tout en
restant en compétition face a la concurrence.
L'informatique industrielle concerne l'utilisation de l'outil informatique pour la fabrication
de produits industriels (de conception assistée par ordinateur à leur production : fabrication
assistée par ordinateur, automatique, robotique) en passant par la logistique, la gestion des
stocks, ... Elle inclue essentiellement la gestion des stocks et des achats, la gestion des
commandes ; la gestion des produits engendrés par ces commandes, la gestion des articles
entrant dans la fabrication de ces produits et de leurs nomenclatures- gammes, la gestion des
ressources par familles (couple homme/spécialité) permettant la création des gammes
(nomenclature de fabrication) ; la création et gestion du planning de fabrication, l’expédition
des produits et la facturation.
La gestion de chaînes logistiques (Supply Chain Management : SCM) a été appliquée
pour une gestion efficace, performante et stratégique, afin d’améliorer l’exécution de ses
fonctions et objectifs.
La négociation est définit en tant que processus décisionnel de deux décideurs ou plus,
qui recherchent conjointement un espace de solution avec le but réalisant le consensus.
La technologie des systèmes de multi-agent (SMA) offre de nouveaux moyens et outils
pour le SCM. Un SMA offre la possibilité de modélisation et de simulation des systèmes de
production et des SCM, en proposant de représenter leurs éléments, leurs comportements et
leurs interactions sous forme d’entités informatiques, disposant de leur autonomie, et d’une
grande capacité de prise de décision dans des situations imprévues.
En effet, les SMA conviennent aux domaines qui impliquent des interactions entre
différents organismes avec différents objectifs et informations. Une chaîne logistique est
considérée comme étant un SMA, où les participants sont délégués par différents agents. En
outre, la coopération entre les acteurs des chaînes d’approvisionnement à base d’agents a été
prouvée comme étant un mécanisme efficace pour améliorer les performances de SCM
[XIAO & al 07], [AITS & al 09].
Aussi, au sein d’une chaîne logistique, les points de non satisfaction des clients pour
obtenir un produit avec la quantité demandée et au plus bas prix, dans un délai de livraison
8
Introduction générale
minimum, et la non satisfaction du fournisseur en termes de quantité de produits manquant
dans son stock, ne sont pas garantis dans un système classique. En plus, nous faisons face à un
problème distribué, d’où la nécessité d’opter pour une solution qui apparaît adéquate à cette
problématique: l’utilisation des SMA.
Notre travail se place alors dans le domaine des chaînes logistiques. Notre objectif est de
fournir une plate-forme de négociation multi-agent permettant de réaliser une application de
prise de décision coopérative, pour une chaine d’approvisionnement à base d’agents, qui vont
automatiser les transactions et les interactions entre les acteurs d’une chaîne logistique (client
qui veulent acquérir un produit au plus bas prix avec un minimum de délai de livraison, et
fournisseurs qui veulent le vendre selon la quantité du stock) avec la participation de l’agent
superviseur qui assure une meilleure gestion de stock pour le fournisseur et le producteur.
Pour expliquer notre travail, nous présenterons ce mémoire comme suit :
Chapitre I : Les chaînes logistiques : Ce chapitre décrit la notion de chaîne logistique
avec sa structure physique et les flux qui la caractérisent avec les indicateurs associés, il
détaille aussi la notion de gestion de la chaîne sans oublier ses activités et ses performances.
Chapitre II : Les systèmes multi agents : Ce chapitre introduit, tout d’abord, les notions
d’agents et de SMA et détaille par la suite les différentes questions que soulèvent la
problématique des SMAs, en particulier: les interactions, la coopération, la coordination, la
planification et la communication avec la négociation en détail.
Chapitre III : Conception et modélisation de l’interface : Dans ce chapitre nous
présentons le fonctionnement de notre application et l’architecture des agents qui la compose,
on parlera aussi des interactions entre les agents de l’application, le tout sera détaillé par des
diagrammes.
Chapitre IV : Implémentation : Dans ce chapitre nous présentons les outils de
développement grâce auxquels nous avons réalisé notre application et nous fournissons des
vues qui illustrent le déroulement des scénarios de négociation.
Enfin, nous terminerons ce mémoire par une conclusion générale et des perspectives
éventuelles afin d’assurer la continuité de ce travail.
9
Chapitre I :
Les chaînes logistiques
Chapitre I Les chaînes logistiques
I.1.Introduction :
Nous allons définir dans ce qui suit, les notions liées aux chaînes logistiques. Ce chapitre
débute par des rappels sur la logistique. Puis, nous définissons plus précisément les termes
liés aux chaînes logistiques (en Anglais Supply Chain – SC), et de gestion de la chaîne
logistique (en Anglais, Supply Chain Management– SCM). Enfin, nous présentons la notion
de performance et les indicateurs de performances.
I.2.La logistique globale :
La « logistique globale » représente l’ensemble des activités internes ou externes à
l’entreprise qui apporte de la valeur ajoutée aux produits et des services aux clients [COUR
03]. L’ouverture vers le marché mondial implique de problèmes pour l’entreprise. L’évolution
de la logistique vers la logistique globale implique l’apparition de points clés pour la mise en
œuvre des partenariats d’entreprise [COUR 03]:
Trouver des partenaires avec qui partager une vision globale de la problématique.
Définir le périmètre de la coopération : quelles informations doivent être échangées
(dilemme coopération/protection) ?
Donner une vision du fonctionnement cible.
Informer et former les opérateurs pour établir une culture logistique interne et externe.
Aligner les processus internes et externes.
Se comparer aux meilleures pratiques.
Choisir les outils adaptés pour la mise œuvre opérationnelle d’une logistique performante.
I.3.La chaîne logistique (Supply Chain : SC):
I.3.1. Définitions :
Le terme « chaîne logistique » vient de l’anglais Supply Chain qui signifie « chaîne
d'approvisionnement ».
Il existe plusieurs définitions de la « chaîne logistique » : Chaque chercheur propose une
définition suivant la discipline dont il est issu et ses objectifs. Le tableau recense quelques-
unes de ces définitions [FRAN 07]:
La Londe et Une chaîne logistique est un ensemble d'entreprises qui se transmettent des
Masters, 94 matières. En règle générale, plusieurs acteurs indépendants participent à la
fabrication d'un produit et à son acheminement jusqu'à l'utilisateur final -
producteurs de matières premières et de composants, assembleurs, grossistes,
distributeurs et transporteurs sont tous membres de la chaîne logistique.
11
Chapitre I Les chaînes logistiques
Ganeshan et Une chaîne logistique est un réseau d'entités de production et de sites de
al, 95 distribution qui réalise les fonctions d'approvisionnement de matières, de
transformation de ces matières en produits intermédiaires et finis, et de
distribution de ces produits finis jusqu'aux clients.
Tayur et al, Un système de sous-traitants, de producteurs, de distributeurs, de détaillants et
99 de clients entre lesquels s’échangent les flux matériels dans le sens des
fournisseurs vers les clients et des flux d’information dans les deux sens.
Stadlter et Une chaîne logistique est constituée de deux ou plusieurs organisations
Kilger, 00 indépendantes, liées par des flux physique, informationnel et financier. Ces
organisations peuvent être des entreprises produisant des composants, des
produits intermédiaires et des produits finis.
Génin, 03 Une chaîne logistique est un réseau d’organisations ou de fonctions
géographiquement dispersées sur plusieurs sites qui coopèrent, pour réduire les
coûts et augmenter la vitesse des processus et activités entre les fournisseurs et
les clients.
Lummus et Toutes les activités impliquées dans la livraison d’un produit depuis le stade de
Vokurka, matière première jusqu’au client en incluant l’approvisionnement en matière
04 première et produits semi-finis, la fabrication et l’assemblage, l’entreposage et
le suivi des stocks, la saisie et la gestion des ordres de fabrication, la
distribution sur tous les canaux, la livraison au client et le système
d’information permettant le suivi de toutes ces activités.
Tableau 1 : Quelques définitions de la chaîne logistique.
Les définitions de la chaîne logistique reprennent des idées communes. [FRAN 07] :
1. Une chaîne logistique se rapporte généralement à un produit fini ou à une famille de
produits finis donnés.
2. Elle fait intervenir plusieurs entreprises.
3. Ces entreprises sont liées entre elles par trois flux : le flux d’information (passage de
commandes), le flux physique (transfert de marchandises) et le flux financier (règlement
des achats).
4. Chacune des entreprises partenaires assure les fonctions d’approvisionnement, de
transformation / production, de distribution et de vente. Ce sont les 4 processus clés que
l’on rencontre dans toute entreprise.
5. Enfin, une entreprise peut être impliquée dans plusieurs chaînes logistiques. En effet, une
entreprise cherche généralement à multiplier ses entreprises-clients et ses produits peuvent
servir à l’élaboration de plusieurs produits finis.
I.3.2. Structure physique de la chaîne :
Les structures typiques de chaînes logistiques sont décomposées en :
12
Chapitre I Les chaînes logistiques
Série ; Divergente ; Dyadique ; Convergente et Réseau (présentées en figure I.1).
Ces structures typiques ont pour but d’offrir des cadres de modélisation pour l’étude des
chaînes logistiques et sont orientées sur des processus spécifiques [GALA 07].
La structure série : Elle correspond à un procédé de fabrication linéaire et vertical. Cette
structure peut être utilisée, par exemple, pour étudier l’influence de la propagation de
l’information sur l’ensemble de la chaîne.
La structure divergente : Elle permet de modéliser un réseau de distribution avec pour
objectif, par exemple, d’étudier la localisation des sites de distribution ou leur
dimensionnement.
La structure convergente : Elle représente un processus d’assemblage dans lequel le
choix des fournisseurs peut être un sujet d’étude.
La structure réseau : Elle est la composition d’une structure convergente et divergente
permettant de prendre en compte des chaînes logistiques plus complexes.
La structure dyadique : Elle peut être vue comme un cas particulier d’une chaîne en
série limitée à 2 étages. Elle peut servir de base à l’étude de relations client/fournisseur ou
donneur d’ordre/sous-traitant.
Figure 1 : Les structures de la chaîne logistique.
I.3.3. Les trois flux de la chaîne logistique :
La chaîne est constituée de fournisseurs, producteurs, distributeurs, détaillants et clients.
Les flux de matières premières, de produits semi finis et de produits finis ainsi que les
informations permettant de les contrôler s’écoulent le long d’une chaine reliant les trois
fonctions principales suivantes :
13
Chapitre I Les chaînes logistiques
Achat et approvisionnement, le cycle de production, la distribution vers les clients
(particuliers ou magasins).
En amont, l’origine de la chaîne est constituée par les fournisseurs de matières premières.
En aval se trouvent les clients.
Nous détaillons ici les trois flux qui se trouvent dans une chaîne logistique : flux
d’information, physique et financier. En effet, des contrats définissent les relations entre
chaque entreprise ou acteur de la chaîne logistique.
Figure 2 : Composition de la chaîne logistique et les flux associés.
I.3.3.1. Le flux d’information :
Représente l’ensemble des transferts ou échanges de données entre les différents acteurs
de la chaîne logistique. Il s’agit des informations commerciales (les commandes passées entre
clients et fournisseurs). Les entreprises s’échangent aussi des informations techniques
(Capacités de production et de transport, informations de suivi des niveaux de stock). Le flux
d’information est de plus en plus rapide grâce aux progrès des TIC [FRAN 07].
I.3.3.2. Le flux physique :
Le flux physique est constitué par le mouvement des marchandises transportées et
transformées depuis les matières premières jusqu’aux produits finis en passant par les stades
de produits semi-finis. Il justifie l’organisation d’un réseau logistique. Le flux physique est
généralement considéré comme étant le plus lent des trois flux [GALA 07].
I.3.3.3. Le flux financier :
Concerne les ventes des produits, achats de composants ou de matières premières, des
outils de production, d’équipements et du salaire des employés.
14
Chapitre I Les chaînes logistiques
Ce flux est généralement géré de façon centralisée au sein du service financier ou
comptabilité, en liaison avec les services achats et le service commercial [GALA 07].
I.3.4. Les formes des flux logistiques :
Selon la méthode d’approvisionnement choisie dans le processus, les flux logistiques
peuvent avoir différentes formes. Nous distinguons [Net 1]:
Les flux poussés : Chaque étape de fabrication est déclenchée par la disponibilité des
matières premières ou des composants au niveau du poste amont. Les produits fabriqués
sont stockés en attente d’une demande pour la consommation.
Les flux tirés : Le déclenchement de la livraison ou de la fabrication d'un produit se fait
uniquement sur la demande d’un poste client. Par principe il y a zéro stock dans la chaîne.
Les flux tendus : Une combinaison des deux précédents, c’est équivalent d’un flux tiré,
mais avec un minimum de stocks et d'en-cours repartis le long de la chaîne logistique.
Les flux synchrones : La livraison de composants est réalisée dans le respect de leur
ordre d'entrée dans le processus de fabrication. Ils sont donc livrés juste ou moment de
leur utilisation. Ce qui permet de réduire les stocks et les coûts qui y sont liés.
I.3.5. Les activités d’une chaîne logistique :
Les activités menées au sein d’une chaîne logistique sont diverses. Elles peuvent être
structurées en fonction de la nature du flux sur lequel elles portent. Ces activités dépendent
aussi de la fonction des partenaires qui les réalisent. Ainsi, nous distinguons [AMRA 09]:
I.3.5.1. Les activités de transformation du flux physique :
Elles regroupent le processus de production et l’approvisionnement des composants et de
livraison des produits. La production signifie l’ensemble des activités de transformation
physique des composants en sous-ensembles puis en produits finis.
L’approvisionnement s’intéresse à la partie amont de la chaîne et les livraisons
considèrent le problème se trouvant en aval de la chaîne.
I.3.5.2. Les activités de traitement et de transmission du flux d’information :
Ce dernier est souvent considéré comme inverse au flux physique, allant de l’aval vers
l’amont. L’information transmise peut être une simple commande, un carnet de commandes,
voir des plans d’approvisionnement. De manière générale, la nature de l’information
transmise est dépendante des modalités du partenariat qui lie les partenaires de la chaîne
logistique.
15
Chapitre I Les chaînes logistiques
I.3.6. Les différents services de la chaîne logistique : [Net 2]
I.3.6.1. L’approvisionnement :
La fonction approvisionnement a pour objet d’assumer la fourniture d’un produit apte à
remplir une certaine utilité dans l’entreprise dont la qualité voulue, la quantité voulue, à la
date voulue et ceci au moindre coût. Le service approvisionnement a pour mission d’un point
de vue fonctionnel, il assure la gestion des stocks et le magasinage et les décisions d’achat ou
de sous-traitance, et d’un point de vue opérationnel il permet de faire [Net 2]:
La sélection des fournisseurs.
Le contrôle des budgets prévisionnels d’achat.
La négociation avec les fournisseurs des prix, délais et conditions.
La gestion des fichiers de matières et de produits.
I.3.6.2. La production :
Concerne les transformations que vont subir les composants pour réaliser les produits
finis. L’objectif est de fabriquer les produits requis tout en assurant la productivité du système
[FRAN 07] pour offrir un meilleur service aux clients (en termes de qualité et de disponibilité
des produits) tout en réduisant sans cesse les coûts (coûts de production, transport, stocks,…).
I.3.6.3. La distribution :
Concerne la livraison des produits finis aux clients et reprend les questions d’optimisation
des réseaux de distribution : l’organisation et le choix des moyens de transport, le choix du
nombre d’étages et le positionnement des entrepôts et leur mode de gestion [FRAN 07].
I.3.6.4. Le transport : [Net 2]
Le transport se caractérise par sa grande diversité:
Diversité des modes de transport (camions, navires, trains, avions, ..) et matériels utilisés.
Diversité des produits transportés (vrac, lots, frigorifiques, liquides, palettes, colis,...).
diversité des origines et des destinations.
Cette activité s’accompagne de plus en plus de services tiers, rendus par les entreprises
dans le cadre ou dans la préparation du transport, comme la logistique ou l’organisation des
transports.
16
Chapitre I Les chaînes logistiques
I.3.7. Les entreprises et les chaînes logistiques :
Une chaîne logistique peut être composée d’une ou plusieurs entreprises qui peuvent être
juridiquement indépendantes. Il est possible de dégager quelques grandes catégories en
fonction des objectifs de ces groupements d’entreprises [GALA 07].
I.3.7.1. Entreprise multi- sites :
On parle de ce type lorsque les différentes activités de la chaîne logistique sont effectuées
dans des sites géographiquement distribués mais appartenant à la même entreprise.
I.3.7.2. Réseau d’entreprises :
Ce réseau est un ensemble d’entreprises entrant en communication pour répondre à un
besoin précis. Les réseaux d’entreprises ne sont pas obligatoirement orientés sur le processus
d’élaboration complet d’un produit fini donné.
I.3.7.3. Une entreprise étendue :
Elle correspond à un réseau d’entreprises différentes mais partageant un système de
gestion de manière plus ou moins complète, il permet l'interopérabilité des systèmes de
gestion des entreprises impliquées.
I.3.7.4. L’entreprise virtuelle :
Elle est considérée comme une organisation temporaire dans laquelle un ensemble de
partenaires industriels forme un réseau collaboratif pour atteindre un objectif précis auquel ils
n’auraient pu répondre seuls. Les caractéristiques des entreprises virtuelles [NAYA & al 01]:
Organisation en réseau ou distribuée.
Coopération et complémentarités.
Organisation temporaire.
Infrastructure supportant les interactions.
I.4.La gestion des chaînes logistiques :
I.4.1. Définition :
Une chaîne logistique existe lorsqu’au moins deux entreprises travaillent sur
l’achèvement d’un produit donné. Si et seulement si cette association est délibérément pilotée
en vue d’en maximiser la performance, alors on peut parler de gestion de la chaîne logistique
[FRAN 07].
Le SCM est défini comme: « la démarche permettant l’intégration d’unités
organisationnelles le long de la chaîne logistique et la coordination des flux physiques,
17
Chapitre I Les chaînes logistiques
informationnels et financiers dans le but de satisfaire le consommateur final et d’améliorer la
compétitivité de la chaîne dans son ensemble », c’est aussi « un ensemble d’approches
utilisées pour intégrer efficacement les fournisseurs, les producteurs, les distributeurs et les
détaillants de façon à garantir la production et la distribution des produits finis au bon
moment, au bon endroit, en bonne quantité, en respectant les exigences des clients finaux, et
ce au moindre coût ».
Ces deux définitions, adressent le fondement du SCM : une approche intégrative des
partenaires (du fournisseur vers le client final) ayant pour but l’atteinte d’objectifs de
performance locale et globale [AMRA 09].
Le SCM se distingue bien de la SC (Supply Chain) par sa référence aux outils et
méthodes de management qui veillent à l’optimisation de la chaîne. Le SCM peut être perçu
comme étant les méthodes associées aux démarches d'amélioration de la performance.
Pour chaque élément présenté dans la SCM, des décisions servant à coordonner les
différentes actions devront être prises. Ces décisions auront des portées différentes selon le
niveau décisionnel auquel elles se rapportent. Nous présentons quelques décisions
caractéristiques pour la gestion de la chaîne logistique [GALA 07] :
I.4.2. Le système décisionnel :
L’architecture décisionnelle est support à l’organisation des processus et décisions se
structure en trois niveaux : niveau stratégique (ou décisions à long terme visant
habituellement à définir les moyens et objectifs), niveau tactique (décisions à moyen terme
concernant la définition des actions à mettre en œuvre) et niveau opérationnel (décisions à
court terme consistant en la mise en œuvre des actions et en leur suivi) [AMRA 09].
I.4.2.1. Le niveau stratégique : On distingue quatre parties [FRAN 07].
La partie « Objectifs stratégiques » : il s’agit de déterminer les objectifs pour l’ensemble
des parties prenantes (partenaires).
La partie « Design », conception ou configuration : il s’agit de déterminer la structure de
la chaîne, dans sa topologie, mais également dans la sélection des parties prenantes (choix
des fournisseurs, sous-traitants, …).
La partie « Développement d’avantages compétitifs » : il s’agit d’analyser comment la
gestion de la chaîne logistique peut développer ou améliorer la compétitivité des
entreprises partenaires.
18
Chapitre I Les chaînes logistiques
La partie « Evolution historique » qui se focalise sur l’évolution des stratégies des
entreprises en matière de chaîne logistique.
I.4.2.2. Le niveau tactique : On distingue quatre parties : [NAYA & al 01]
La partie « Développement des relations interentreprises », que celles-ci soient bilatérales
ou multilatérales, horizontales ou verticales.
La partie « Gestion des opérations intégrées », c’est-à-dire la gestion des activités des
entreprises pour garantir l’efficience globale de la chaîne logistique.
La partie « Gestion des systèmes collectifs de transport et de distribution ».
La partie « Développement de systèmes d’information » qui cherche à améliorer
l’échange d’informations dans le cadre des objectifs stratégiques.
I.4.2.3. Le niveau opérationnel : On distingue quatre parties : [NAYA & al 01]
La partie « Contrôle et gestion des stocks et des flux physiques ».
La partie « Coordination de la planification de la production ».
La partie « Spécification du partage des informations opérationnelles ».
La partie « Développement d’outils de pilotage opérationnel ».
I.4.3. La modélisation SCOR [GALA 07] :
Il ne s'agit pas d’aborder la chaîne logistique d'un produit donné, mais d’adopter le point
de vue d’une entreprise qui doit gérer un ensemble de fournisseurs et de clients. Ici, le modèle
le plus largement répandu pour répondre à cette définition orientée entreprise est le « Supply
Chain Operations Reference model » (SCOR), développé par le Supply Chain Council (SCC),
Le modèle SCOR a pour but de prendre en compte l’ensemble des interactions avec le
client, toutes les transactions liées au produit et à la compréhension du marché.
Pour cela, des processus de référence existent, auxquels sont associés des indicateurs de
performances :
Plan : Processus permettant d’équilibrer la demande agrégée et les approvisionnements
pour développer un plan d’actions qui prend au mieux en compte les approvisionnements,
la production et les besoins en livraisons.
Source : Processus permettant l’approvisionnement des biens et services pour satisfaire la
demande prévisionnelle ou actuelle.
Make : Processus de transformation des produits à un état fini pour satisfaire la demande
prévisionnelle ou réelle.
19
Chapitre I Les chaînes logistiques
Deliver : Processus qui fournissent des produits finis ou services pour satisfaire la
demande réelle ou prévisionnelle en incluant typiquement, la gestion des commandes, la
gestion du transport et la gestion de la distribution.
Return : Processus associés au retour ou à la réception de produits retournés pour diverses
raisons. Ces processus s’intègrent au service après-vente.
I.4.4. Modélisation de la gestion de la chaîne logistique :
Pour aider les décideurs du SCM, des outils ont été développés par la recherche et
transférés par l’offre logicielle. Il s’agit, d’une part, de la modélisation d’entreprise pour
comprendre le positionnement des activités dans les processus d’entreprise et, d’autre part,
des modèles mathématiques et de résolution optimale, supports en particulier à la planification
[AMRA 09].
I.4.4.1. Modélisation d’entreprise :
L’objectif de la modélisation d’entreprise est de représenter une partie donnée de
l’entreprise pour comprendre son fonctionnement, analyser son comportement et ses
performances, détecter des dysfonctionnements. La modélisation d’entreprise utilise des
formalismes de modélisation générique, tels que la grille et les réseaux GRAI (Graphes et
Réseaux d’Activités Inter reliés). En général, ces modèles sont centrés ou focalisés sur une
entreprise, plutôt que les chaînes logistiques [FRAN 07].
I.4.4.2. Les modèles analytiques :
Permettent de décrire un système par un ensemble d’équations régissant son
fonctionnement. Ils peuvent être déterministes (tous les paramètres du modèle sont réputés
connus) ou stochastiques (certains paramètres sont incertains et suivent une loi de
probabilité). Ils sont généralement associés à un problème d’optimisation à un ou plusieurs
critères. Ils peuvent être résolus par différents logiciels spécifiques ou génériques [FRAN 07].
I.4.4.3. Les modèles de simulation :
Un modèle de simulation est généralement utilisé lorsqu’il est difficile de trouver une
relation (une équation) entre différentes variables et ne pouvant donc généralement pas se
mettre sous la forme d’un modèle analytique. Il y a donc deux types de modèles : les modèles
statiques dans lesquels le temps n’est pas pris en compte, et les modèles dynamiques. Les
modèles de simulation sont des modèles à la fois stochastiques et dynamiques.
20
Chapitre I Les chaînes logistiques
I.4.4.4. L’offre logicielle :
Des logiciels ont d’abord été développés pour exécuter certaines tâches administratives
répétitives, puis pour pallier les problèmes de communication dans l’entreprise. Ensuite, des
applications informatiques ont été développées dans divers domaines industriels.
I.5.Les performances :
La gestion de la chaîne logistique cherche à améliorer le système global de production.
Pour cela, il existe des indicateurs de performance. Ces indicateurs sont construits à partir du
suivi de production (niveau des stocks, …). [FRAN 07].
Pour améliorer un système de production (ici la chaîne logistique), il faut connaître sa
performance effective et déterminer une cible ou un objectif à atteindre [AMRA 09].
La première étape consiste donc à mesurer la performance. Ensuite, il faut prendre des
décisions et agir sur le système à travers des variables de décision, afin de tendre vers la cible
choisie.
I.5.1. La mesure de performance :
Une chaîne logistique se voit assigner des objectifs de qualité, coût et délais, et le résultat
des actions pour la satisfaction de ces objectifs est mesuré à l’aide d’indicateurs de
performance définit au préalable.
I.5.2. Un indicateur de performance :
Les caractéristiques d’un indicateur de performance apparaissent dans les points suivants
[AMRA 09] :
Un indicateur de performance est une donnée quantifiée qui exprime l’efficacité et / ou
l’efficience de tout ou partie d’un système (réel ou simulé), par rapport à une norme, un
plan déterminé et accepté dans le cadre d’une stratégie d’entreprise.
Un indicateur de performance est une traduction chiffrée des objectifs stratégiques
poursuivis par l’organisation.
Un indicateur de performance est une information devant aider un acteur individuel ou
une organisation à conduire le cours d’une action vers l’atteinte d’un objectif, ou devant
lui permettre d’en évaluer le résultat.
Un indicateur de performance est associé à une « action à piloter » dont il doit révéler la
pertinence opérationnelle.
Une performance peut être complexe et sa mesure peut nécessiter un ensemble
d’indicateurs. Ainsi, nous pouvons [AMRA 09]:
21
Chapitre I Les chaînes logistiques
Mesurer : assigner une valeur à un indicateur donné (directe, calcul).
Evaluer: donner une interprétation et positionner la mesure dans un cadre de référence
explicitant les objectifs.
Agir : entreprendre des actions correctives afin de rétablir un bon fonctionnement du
système en corrélation avec les objectifs assignés.
Ces nuances sont remarquées par qui soulignent la distinction entre la mesure de
performance et la gestion de performance; la mesure de performance concerne le choix des
bons indicateurs et la manière de les renseigner, la gestion de performance emploie ces
indicateurs comme support à la réalisation des objectifs stratégiques l’entreprise.
I.5.3. Principaux indicateurs du SCM :
I.5.3.1. Degré de partenariat : communication, coordination, coopération,… :
Divers degrés d’entente entre partenaires d’une chaîne logistique peuvent être mis en
évidence : « communication », « coordination », « coopération » et « collaboration ». Ils
dépendent de deux facteurs [FRAN 07] :
Le type d’informations ou de traitements mis en commun par les partenaires.
La façon d’échanger ou de partager ces informations entre les deux partenaires.
I.5.3.2. La réduction des coûts :
La réduction des coûts sur l’ensemble de la chaîne est une des principales priorités des
chaînes logistiques, elle permet de réduire le prix des produits finis et ainsi de chercher à
acquérir de nouvelles parts de marché, et d’avoir des bénéfices.
I.5.3.3. La réduction du délai de livraison :
Une entreprise doit réagir au plus vite face aux variations du marché afin d’en tirer des
bénéfices.
I.5.3.4. Taux de service :
Correspond au pourcentage de produits livrés à temps dans les références et quantités
requises, par rapport à la demande exprimée par un client [Net 1].
I.5.3.5. Taux de disponibilité d'un équipement ou d'un système :
C’est une mesure de performance qu'on obtient en divisant la durée durant laquelle
l’équipement ou système est opérationnel par la durée totale durant laquelle on aurait souhaité
qu'il le soit. Elle est exprimée sous forme de pourcentage [Net 1].
22
Chapitre I Les chaînes logistiques
I.6.Conclusion :
Dans ce chapitre, nous avons pu voir que la gestion de la chaîne logistique est un
ensemble de processus dont la mise en œuvre implique que les différents acteurs de la chaîne
communiquent et collaborent pour améliorer les performances industrielles.
La collaboration d’entreprises et la communication entre les acteurs des chaînes
logistiques est primordiale et peut être positionnée sur différents niveaux décisionnels.
Ainsi, la planification d’activités ou d’approvisionnement, apparaît comme un des
éléments essentiels d’une bonne gestion.
La modélisation des systèmes nous permet de comprendre la structure et le
fonctionnement de sa chaine logistique. La bonne modélisation des processus dans une chaîne
logistique est un point de départ pour tout projet d’organisation industrielle réussi en termes
de fonctionnement et de gestion.
Parmi les solutions informatiques mises en place pour la modélisation, nous avons les
SMA qui font l’objet du prochain chapitre.
23
Chapitre II :
Les systèmes multi agents
Chapitre II Les systèmes multi agents
II.1. Introduction :
L’intelligence artificielle (IA) s’inspire du raisonnement de l’être humain ou sa façon de
concevoir des modèles, il l’est transcrit sous forme d’agent intelligent.
L’intelligence Artificielle Distribuée (IAD) consiste à distribuer l’expertise au sein d’une
société d’entités appelées agents dont le contrôle et les données sont distribués, d’où le
principal intérêt du paradigme multi-agents : ne pas uniquement concevoir des entités
intelligentes, mais aussi mettre ces entités en relation de manière intelligente.
Le principe des systèmes multi agents (SMA) est de partager et de distribuer la
connaissance et la capacité de raisonnement entre plusieurs agents. Chacun de ses agents est
spécialisé dans un sous domaine du domaine du départ. Ce qui lui permet selon les ressources
dont il dispose, de résoudre partiellement ou tout le problème, d’améliorer sa solution et de
compléter les données qui lui manquent. Ces tâches se font par communications entres les
agents.
Dans la première partie de ce chapitre, nous présentons les notions d’agent et de SMA,
nous abordons dans la seconde partie les types d’interactions et la communication entre les
agents. Enfin, nous verrons les protocoles d’interactions, en particulier, la négociation.
II.2. Le concept d’agent :
II.2.1. Définition d’un agent :
On appelle agent une entité physique ou virtuelle [FERB 95]
a) qui est capable d’agir dans un environnement,
b) qui peut communiquer directement avec d’autres agents,
c) qui est mue par un ensemble de tendances (sous la forme d’objectifs individuels ou d’une
fonction de satisfaction, voire de survie, qu’elle cherche à optimiser),
d) qui possède des ressources propres,
e) qui est capable de percevoir (mais de manière limitée) son environnement,
f) qui ne dispose que d’une représentation partielle de cet environnement (et éventuellement
aucune),
g) qui possède des compétences et offre des services,
h) qui peut éventuellement se reproduire,
i) dont le comportement tend à satisfaire ses objectifs, en tenant compte des ressources et
des compétences dont elle dispose, et en fonction de sa perception, de ses représentations
et des communications qu’elle reçoit.
25
Chapitre II Les systèmes multi agents
Un agent a trois capacités qui forment une boucle : la phase d’action modifie
l’environnement, ce qui peut provoquer la naissance de nouveaux messages, lesquels seront à
nouveau perçus par l’agent. La figure I.1 présente ces trois phases. [BOUR 98]
Cognition
Action
Perception
Figure 3 : Schéma de réalisation d’une tâche par un agent [BOUR 98].
L’agent peut donc entreprendre différentes actions : percevoir une partie de son
environnement ; agir sur son environnement (autonome) ; produire un raisonnement, en vue
d’une action, d’une adaptation ou d’un résultat ; communiquer et coopérer.
II.2.2. Caractéristiques et propriétés d’un agent :
L’avancement des travaux en IAD et SMA a conduit les chercheurs à définir la notion
d’agent mais aussi quelques-unes de ces caractéristiques. Il peut être [Net 3] :
1) Autonome : Son comportement est fonction de ses perceptions qui agisse sur son état, et
de sa représentation de l’environnement dans lequel il évolue. Aucun super contrôleur ne
peut le piloter de l’extérieur.
2) Proactif : Il peut prendre des initiatives afin de satisfaire ses buts. Pour se faire, il n’est pas
soumis à l’invocation d’une autre entité pour agir mais peut agir sur sa propre initiative.
3) Flexible : Il adapte son comportement à sa perception de son environnement et peut
participer à des organisations (groupe) afin de mieux satisfaire son but.
4) Social : Il a la capacité d’interagir pour atteindre ses buts ou pour aider d’autres agents
dans leurs activités.
5) Situé : Capacité à percevoir un l’environnement au travers de métriques spatio-temporels
dans lequel il peut agir de façon limitée.
6) intentionnel : c’est un agent guidé par ces buts. Une intention est la déclaration explicite
des buts et des moyens d’y parvenir. Elle exprime donc la volonté d’un agent d’atteindre
un but ou d’effectuer une action.
Comme il peut être : [CAGL & al 97]
7) rationnel : Les agents rationnels disposent de critères d’évaluation de leurs actions, et
sélectionnent selon des critères les meilleures actions qui leur permettent d’atteindre le
but. De tels agents sont capables de justifier leurs décisions. La notion de rationalité se
26
Chapitre II Les systèmes multi agents
rapporte au comportement cognitif de l’agent. Ce terme qualifie l’utilisation efficace des
ressources par un agent.
8) Engagement : elle est l’une des qualités essentielles des agents coopératifs. Un agent
coopératif planifie ses actions par coordination et négociation avec les autres agents. En
construisant un plan pour atteindre un but, l’agent se donne les moyens d’y parvenir et
donc s’engage à accomplir les actions qui satisfont leurs buts.
9) adaptatif : il est un agent capable de contrôler ces aptitudes (communicationnelles,
comportementales, etc.). Un agent adaptatif est un agent de haut niveau de flexibilité.
II.2.3. Classification des différents types d’agents :
On observe différents types d’agents aux attributs spécifiques [QUIN & al 05]:
Les agents stationnaires : privilégiant un dialogue avec les bases de données
Les agents mobiles : capables de se déplacer sur le réseau
Les agents réactifs : agissant en grand nombre pour voir émerger des organisations
complexes (image de la fourmilière)
Les agents cognitifs : possédant des capacités de planification, de communication évoluée
(intentionnalité de l’agent BDI : croyances, désirs et intentions).
Les agents hybrides : combinent les deux philosophies: cognitif et réactif, au sein d'un
même agent, afin de « réagir en réfléchissant ».
Les agents interfaces : interagissant avec l'utilisateur selon un couple <agent, utilisateur>
où l’utilisateur est engagé dans un processus coopératif
D'autres types d’agents spécifiques au service web (mobile ou non) sont proposés : Les
agents de recherche du Web, Les agents serveur du Web, Les agents de filtrage
d’informations, Les agents de recherches documentaires. [CAGL &al 97]
II.2.4. Différentes catégories et modèles d’agents :
Après avoir défini les agents, nous présentons dans cette partie les différents modèles
d’agents, afin de comprendre leurs caractéristiques et leurs modes de fonctionnement. Nous
distinguons deux grandes familles d’agents : les agents réactifs et les agents cognitifs.
II.2.4.1. Agents cognitifs :
C’est le premier modèle d’agents qui a été proposé. Il est nommé aussi agent délibératif.
Il permet de planifier les actions d’un agent au sein de son environnement.
Généralement, ils coopèrent les uns avec les autres pour atteindre un but commun. Ils
réagissent en fonction de leurs connaissances, leurs buts, de leurs échanges d’informations
27
Chapitre II Les systèmes multi agents
avec les autres agents et de la perception de l’environnement. Ils sont dotés de moyens et
mécanismes de communication pour gérer les interactions avec d’autres agents (coopération,
coordination et négociation) [KHEZ 05].
Perception
Base de
connaissance Réception des
Inférence et messages
décision Environnement
Actions
Buts, plans et Emission des
intentions messages
Figure 4 : Le modèle d’un agent cognitif.
L’agent cognitif traite généralement des informations qualitatives. Ces traitements
peuvent être établis par l’intermédiaire des outils comme les Classifieurs Génétiques/
Neuronaux (CG/ CN) ou des Systèmes d’Expert (SE). Ces agents peuvent utiliser des
mécanismes comme les systèmes à base de raisonnement par cas « Case Based Reasoning »
(CBR), les systèmes à base de connaissances « Knowledge Base System » (KBS), les théories
des jeux «Game Theory» (GT).
II.2.4.2. Agents réactifs :
Perception
Environnement
Fonction « reflexe »
Stimulus / action
Actions
Figure 5 : Le modèle d’un agent réactif.
Ces agents ne font pas de planification de leurs actions. Ce sont des agents qui réagissent
uniquement à leur perception de l’environnement et qui agissent en fonction d’elle. Ils traitent
généralement des informations quantitatives tout en utilisant des calculs élémentaires ou
d’optimisation, ils sont les plus simples à implémenter, mais ils présentent toutefois des
limites dues aux points suivants [KHEZ 05]:
L’agent n’a pas la représentation mentale de l’environnement, et doit choisir ses bonnes
actions à partir des données locales uniquement,
Il n’est pas toujours possible de concevoir un comportement en fonction du but spécifié.
28
Chapitre II Les systèmes multi agents
II.2.4.3. Agents hybrides :
Coopération Connaissances sociales
Planification Connaissances planification locale
Comportement Modèle de l’environnement
Interface avec l’environnement
Perception Action
Figure 6 : Le modèle d’agents InteRRap
Les agents hybrides sont conçus pour combiner des capacités réactives à des capacités
cognitives, ce qui leur permet d’adapter leur comportement en temps réel à l’évolution de
l’environnement. Dans le modèle hybride, un agent est composé généralement de trois
couches. Au plus bas niveau, on retrouve habituellement une couche purement réactive. La
couche intermédiaire fait abstraction des données brutes et travaille plutôt avec une vision des
connaissances de l’environnement. Finalement, la couche supérieure se charge des aspects
sociaux de l’environnement (communication, coopération, négociation). Le modèle InteRRap
proposé par Müller et Pischel, figure parmi les exemples du modèle hybride. [KHEZ 05]
II.3. Le concept des systèmes multi agents :
I.3.1. Définition des SMA :
On appelle système multi-agent (ou SMA), un système composé des éléments suivants
[FERB, 95]:
a) Un environnement, c’est-à-dire un espace disposant généralement d’une métrique.
b) Un ensemble d’objets situés dans l’espace. Ces objets sont passifs, c’est-à-dire qu’ils
peuvent être perçus, créés, détruits et modifiés par les agents.
c) Un ensemble d’agents, qui représentent les entités actives du système.
d) Un ensemble de relations qui unissent des objets (et donc des agents) entre eux.
e) Un ensemble d’opérations permettant aux agents de percevoir, produire, consommer,
transformer et manipuler des objets.
f) Des opérateurs chargés de représenter l’application de ces opérations et la réaction du
monde à cette tentative de modification, que l’on appellera les lois de l’univers.
29
Chapitre II Les systèmes multi agents
Suivant les cas, les comportements des agents sont plus ou moins complexes et rationnels
et l’organisation est plus ou moins adaptative. Les agents sont en général situés dans un
environnement (par exemple, topologique) contenant également des entités passives,
manipulées par les agents (par exemple, des ressources, des données, des objets physiques…)
et communément appelées objets. Chaque agent n’a qu’une connaissance partielle de son
environnement et des autres agents. Un système multi-agent est donc intrinsèquement
décentralisé [BRIO & al 01].
I.3.2. Les étapes de la réalisation d’un SMA : [FERB 09]
1. Déterminer les agents et l’environnement
2. Décrire les lois de l’environnement
3. Identifier les perceptions et les influences (actions) produites par les agents
4. Déterminer les variables internes et capacités des agents
5. Définir les comportements des agents: Si les agents sont cognitifs: décrire la relation entre
croyances, buts et actions et si les agents sont réactifs: décrire les stimuli, les tropismes
(attraction, répulsion, évitement) ainsi que les tâches (combinaisons d’actions
élémentaires).
I.3.3. Objectifs de travailler au niveau d’un système multi agents :
Définir et maîtriser différents modes d’interaction entre agents applicables dans la
résolution de nombreux problèmes : la coexistence, la coordination, la coopération, la
collaboration, la compétition, l’émergence, l’adaptation à la réalité, l’intégration d’expertise
incomplète, la modularité, l’efficacité, la fiabilité, la réutilisation. [Net 3]
I.3.4. Caractéristiques d’un SMA : [BRIO & al 01]
Chaque agent a des informations ou des capacités de résolution de problèmes limitées,
ainsi chaque agent a un point de vue partiel.
Il n'y a aucun contrôle global du système multi agents.
Les données sont décentralisées.
Le calcul est asynchrone.
Un SMA peut-être [BOUR 98]:
- Ouvert : les agents y entrent et en sortent librement (ex: un café)
- Fermé : l'ensemble d'agents reste le même (ex: un match de football)
- Homogène : tous les agents sont construits sur le même modèle (ex: une colonie de
fourmis)
30
Chapitre II Les systèmes multi agents
- Hétérogène : des agents de modèles différents, de granularité différentes (ex:
l'organisation d’une entreprise)
I.3.5. Niveaux d’organisation : [FERB 95]
On peut distinguer trois niveaux d’organisation dans les systèmes multi-agents :
a) Le niveau micro- social : on s’intéresse aux interactions entre agents et aux différentes
formes de liaison qui existent entre un petit nombre d’agents.
b) Le niveau des groupes : on s’intéresse aux structures intermédiaires et on étudie les
différenciations des rôles et des activités des agents, l’´emergence de structures
organisatrices entre agents.
c) Le niveau des sociétés globales (ou populations) : l’intérêt se porte surtout sur la
dynamique d’un grand nombre d’agents, ainsi que sur la structure générale du système et
son évolution.
I.3.6. Différents types des SMA :
Les différents systèmes existants peuvent être composés d’agents réactifs ou cognitifs,
suivant le problème traité. Ces systèmes peuvent appartenir a trois grandes catégories : Les
systèmes multi experts, les systèmes multi robot et les systèmes multi agents de simulation.
[MULL 02].
Les systèmes multi experts vont modéliser l’interaction de plusieurs agents cognitifs,
spécialistes de leur domaine et requis pour l’accomplissement d’une tache complexe.
Dans ce cas, les agents sont virtuels, ils n’existent pas physiquement.
Les systèmes multi robots sont des systèmes regroupant des agents artificiels ayant une
existence physique et engagée dans uns tache commune. Ce sont des robots chargés de
tache collective, comme le ramassage de minéral, …
Les systèmes de simulation sont des systèmes qui servent de support à la modélisation de
phénomènes de sociétés animales, en particulier en biologie et en éthologie. Dans ce cas,
les agents concernés sont des agents réactifs et les simulations vont concerner des modèles
biologiques à tester, comme la reproduction, ou l’influence des contraintes
environnementales sur la société animale ou cellulaire.
Les systèmes multi-agent sont actuellement en plein essor. Il s’agit d’une nouvelle
approche qui s’intéresse aux comportements individuels, aux interactions entre des entités
autonomes et à l’émergence au niveau supérieur de l’ensemble du système de comportement
complexe. Le formalisme de cette approche n’est pas encore fixé et fait l’objet de recherches.
31
Chapitre II Les systèmes multi agents
Les applications très diverses des systèmes multi-agent ne facilitent pas la définition d’un
formalisme définitif tant sur les principes que sur l’architecture des développements
informatiques. [MULL 02]
II.4. Les interactions et communications :
L'agent fournit une structure spécifiant les protocoles de communication et d'interaction.
L'environnement dans lequel l’agent évolue est ouvert, non centralisé et contient des agents
autonomes et distribués qui peuvent agir soit pour leur intérêt personnel, soit en coopération
avec les autres agents de l'environnement.
II.4.1. Définition d’interaction :
Une interaction est la mise en relation dynamique de deux ou plusieurs agents par le biais
d’un ensemble d’actions réciproques. Les interactions sont non seulement la conséquence
d’actions effectuées par plusieurs agents en même temps, mais aussi l’élément nécessaire à la
constitution d’organisations sociales. [FERB 95]
Les interactions sont variées et différentes selon le type d’agent et d’organisation. Nous
pouvons trouver des interactions de coopération, de compétition et de coordination entre les
agents. La coopération est nécessaire à un agent pour atteindre un de ses buts. La
coordination, quant à elle, permet d'améliorer le fonctionnement global du système.
II.4.2. Différentes formes d’interaction : [Net 3]
Interaction directe : Un agent communique par envoi de messages asynchrone vers un
autre agent ou ensemble d’agents.
Interaction indirecte : la communication est réalisée au travers de l’environnement.
II.4.3. Types de messages :
Pour communiquer, les agents doivent pouvoir envoyer et recevoir des messages à travers
un réseau de communication. L’agent peut avoir les rôles passif, actif (les deux) et les
fonctions de maître, esclave.
Dans ce contexte, les messages peuvent être de différents types. Les 2 types minimaux
sont la requête et la réponse. N’importe quel agent (quel que soit son rôle) peut accepter ou
refuser un message et donc recevoir une assertion. Pour tenir un rôle passif, un agent doit être
capable de répondre, i.e. accepter une question externe et envoyer la réponse à la source
(assertion).
32
Chapitre II Les systèmes multi agents
Pour tenir un rôle actif, un agent doit pouvoir poser une question et faire des assertions. Il
peut ainsi contrôler un autre agent par le biais des questions/réponses. Dans un
fonctionnement de pair, l’agent a les deux rôles. La théorie des actes de langages a mis en
évidence une typologie des messages. [HASS 09]
II.4.4. Niveaux de communication :
Les protocoles de communications sont définis à plusieurs niveaux. Le plus bas définit les
méthodes d’interconnexion, celui intermédiaire, le format, la syntaxe ou le type de transfert ;
au plus haut on retrouve la compréhension et la sémantique, cette dernière faisant référence
(entre autres) au type du message. Un protocole peut être binaire ou n-aire, on peut le définir
avec une structure de donnée à 5 champs : émetteur, le ou les récepteur, le langage du
protocole, l’encodage et le décodage des informations, les actions à entreprendre par le (les)
récepteurs. [HASS 09]
II.4.5. Définition de la COORDINATION dans les SMA :
Processus par lequel un ou plusieurs agents résonnent sur leurs actions locales et sur les
actions des autres (par anticipation) pour assurer la cohérence des actions [JENN 96].
D’un point de vue multi agents, l’objectif de la coordination est de s’assurer que les
activités des agents permettent de résoudre toutes les composantes du problème globales, les
interactions entre les agents sont cohérentes et s’intègrent dans la solution globale, les groupes
définis sont cohérents. [LESS 98]
La coordination est la propriété d’un système d’agents accomplissant une activité en
environnement partagé. L’objectif est d’avoir un système plus cohérent. Le degré de
coordination peut être envisagé comme la quantité d’activités supplémentaires nécessaire pour
éviter les activités redondantes. La coopération est la forme de coordination entre agents non
antagonistes ; à l’inverse la négociation correspond à la coordination en univers compétitif ou
entre agents «égoïstes ». [HASS 09]
II.4.6. Définition de la COLLABORATION dans les SMA :
La collaboration est caractérisée par trois espaces tels que l'espace de communication,
l'espace de coordination et l'espace de production.
Une collaboration est un travail en commun; un travail entre plusieurs personnes ou
agents qui produisent un résultat commun (produit final). Pour mener ce travail
convenablement, les agents doivent se coordonner et communiquer ensemble. Pour
coordonner, les agents doivent suivre l'activité des autres participants pour l'utilisation et le
33
Chapitre II Les systèmes multi agents
partage de la ressource commune. La coordination peut aussi avoir lieu à travers la
communication entre agents. Suite à ceci, la communication entre les différents membres de
l'équipe est primordiale pour le succès du travail collaboratif. [KHEZ 05]
II.4.7. Définition de la COOPERATION dans les SMA :
Les agents travaillent à la satisfaction d’un but commun, ou individuel dans le but
d’améliorer le mode de travail des agents en termes de [Net 4]:
Validité et rationalité des informations échangées et des comportements,
Efficacité des stratégies de résolution employées,
Cohérence entre planification locale et globale,
Rééquilibrage dynamique de la charge de travail.
Donc la coopération = collaboration + coordination + résolution de conflits avec l’ajout
des techniques de négociation qui sont utilisées pour limiter les effets des conflits qui
apparaissent. [Net 3]
II.4.7.1. Types de coopération : [Net 5]
1. Coopération confrontative : La tâche est réalisé par des agents différents (par leur
performances ou par leur point de vue); les résultats sont ensuite fusionnés.
2. Coopération augmentative : La tâche est réalisée par des agents ayant les mêmes
compétences, mais travaillant sur des données complémentaires. Le résultat est obtenu
comme un ensemble de résultats partiels.
3. Coopération intégrative : La tâche est décomposée en sous tâche dont la réalisation
(coordonnée) est effectuée par des agents aux compétences spécifiques. Le résultat est
obtenu à la finalisation de l’exécution.
II.4.8. Actes de langage :
La théorie des actes de langage est un cadre d’analyse des échanges langagiers entre
humains. Elle considère la communication comme des actions de requêtes, suggestion,
engagement, réponse, etc. Un acte de langage possède 3 caractéristiques : la locution (le
phénomène physique), l’illocution (l’intention que veut faire comprendre le locuteur en
faisant cette phrase) et la perlocution (l’action qui résulte). [HASS 09]
Les actes de langages sont une façon de définir le type des messages et de contraindre la
sémantique de la communication.
34
Chapitre II Les systèmes multi agents
I.4.8.1. KQML (Knowledge Query and Manipulation Language):
KQML est un protocole pour échanger de l’information entre agents. Son principal atout
est que tout ce qui est nécessaire à la compréhension du message est inclus dans le message
lui-même. [HASS 09]
I.4.8.2. Knowledge Interchange Format (KIF):
KIF est un langage logique pour la description dans le cadre de systèmes experts, bases de
données, ... Il a été conçu comme langage intermédiaire, lisible par un programme et par un
humain. La description du langage inclut une spécification pour la syntaxe et une pour la
sémantique. KIF reste un langage se fondant sur la logique du 1er ordre. [HASS 09]
II.4.9. Protocoles d’interaction :
Dans la section précédente, il s’agissait de définir la communication entre les agents
(Echange d’un seul message). Cette section s’attache quant à elle à la description des
protocoles d’interaction (Echange d’une série de messages (conversation)). Il y a deux types
d’interactions [HASS 09]:
Agents concurrents : il faut maximiser l’utilité de chaque agent.
Agents ayant des buts semblables ou des problèmes communs : Les aspects importants de
ce type d’interaction sont : déterminer les buts communs, déterminer les tâches
communes, éviter les conflits et mettre en commun les connaissances.
II.4.9.1. Les protocoles de coordination :
Dans des environnements ou les ressources sont limitées, l’utilisation de la coordination
se traduit par un comportement individuel visant à servir ses propres intérêts tout en essayant
de satisfaire le but global du système. Pour produire des systèmes coordonnés, il faut
distribuer le contrôle et les données. La distribution du contrôle se traduit par une autonomie
de chaque agent dans ses actions et dans ses choix de sous-but. Le principal désavantage de
cette distribution est la répartition dans tout le système de connaissance, c’est à dire chaque
agent n’a qu’une vision locale de l’ensemble, ce qui provoque un accroissement de
l’incertitude au niveau des actions de chaque agent. [HASS 09]
II.4.9.2. Les protocoles de coopération :
Stratégie élémentaire : décomposer et distribuer les tâches (Diviser pour régner). Le
système doit choisir parmi les décompositions possibles et doit considérer les ressources et les
possibilités de chacun des agents. La décomposition peut être effectuée par le concepteur, par
35
Chapitre II Les systèmes multi agents
les agents en utilisant une planification hiérarchique ou être directement liée à la nature du
problème. [HASS 09]
II.4.10. Négociation :
La négociation est un processus par lequel une décision commune à deux agents ou plus
est prise ; chacun d’entre eux essayant d’atteindre leurs buts ou objectifs personnels. Les
agents communiquent leur position (source du conflit) et se déplacent en faisant des
concessions et en cherchant des alternatives.
Les principaux éléments sont le langage utilisé par les agents, le protocole suivi par les
agents lors des négociations et le processus utilisé par chaque agent pour déterminer sa
position, les concessions possibles et les critères d’accord. [HASS 09]
II.5. La négociation dans les SMA :
Dans les SMA, la négociation est un processus par lequel des agents résolvent leur
conflits satisfaire au mieux leurs intérêts respectifs en coordonnant leurs actions, se partageant
des ressources limitées, faisant valoir leurs points de vue différents.
II.5.1. Définition de la négociation :
Définition1 : La négociation est un processus de communication d'un groupe d'agents
permettant d'atteindre un accord mutuellement accepté ..." [ESPI 08].
Remarque : pour négocier les agents doivent raisonner sur les croyances, désirs et
intentions des autres agents avec l’usage de divers techniques d'IA et de mathématiques
(logique, raisonnement par cas, révision de croyances, optimisation, théorie des jeux, ...
Définition 2 : une négociation est un octuple (G,R,P,L,S,G,H,Ct) où : [MATH & al 00]
1) G est l’ensemble des individus impliqués dans la négociation.
2) R est l’ensemble des ressources disponibles.
3) P est un ensemble de relations de préférences locales à chaque agent.
4) L est l’ensemble des actes de langage autorisés pour la négociation.
5) S est un ensemble de règles de séquencement.
6) G est un graphe dont les nœuds sont des règles de séquencement
7) H est l’histoire de la négociation
8) Ct est un contrat qui est l’objet de la négociation.
En outre, la mise en œuvre de la négociation entre agents doit respecter les
caractéristiques suivantes [MATH & al 00] :
Les intervenants doivent pouvoir être indifféremment humains ou logiques.
36
Chapitre II Les systèmes multi agents
Ils doivent tous utiliser le même langage pour communiquer.
La communication doit être asynchrone et banalisée.
Un agent ne doit pas avoir accès à la totalité de la connaissance des autres agents.
Si une proposition de contrat n'est pas acceptée, l'agent doit être capable de modifier
d'autres contrats et de négocier la modification de contrats des autres interlocuteurs.
Plusieurs négociations simultanées doivent être possibles.
Certains contrats doivent être plus prioritaires que d'autres.
Certains participants doivent être plus prioritaires que d'autres.
L'humain peut commencer la négociation, laisser son agent continuer un certain temps
puis reprendre la négociation sans que les autres intervenants ne se rendent compte du
changement.
Le système ne doit pas se bloquer.
II.5.2. Objectif de la négociation dans les SMA :
La Négociation est largement utilisée dans les SMA pour [ESPI 08]:
L’allocation de tâches ou de buts, la résolution de conflits, la définition de structures, la
planification,…etc.
II.5.3. Grands types de négociation : [ESPI 08]
I.5.3.1. Négociation compétitive (Competitive negotiation):
Les agents d'intérêts différents tentent un choix de groupe sur des alternatives bien
définies.
Ils ont des buts indépendants et interagissent entre eux.
Ils sont a priori pas coopératifs, en compétition mais partagent de l'information
Ex: achats-ventes sur le Web, accès à une ressource commune, planification de rendez
vous, partage de tâches, Commerce électronique, etc.
I.5.3.2. Negotiation cooperative (Cooperative negotiation):
Les agents ont un but commun unique, les agents sont collaboratifs, ils coopèrent.
Ex: le contrôle aérien, collaboration de stratégies dans le domaine des batailles navales
pour définir la meilleure tactique, ...
II.5.4. Composantes du modèle de négociation dans les SMA : [ESPI 08]
Langage de négociation : composé d'un ensemble de primitives de communication
précisant la manière dont les agents communiquent
37
Chapitre II Les systèmes multi agents
protocole de négociation : ensemble des règles qui régit la négociation (propositions
légales, états de la négociation)
objets de négociation : c'est sur ces objets que porte la négociation (exemple prix, délai,
temps de réponse)
processus de décision : c’est le cœur de fonctionnement et l'intelligence de la
négociation, il oriente la stratégie de l'agent au cours de la négociation, la stratégie peut
être entièrement définie et immuable, ou alors modifiable en fonction des stratégies des
autres agents (observation, supposition).
La cardinalité des participants de la négociation : négociation un-à-un, un-à plusieurs,
plusieurs-a-plusieurs.
II.6. Conclusion
Dans ce chapitre nous avons détaillé les différents concepts concernant les agents et les
systèmes multi agents avec leurs fonctions.
Après avoir connaitre tout celui ci, les agents doivent coordonner leurs actions et avoir
des mécanismes pour la résolution des conflits. Le mécanisme favori pour la résolution des
conflits et la coordination, inspiré du modèle des humains, est la négociation.
Dans le chapitre suivant nous allons détailler notre conception et modélisation de notre
problème par l’utilisation des différents diagrammes.
38
Chapitre III :
Conception et
modélisation
Chapitre III Conception et modélisation
III.1. Introduction
Nous avons vu précédemment en détail les chaînes logistiques, les systèmes multi-agents
et la notion de coopération entre agents, par la suite, nous proposons le concept multi-agents
comme support au système décisionnel au niveau des acteurs de la chaîne.
Considérant que chaque agent dispose d'une certaine mesure de ses actions, nous allons
essayer à travers notre modèle de négociation de bien satisfaire les attentes des clients et
fournisseur en bien gérant la quantité des produits au niveau des stocks.
Dans ce chapitre, nous décrivons le modèle de coopération ainsi que les propriétés des
agents mis en place.
En effet, la réalisation d’un SMA pour la gestion d’une chaîne logistique dans l’industrie
nous a permis à mettre au point un modèle de négociation qui devra être avant tout un
mécanisme de bonne gestion des stock appartenant aux acteurs de la chaîne.
Il faut donc identifier les différents scénarios de négociation possibles auxquels les agents
font face et mettre en place le modèle de négociation afin qu’il puisse traiter ces différents
scenarios.
Comme notre modèle se base sur la décision coopérative, nous disposons un ensemble de
primitives de base qui établissent les interactions entre les agents qui caractérisent notre
chaîne logistique «client, fournisseur et producteur» telles que l’envoie de demandes de
commandes par un client avec des exigences bien précises. Le fournisseur doit répondre à ces
critères mais selon ses données, pour cela, la création d’un agent superviseur à eu lieu pour
vérifier les produits commandés et satisfaire le client au niveau du prix, quantité et délai de
livraison. Nous détaillerons par la suite ces primitives par des diagrammes qui schématiseront
mieux leurs fonctionnements.
III.2. Architecture générale de l’application :
La structure multi-agents du modèle est caractérisée par deux types d’agents : l’agent
superviseur qui a une vue globale de la chaîne d’approvisionnement et les agents acteurs de
la chaîne qui sont : le client, le fournisseur et le producteur où chaque agent envoie des
commandes selon ses besoins et ses exigences.
Afin d’aboutir à une gestion logistique optimale, les agents du système coopèrent leurs
actions dès l’arrivée d’une nouvelle commande de produits jusqu'à la fin de la vérification des
stocks et des préférences. L’application est composée d’agents acteurs coopérant leurs actions
40
Chapitre III Conception et modélisation
sous le contrôle d’un agent superviseur, l’ensemble des agents communique via une interface
d’application.
III.3. Composants et structure de l’application :
L’agent superviseur a comme mission principale d’assurer la stabilité du système (la
chaîne logistique), il fonctionne et réagit selon le type de l’agent acteur de la chaîne, il est
responsables de l’authentification de se dernier, de la vérification de commande par
l’utilisation de l’interaction par négociation, comme il a un rôle dans la mise à jour des stocks
pour assurer une bonne gestion.
L’agent acteur est subdivisé en trois types, chaque type dés son arrivé a le droit de
s’inscrire sur cette plate forme dans le cas où c’est la première fois, ou il s’authentifie s’il est
déjà inscrit. Cette authentification est assurée par une interaction de cette agent et l’agent
superviseur par des envoies de messages.
Le premier acteur de la chaîne est le producteur (en termes de matière première et de
produit fini), il se caractérise par un comportement d’un agent qui utilise cette plate forme
dans le cas où il veut mettre à jour son stock de produit en termes de type, quantité en
exigeant le prix et le délai de livraison offert.
Le deuxième est le fournisseur (en terme de vendeur de grande quantité au détaillant
/grossiste/), il se caractérise par deux comportements, le premier est le même que celui du
producteur, mais le deuxième est un comportement de négociation pur, dans le cas où il veut
faire une commande comportant plusieurs produits (appartenant au différents producteurs), il
négocie au premier la quantité voulu, il faut qu’elle ne soit pas grande (superviseur impose
une quantité maximale), puis il négocie sur le prix et le délai de livraison (il faut qu’il soient
les minimums).
Le troisième et le dernier acteur de cette chaîne est le client, il a un comportement comme
le deuxième comportement du fournisseur.
III.4. Les cas de négociation dans notre application :
Pour notre cas le diagramme s’appuie généralement des messages envoyés par les agents
à d’autres agents, pour le client et le fournisseur ont le même comportement lorsqu’il s’agit
d’une commande des produits, pour le fournisseur et le producteur ont le même
comportement lorsqu’il s’agit d’une mise à jour de leur stock, mais concernant le
comportement commun entre les trois c’est le cas de l’inscription et de la connexion.
41
Chapitre III Conception et modélisation
Tous les traitements effectués dans notre application, nous l’avons fait par l’utilisation du
principe des SMA, dont le fonctionnement général de notre traitement est basé sur
l’interaction coopérative par envoie de message entre agent superviseur et agent acteur, où la
négociation apparait bien au niveau de gestion et vérification de la commande.
L’agent superviseur fixe au début une valeur maximale de la quantité commandée, si
l’agent acteur demande une quantité supérieure, le superviseur lance sa négociation et lui
propose de prendre soit la quantité maximale ou moins.
On voit aussi la négociation dont le cas où la quantité demandée par l’agent acteur est
inferieur à la valeur imposée, dans ce cas le superviseur lui propose les offres disponibles où
leur quantité est supérieure ou égale à la quantité du produit dans le stock.
III.5. Conception des différents niveaux de l’application :
III.5.1. Conception de la BDD :
Pour établir le Modèle Conceptuel des Données (MCD) de la BDD de notre application,
nous avons utilisé le modèle entité-association (E/A).
Le modèle Entité-Association (E/A) :
Le modèle E/A est aussi fréquemment nommé Entité-Relation et parfois Entité-Relation-
Attribut. Il propose des concepts (principalement les entités, les associations et les attributs)
permettant de décrire un ensemble de données relatives à un domaine défini afin de les
intégrer ensuite dans une BDD. Notre MCD est présentée dans la figure 7:
42
Chapitre III Conception et modélisation
Figure 7 : Le modèle E/A de notre base de données.
III.5.2. Conception UML :
Pour décrire la conception finale de notre logiciel, nous avons adopté la méthode UML et
ses différents diagrammes qui permettent une vision à la fois abstraite et concrète de
l'application.
III.5.2.1. Les cas d'utilisation de notre application :
On s’appuie exclusivement sur le diagramme des cas d’utilisation, qui est utilisé dans
l’activité de spécification des besoins. En somme, ces diagrammes sont une représentation des
foncions du système du point de vue de l’utilisateur.
Les acteurs principaux : on trouve évidemment le client, le fournisseur, le producteur
(qui sont en générale un utilisateur) et l’agent superviseur.
Les cas d’utilisations : on compte en totalité, 18 cas d’utilisations selon l’arrivée des
acteurs.
43
Chapitre III Conception et modélisation
Figure 8 : Le diagramme use case de notre application.
III.5.2.2. Le mode de représentation statique ou structurel :
Il s’appuie sur les diagrammes de classe, de déploiement et de composants.
Le diagramme de classe est le point central dans un développement orienté objet. En
analyse, il a pour objet de décrire la structure des entités manipulées par les utilisateurs.
Dans notre cas on cite : Client, Fournisseur, Producteur, Superviseur qui font référence à
d’autres entités comme Commande, Produit, etc.
44
Chapitre III Conception et modélisation
Figure 9 : Le diagramme de classe de notre application.
III.5.2.3. Le mode de représentation dynamique ou comportemental :
Il s’appuie sur les diagrammes d’activités, d’états-transitions, de séquence et de
collaboration.
Le diagramme de séquence : Il représente les échanges de messages entre objets, dans le
cadre d’un fonctionnement particulier du système. Les diagrammes de séquence servent
d’abord à développer en analyse les scénarios d’utilisation du système.
Figure 10 : Le diagramme de séquence de la mise à jour de stock de producteur
(idem pour le fournisseur).
45
Chapitre III Conception et modélisation
Accéder au compte
Figure 11 : Le diagramme de séquence de l'authentification de l'utilisateur
(agent acteur) par l'agent superviseur.
Figure 12 : Le diagramme de séquence de la négociation entre l'agent superviseur et le
client (idem pour le fournisseur).
46
Chapitre III Conception et modélisation
où qt_s : quantité du produit dans le stock.
qt_d : quantité demandée par l’utilisateur.
X : valeur maximale de la quantité demandée imposée par le superviseur.
III.6. Conclusion
Dans ce chapitre, nous avons décrit le fonctionnement de notre application ainsi que sa
structure et cela en passant en revue l’architecture de tous les agents faisant partie du système.
Les organigrammes et diagrammes présentés résument toutes les étapes de conception de
méthodologie de résolution de notre problème.
Dans le chapitre suivant, nous présenterons les différents scénarios de la négociation ainsi
que les stratégies de négociations lancées par les agents.
47
Chapitre IV :
Implémentation
Chapitre IV Implémentation
IV.1. Introduction
Cette partie consiste à décrire le prototype conçu en utilisant un langage de
programmation, un SGBD et une plateforme multi-agents. Donc avant de voir en détail le
développement de notre application, nous devons énumérer et justifier les choix techniques
Dans ce dernier chapitre et on donnera ensuite des captures d’écrans qui illustrent les
scenarios de négociation qu’on a implémenté.
IV.2. Outils de développement :
Durant le développement de notre application, nous avons travaillé avec des langages de
programmation et des logiciels qui ont une forte cohésion entre eux. Voici dans ce qui suit les
outils utilisés :
Le langage Java, avec comme environnement JBuilder X.
La plate forme JADE,
Access,
IV.2.1. Choix de la plateforme multi-agents Jade:
Figure 13 : L'interface de la plate forme JADE.
Jade est une plateforme de développement d’agent gratuite et Open Source développée
par CSELT et qui résulte principalement d’une activité de recherche.
Cette plateforme Jade n’est pas la seule pour le développement des systèmes multi-agents,
il en existe une dizaine, mais la plupart sont dépassées par le temps. Il reste toujours quelques
unes qui peuvent répondre aux exigences de notre système, nous en citons par exemple Aglet
et JavAct. Le point fort du Jade par rapport à ces deux plateformes est la richesse, la puissance
de son API, d’une part et la compatibilité d’autre part.
Nous avons utilisé dans notre système la version 3.7 de Jade disponible pour
téléchargement sur le site officiel du Jade.
49
Chapitre IV Implémentation
IV.2.2. Choix du langage de programmation :
A fin de réaliser notre SMA et ses interfaces, nous avons choisi le langage JAVA, ce
choix se justifie par :
Les Agent développés sous jade sont entièrement écrits en JAVA. Ce langage s’est donc
imposé comme étant une conséquence du choix précédent,
JAVA est un langage multiplateformes qui permet aux concepteurs, selon le principe: «
write once, run every where », d’écrire un code capable de fonctionner dans tous les
environnements (quelque soit le système d’exploitation),
JAVA est un langage orienté objets, simple qui réduit le risque d’erreurs et d’incohérence,
JAVA est doté d’une riche bibliothèque de classe comprenant la gestion des interfaces
graphiques (fenêtre, boite de dialogue),
Un accès simplifié aux bases de données, soit à traves la passerelle JDBC-ODBC ou à
travers un pilote JDBC spécifique au SGBD,
En choisissant le langage Java, nous avons deux possibilités pour développer les
interfaces du SMA. Java permet, en effet, de créer soit des applications qui s’exécutent dans
un navigateur Internet (Applets), soit des applications autonomes qui s’exécutent au moyen
d’une machine virtuelle.
IV.2.3. Choix du SGBD: Access :
Une Base De Donnée (BDD) est, en général, créée pour être consultée. Elle peut être
également mise à jour. Pour faciliter ces opérations de consultation et mise à jour, un outil
logiciel est appréciable. Il existe aujourd'hui plusieurs logiciels de gestion de BDD. Ces
logiciels sont appelés SGBD (Systèmes de Gestion de Base de Données). Dans notre
application, nous travaillerons avec le SGBD Access de la société MicroSoft.
Le composant DataBase s’occupe de la connexion de notre BDD avec JBuilder à travers
le driver JDBC. Les bases de données produites par Access restent accessibles à tous les
langages de programmation qui permettent une connexion à une base ODBC, c'est le cas par
exemple sous Java en se servant de la passerelle JDBC-ODBC de Sun.
IV.3. Illustration de l’application :
a) Les éléments de l’interface : L’interface de notre logiciel contient une fenêtre d’accueil,
une fenêtre principale de l’agent superviseur, trois fenêtres secondaire pour les comptes de
type client, de type fournisseur et de type producteur, en plus il y a une fenêtre pour le
50
Chapitre IV Implémentation
remplissage du formulaire de l’inscription avec autres fenêtre de visualisation des
coordonnée enregistrés lors de l’inscription et une petite fenêtre de l’authentification avec
un ensemble de massages d’erreurs et de boites de dialogue.
b) Fenêtre d’accueil : Cette figure montre la première fenêtre apparaissant lors de
l’exécution du logiciel. On appuyant sur démarrer l’agent superviseur va se crée pour
interagir avec l’utilisateur.
Figure 14 : La fenêtre d'accueil du logiciel.
c) Fenêtre principale de l’agent superviseur : Notre logiciel est doté d’une interface
conviviale (Figure 15) qui permet à l’utilisateur de choisir son profil ou catégorie et
d’accéder à son compte en passant d’une manière interactive par une inscription s’il n’est
pas adhérant ou de se connecter dans le cas contraire (Figure 16).
Figure 15 : La fenêtre principale avec l'apparition de l'agent superviseur sur l'interface
de JADE.
51
Chapitre IV Implémentation
Figure 16 : L'interface du formulaire d'inscription, Affichage des coordonnées saisies et
enregistrées, La fenêtre d'authentification (de l’adroite vers l’à gauche).
d) Si le client s’authentifie, l’agent client est crée ce qui est montré dans la Figure 17, puis il
peut accéder à son compte et interagir avec le superviseur, la Figure 18 montre
l’interaction par envoie de message entre l’agent superviseur et l’agent client où en obtient
le diagramme de séquence à l’aide de l’agent snifer de la plate forme JADE.
Figure 17 : La création de l'agent client après son authentification par le superviseur.
Figure 18 : Interface du compte client.
52
Chapitre IV Implémentation
e) Si le fournisseur s’authentifie, l’agent client est crée ce qui est montré dans la Figure 20,
puis il peut accéder à son compte et interagir avec le superviseur (Figure 19).
Figure 19 : Interface du compte fournisseur.
Figure 20 : La création de l'agent fournisseur et l'agent producteur.
f) Si le producteur s’authentifie, l’agent client est crée ce qui est montré dans la Figure 21,
puis il peut accéder à son compte et interagir avec le superviseur (Figure 19).
Figure 21 : Interface du compte producteur.
53
Chapitre IV Implémentation
g) Quant le client choisit les produits à commander il envoie la commande à l’agent
superviseur pour qu’il puisse négocier avec lui en terme quantité, coût et délai de
livraison. À la fin de la négociation le superviseur lui annonce l’acceptation de lui fournir
les produits commandés avec les résultats de la négociation établit entre eux. Donc un
message d’information est afficher avec le montant total à payer inclut.
Figure 22 : La confirmation de l'acceptation de commande après négociation.
IV.4. Conclusion
La négociation multi-agents requiert la prise en compte de plusieurs schémas de
négociation et pour les implémenter en a eu recours à la plate-forme JADE qui facilite la
création et le déploiement des agents sur les différentes cellules de production.
Dans ce chapitre, nous avons définit l’environnement d’interaction (les outils de
programmation). Plusieurs écrans d’affichage sont proposés pour donner un aperçu sur les
composants de l’interface afin d’assurer une bonne gestion de chaine logistique au niveau du
client et du fournisseur.
54
Conclusion générale et perspectives
La prise de décision coopérative est nécessaire dans l'industrie. La négociation est un
comportement efficace de coordination dans les processus décisionnels coopératifs.
L’approche des SMA constitue un paradigme de programmation adéquat, puissant et
efficace pour les applications des chaînes logistiques, vu la distribution des acteurs et la
nécessité de communication entre eux.
Puisque le SC implique différents acteurs et activités, l’utilisation les agents pour soutenir
efficacement la prise de décision coopérative constitue un défi dans les applications de gestion
des chaînes logistiques et l’utilisation des agents dans ce domaine en particulier dans la
gestion des commandes et de stocks (approvisionnement).
Afin de montrer l’apport de notre approche dans le domaine de SCM, nous avons conçu
une plate-forme de négociation à base d'agents pour améliorer l'efficacité de la coopération
dans la prise de décision au sein du SC en le considérant comme un système de type multi-
agents. Puisque les différents membres (acteurs) dans un SC ont différentes préférences sur
les attributs de décision, un modèle de négociation à plusieurs attributs a été établi en
concevant le protocole de négociation et en décrivant le processus de négociation.
Ce système a pu combler les points suivants :
Permettre à un fournisseur de déposer ses produits à vendre;
Permettre à un client de trouver le produit désiré et l’acheter;
Permettre de diminuer le temps de gestion de stocks des fournisseurs grâce à l’utilisation
d’un agent superviseur qui vérifie la quantité manquante et restante des produits.
Automatiser la vérification de la disponibilité des produits commandés aux niveaux de la
médiation entre client et fournisseurs.
Toutefois, nous ne prétendant pas que le prototype réalisé soit parfais ou qu’il ne manque
pas d’insuffisances. Nous proposons alors quelques perspectives qui peuvent se résumer en
quelques points :
Modifier notre architecture du SMA mis en place pour pallier au problème de la
centralisation (agent superviseur).
Enrichir notre application avec la prise en compte d’un plus grand nombre de scénarios.
Proposer des améliorations à l’interaction avec un site Web pour l’intégrer avec une
application de e-commerce.
Enrichir notre modèle de communication entre les agents par de nouvelles formes de
négociation.
55
Bibliographie
[AITS & al 09] El Yasmine AIT SI LARBI, Nassima AISSANI, Bouziane BELDJILALI :
Optimisation prédictive et réactive de la planification dans les entreprises multi sites par une
approche systèmes multi agents- génétique. COSI’2009 : Colloque sur l’Optimisation et les
Systèmes d’Information. Annaba, Algérie. 25-27 Mai 2009.
[AMRA 09] : Aïcha AMRANI-ZOUGGAR : Impact des contrats d’approvisionnement sur la
performance de la chaîne logistique : Modélisation et simulation. Thèse de doctorat en
productique. Université Bordeaux 1, France. 2009.
[BOUR 98] Christine BOURJOT : SystèmesMulti-Agents:Modélisationet simulation
informatique de comportements collectifs. Un Cours sur les SMA. Université de Nancy 2,
France, 1998.
[BRIO & al 01] Jean-Pierre BRIOT et Yves DEMAZEAU : Principes et architecture des
systèmes multi-agents. Collection IC2, Hermès, 2001.
[CAGL & al 97] Alper CAGLAYAN and Colin HARRISON : Agent Sourcebook. Edition
John Wiley & Sons. Canada, 1997.
[COUR 03] : P. COURTY : Les enjeux industriels et les nouvelles problématiques
scientifiques -De la logistique à la logistique globale. Ecole d’été d’automatique – Gestion de
la Chaîne Logistique. Session 24, Septembre 2003, Grenoble, France.
[ESPI 08] Bernard ESPINASSE : Coordination et Négociation dans les Systèmes Multi-
Agents. Université d'Aix-Marseille, France. 2008.
[FERB 95] Jacques FERBER : Les systèmes multi-agents : Vers une intelligence collective.
Inter Editions, Paris, France. 1995.
[FERB 09] Jacques FERBER : La simulation multi agent (Agent based simulation). Partie1.
LIRMM. Version 1.0. Université Montpellier II, France , Janv. 2009.
[FRAN 07] : M. Julien FRANCOIS : Planification des chaînes logistiques : Modélisation du
système décisionnel et performance. Thèse de doctorat. Laboratoire de l’Intégration du
Matériau au Système – Département Automatique, Productique et Signal, Université
Bordeaux 1, France, 2007.
[GALA 07] : François GALASSO : Aide à la planification dans les chaînes logistiques en
présence de demande flexible. Thèse de doctorat Systèmes industriels. Institut National
Polytechnique de Toulouse, France. 2007.
[HASS 09] Lamia HASSAINE : Conception et réalisation d’un système de négociation
automatique applique aux ventes en enchère. Mémoire de fin d’études. Ecole nationale
Supérieure d’Informatique (ESI) Oued-Smar, Algerie, 2008/2009.
[HORS & al 04] Cay.S HORSTMANN et Gary CORNELL : Au cœur de Java2 Volume1
Notion Fondamentales. Edition Campus Press, Paris, 2004.
[JENN 96] N.R. JENNING : Coordination techniques for distributed artificial intelligence.
Foundation of distributed artificial intelligence. Willey and Sons. 1996.
[KHEZ 05] Nardjes KHEZAMI : Un système multi agents pour l’analyse, la conception et
l’évaluation de la collaboration appliquée au télétravail collaboratif via internet. Thèse de
doctorat. Université d’Evry Val d’Essone, France.2005.
[LESS 98] V.R. LESSER : Distributed problem Solving. Encyclopedia of AI. Edition Willey
and Sons. 1998.
[MATH & al 00] Philippe MATHIEU, Alain TAQUET : Une forme de négociation pour les
systèmes multi-agents. Article Laboratoire d’Informatique Fondamentale de Lille, Université
de Lille I, France.2000.
[MULL 02] Jean-Pierre MÜLLER : Des systèmes autonomes aux systèmes multi-agents :
Interaction, émergence et systèmes complexes. Université Montpellier II. Mémoire
d’habilitation, France. 8 novembre 2002.
[NAYA & al 01] : N. Nayak, K. Bhaskaran et R. Das : Virtual Enterprises – Building Blocks
for Dynamic e-Business, in proceedings of Information Technology for Virtual Enterprises.
Workshop IEEE, p. 80 – 87, 29-30 2001.
[QUIN & al 05] Joël QUINQUETON. LIRMM et CERIC : Introduction aux systèmes multi-
agent (SMA). Université de Montpellier, France.2005.
[XIAO & al 07] Xue XIAOLONG, Lu JINFENG, Wang YAOWU et Shen QIPING :
Towards an Agent-Based Negotiation Platform for Cooperative Decision-Making in
Construction Supply Chain, KES-AMSTA 2007, LNAI 4496, pp. 416–425, 2007. Springer-
Verlag Berlin Heidelberg 2007.
[Net 1] http://www.logistiqueconseil.org/Articles/Logistique/Gestion-flux-logistiques.html
[Net 2] http://www.cat-logistique.com/
[Net 3] http://personnel.univ-reunion.fr/courdier/cours/sma/2_agent_et_sma.pdf
[Net 4] http://opera.inrialpes.fr/people/Tayeb.Lemlouma/Papers/IAD_Presentation.pdf
[Net 5] https://lig.imag.fr/MAGMA/
[Net 6] http://bpages.developpez.com/tutoriels/bouml/premiers-pas/
57
Annexe A
I. La plate-forme JADE :
1- Définition :
Le but de JADE est de simplifier le développement des systèmes multi-agents en
conformité avec la norme FIPA pour réaliser des systèmes multi-agents interopérables. Pour
atteindre ce but, JADE offre la liste suivante de caractéristiques au programmeur d'agents :
La plate-forme d'agents peut être distribuée sur plusieurs hôtes.
Le transport léger de messages ACL sur la même plate-forme d'agents.
Une bibliothèque de protocoles d'interaction compatibles FIPA.
L'enregistrement automatique d'agents dans le Système de Gestion d'Agents (AMS).
Une interface graphique utilisateur pour gérer plusieurs agents et plates-formes SMA.
Le RMA (Remote Managment Agent) permet de contrôler le cycle de vie de la plate
forme et tous les agents la composant.
2- L'architecture de la plate-forme multi-agents :
L'architecture de JADE est basée sur la coexistence de plusieurs Machines Virtuelles
(VM) Java et la communication se fait par la méthode RMI (Remote Method Invocation) de
Java. Chaque VM est un réceptacle d'agents qui fournit un environnement d'exécution
complet pour l'exécution des agents et permet d'avoir plusieurs agents qui s'exécutent
simultanément sur un même hôte.
3- Comportement des agents dans JADE :
JADE utilise l'abstraction Comportement pour modéliser les tâches qu'un agent peut
exécuter et les agents instancient leurs comportements selon leurs besoins et leurs capacités.
De point de vue de la programmation concurrente, un agent est un objet actif, ayant un thread
de contrôle. JADE utilise un modèle de programmation concurrente "un thread-par-agent" au
lieu d'un modèle "un thread-par-comportement" pour éviter une augmentation du nombre de
threads d'exécution exigés sur la plate-forme d'agents. Ceci signifie que, pendant que les
agents différents s'exécutent dans un environnement multi- threads de préemption, deux
comportements d'un même agent sont planifiés coopérativement.
58
Annexe B
II. Langage Java :
Java est un langage objet mis au point en 1991, par la firme Sun Microsystems. Le but
initial de Java, était de constituer un langage de programmation, pouvant être intégré dans les
appareils électroménagers, afin de pouvoir les contrôler, de les rendre interactifs, et surtout de
permettre une communication entre les appareils. Java est très proche du langage C++du point
de vue de la syntaxe. Toutefois Java est plus simple que le langage C++, car les
caractéristiques critiques du langage C++ (celles qui sont à l’origine des principales erreurs)
ont été supprimées. Cela comprend les pointeurs, la surcharge d’opérateurs, une meilleure
gestion des erreurs, la libération de mémoire est transparente pour l’utilisateur.
Le langage Java est un langage capable de s’exécuter sur n’importe quelle plate forme,
car c’est un langage compilé et interprété. Le code source Java est transformé en simples
instructions binaires. Donc il est [HORS & al 04]:
Robuste et sûr : Peu de pièges. Pas de pointeurs. Pas de fonctions d’arguments variables.
Compilateurs très strictes, car toutes les valeurs doivent être initialisées. Le traitement des
exceptions est obligatoire. Les erreurs à l’exécution sont vérifiées tout comme les limites
des tableaux.
Sécurité : allocation de la mémoire dynamique due au GARBAGE COLLECTOR
(Ramasse Miettes).
Simple : Il n’y a plus de processeur, plus de #define, de typedef , plus de recours aux
fichiers headers, car Java permet la définition d’autres classes et de leurs méthodes. De
plus, les pointeurs, l’héritage multiple, la surcharge d’opérateurs, la libération de mémoire
transparente pour l’utilisation et une meilleure gestion des erreurs, sont autant de points
complexes du C qui sont, soit inexistants soit traités implicitement en Java.
Portable : le compilateur Java génère du byte- code. Ce dernier constitue les instructions
pour la machine virtuelle JVM. La Java Virtual Machine existe par défaut sur de
nombreuses plateformes (Unix, Win32, Mac, OS/2, Netscape . . .), elle peut être aisément
installée. Le langage a une sémantique très précise. Java supporte un code source écrit en
Unicode (Code Universel). Il est accompagné d’une librairie standard.
Annexe C
III. Jbuilder X :
JBuilder est un environnement de développement intégré pour Java, permettant le RAD
(Rapid Application Development) c’est à dire tourné vers le développement rapide
d’applications, et édité par Borland. L'application est elle-même développée en grande partie
en Java.Ce langage apporte certaines fonctionnalités spécifiques, disposant notamment d'une
JVM propre, permettant notamment l'exécution de code Java pas à pas. Selon les éditions, il
ne permet que la réalisation d'applications clientes (J2SE) ou également serveur (J2EE). Des
modules supplémentaires, pour les applications mobiles, en particulier pour les téléphones
mobiles et les PDA, ou pour les services Web, sont également disponibles. Certaines versions
intègrent des solutions de conception UML ou des outils de débuggage et de test.
JBuilder repose sur un ensemble très complet de composants visuels prêts à l’emploi. La
quasi totalité des contrôles de Windows (boutons, boîtes de saisies, listes déroulantes, menus
et autres barres d’outils) y sont représentés, regroupés par famille, en plus :
JBuilderX contient plusieurs OpenTools.
Un designer Struts pour faciliter l'écriture des applications Web.
Un designer pour l'élaboration des WebServices.
De nombreuses améliorations de l'IDE.
Plusieurs kits de développement avec designer graphique et émulateurs.
Annexe D
IV. Le langage UML :
UML (Unified Modeling Language) est un langage de modélisation graphique et textuel
destiné à comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser
des architectures logicielles, concevoir des solutions et communiquer des points de vue.
UML est développé en réponse à l’appel d'offre lancé par l’OMG (Object Management
Group) dans le but de définir une notation standard pour la modélisation des applications
construites à l’aide d’objets. Elle est héritée de plusieurs autres méthodes telles que OMT
(Object Modeling Technique) et OOSE (Object Oriented Software Engineering) et Booch.
Les principaux auteurs de la notation UML sont Grady Booch, Ivar Jacobson et Jim
Rumbaugh.
UML définit neuf types de diagrammes différents dans se première version: les
diagrammes de classes, de séquences, de collaboration, d’objets, d’états- transitions,
d’activité, de cas d’utilisation, de composants, de déploiement.
V. BoUML :
BOUML est une série de logiciels comprenant un modeleur UML2 et plusieurs
programmes externes dont des générateurs de code et reverse. BOUML ne couvre pas
intégralement la norme UML2 à ce jour, mais le principal est déjà présent. BOUML est
distribué sous licence GPL, il peut donc être librement utilisé pour modéliser et produire du
code y compris à des fins commerciales. C’est un Programme libre, et il est extensible,
Programmation simultanée en C++, Java, Php et IDL. Accès complet aux formes générées, la
décision de ce qui doit être généré.
BOUML est développé en C++, ce qui en permet l'utilisation sous Windows et Unix
(Linux, Solaris, Mac OS X etc.) et est extensible via l'écriture de plug-outs qui sont des
programmes vous permettant d'accéder et/ou de modifier automatiquement les modèles, les
générateurs de code et reverse en sont des exemples [Net 6].
Son but est de permettre une utilisation allant des besoins à la génération de code, les
langages pris en compte à ce jour étant C++, Java, Php et IDL, il est pratique, peu gourmand
en ressources CPU et mémoire et il peut être utilisé dans un contexte multi- utilisateurs.
Une autre fonctionnalité, plus rare dans les AGLs: le reverse engineering. Il s'agit bien de
générer des diagrammes de classes avec des sources, Java, C++, PHP ou Idl.