Académique Documents
Professionnel Documents
Culture Documents
Réalisation
Réalisation
5.1. Introduction:
Après avoir vu, toutes les notions, les concepts ainsi que la conception que nous
venons de proposer, on arrive à la phase de réalisation. Là, où on doit présenter les outils,
le langage de programmation que nous avons jugés, pour leurs caractéristiques, à
répondre aux buts que nous avons fixés au début.
57
Réalisation
Java est très riche, en matière de bibliothèques dont nous nous sommes servi,
par exemple : pour les interfaces graphiques, pour les expressions régulières…
Parmi les bibliothèques Java disponibles sur Internet, on en trouve beaucoup,
qui servent pour l’interfaçage avec autres langages de programmation et qui permettent
aux programmes écrits en Java de les manipuler et exécuter des commandes de
compilation et d’interprétation comme si on utilisait ce langage de programmation
directement, par exemple : la bibliothèque JPL9 (que nous présenterons ci-après).
9
Java Prolog Library : http://www.swi-prolog.org/packages/jpl/
10
http://fr.wikipedia.org/wiki/Java_Native_Interface
58
Réalisation
Dans ce qui suit, on va donner le prototype de chaque agent (tâche), ainsi que la
technologie pour qu’il puisse accomplir son rôle :
a. Agent User :
Il faut distinguer l’agent User de l’agent Anque, car User ne fait que la gestion de
l’interface graphique et libérer l’agent Anque de cette tâche, aussi pour simplifier le code
source des deux agents pour qu’il soit facile à gérer.
Cet agent, comme nous l’avons dit ci-dessus, est responsable du dialogue entre les
différents agents du système, et l’utilisateur, par l’interface graphique que nous verrons
après. C’est pour ça, que sa classe hérite d’une classe spéciale GuiAgent, qui contient
une méthode abstraite :
protectedvoidonGuiEvent(GuiEventge)
Dans le code de cette dernière, on doit traiter tous les types d’évènements que notre
système pourrait recevoir.
59
Réalisation
b. Agent Anque :
Les activités qui sont affectées à l’agent Anque, et qui les realise par sa tâche
Analquesont :
60
Réalisation
61
Réalisation
Cette information existe déjà dans la base de connaissances, donc, par la fonction
verifyQuery(), le système affiche :
L'information : "mohamed est le pere de said" déjà existe dans la base de
connaissances.
62
Réalisation
11
java.util.Hashtable
63
Réalisation
d. L’agent Concex:
C’est l’agent qui génère l’explication dans son format final.
64
Réalisation
If(Main.openPROLOG())
{
Query q2 = new Query(“pere(mohamed,V1),pere(V1,ismail)”);
If(q2.hasSolution())
{
//Traitement de solutions.
}
}
match() : Cette méthode trouve, dans cette chaine de caractères, toutes les
variables utilisées dans la construction de l’ensemble de prédicats PROLOG.
Par exemple :
Pour : pere(mohamed,V1),pere(V1,ismail), cette méthode nous retourne V1.
Pour ce faire, nous avons utilisé un concept de Compilation qu’est les expressions
régulières (Regex)12 :
12
http://fr.wikipedia.org/wiki/Expression_rationnelle
65
Réalisation
1. Base de Connaissances :
Chaque base de connaissances, ce compose d’un ensemble de faits, et un ensemble
de règles.
etat1([pourquoi|L]):-etat2(L).
etat2([X|L]):-etat3(L).
etat3([est|L]):-etat4(L).
…….
5.4. Le prototype :
5.4.1. Présentation :
66
Réalisation
67
Réalisation
Puis, dans la figure 23, clique sur Lancer le système, pour avoir la fenêtre suivante :
68
Réalisation
1
4
6 3
5
69
Réalisation
70
Réalisation
71
Réalisation
72
Réalisation
73
Réalisation
74