6. Ingénierie logicielle orienté agent
6.1 Bases de l'ingénierie logicielle
Construire un logiciel de qualité supérieure pour les applications
du monde réel est une tâche difficile à cause du nombre
important et de la flexibilité nécessaire des composantes
mais aussi à cause de la complexité des inter-connexions
requises. Cette affirmation est vraie quels que soient le modèle
et les techniques qui sont appliqués. Le rôle de l'ingénierie
logicielle est justement celui de fournir des modèles et des techniques
qui puissent faciliter le contrôle de cette complexité. A
cette fin, plusieurs paradigmes d'ingénierie logicielle ont été
proposés, par exemple l'orientation objet, les modèles de
conception, diverses architectures de logiciel. Chaque paradigme proposé
a essayé soit de faire en sorte que le processus de conception
soit plus facile, soit d'étendre la complexité des applications
qui peuvent être construites en utilisant le paradigme.
Même si ces paradigmes représentent une étape nouvelle
dans la construction du logiciel, quand il s'agit du développement
des systèmes distribués complexes ils échouent principalement
pour deux raisons : les interactions entre les diverses entités
sont définies d'une manière trop rigide et il n'y a pas
de mécanismes assez complexes pour représenter la structure
organisationnelle du système (Jennings, 2000).
Le paradigme des agents et systèmes multi-agents peut être
une bonne réponse à ces problèmes, parce que les
approches orientées agent accroissent significativement notre capacité
de modéliser, concevoir et construire des systèmes distribués
complexes (Wooldridge et Jennings, 1995). En plus, les approches orientées
agent sont une étape naturelle dans l'évolution logique
d'une gamme d'approches contemporaines en ingénierie logicielle.
Dans ce qui suit, on va présenter les avantages de l'approche
orientée agent pour le développement du logiciel et quelques
méthodologies existantes, notamment des méthodologies qui
peuvent guider le concepteur dans toutes les étapes du développement
d'une application basée sur les agents. Ensuite, on va présenter
une des plates-formes les plus connues pour le développement des
systèmes multi-agents et les applications utilisant des agents.
|