http://armadeus.org/wiki/index.php?action=history&feed=atom&title=User_talk%3AGillesDUser talk:GillesD - Revision history2026-06-29T16:06:12ZRevision history for this page on the wikiMediaWiki 1.26.3http://armadeus.org/wiki/index.php?title=User_talk:GillesD&diff=5469&oldid=prevGillesD at 17:17, 5 January 20092009-01-05T17:17:59Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:17, 5 January 2009</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l17" >Line 17:</td>
<td colspan="2" class="diff-lineno">Line 17:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Prérequis ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Prérequis ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Pour la compilation du code des agents JAM, il faut avoir installé classpath et Jikes sur l'ordinateur de développement.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Pour la compilation du code <ins class="diffchange diffchange-inline">Java </ins>des agents JAM, il faut avoir installé classpath et Jikes sur l'ordinateur de développement.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Pour faire fonctionner les agents JAM <del class="diffchange diffchange-inline">codés en Java</del>, il faut avoir installé classpath et jamvm sur l'APF.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Pour faire fonctionner les agents JAM, il faut avoir installé classpath et jamvm sur l'APF <ins class="diffchange diffchange-inline">(il faut cocher les cases correspondantes dans Buildroot)</ins>. Compte tenu de l'étroitesse de la mémoire FLASH disponible sur l'APF (8 Mo seulement) il est utile de mettre en oeuvre une SDcard (2 Go c'est bien) suivant la procédure décrite ici [[http://www.armadeus.com/wiki/index.php?title=MultiMediaCard]]. Une autre solution est de réaliser un partage de fichiers NFS [[http://www.armadeus.com/wiki/index.php?title=Network_Configuration]]. La seconde solution est plus souple, cependant, par facilité de mise en oeuvre, c'est la première solution qui est retenue dans cet article.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Compte tenu de l'étroitesse de la mémoire FLASH disponible sur l'APF (8 Mo seulement) il est utile de mettre en oeuvre une SDcard (2 Go c'est bien) suivant la procédure décrite ici [[http://www.armadeus.com/wiki/index.php?title=MultiMediaCard]]. Une autre solution est de réaliser un partage de fichiers NFS [[http://www.armadeus.com/wiki/index.php?title=Network_Configuration]]. La seconde solution est plus souple, cependant, par facilité de mise en oeuvre, c'est la première solution qui est retenue dans cet article.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Compilation de JAM ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Compilation de JAM ==</div></td></tr>
</table>GillesDhttp://armadeus.org/wiki/index.php?title=User_talk:GillesD&diff=5468&oldid=prevGillesD: New page: {{Under_Construction}} '''Installation d'un agent JAM sur APF9328 avec DevFull''' == Présentation == L'architecture pour agents intelligents JAM est une preuve de concept associée à...2009-01-05T17:08:09Z<p>New page: {{Under_Construction}} '''Installation d'un agent JAM sur APF9328 avec DevFull''' == Présentation == L'architecture pour agents intelligents JAM est une preuve de concept associée à...</p>
<p><b>New page</b></p><div>{{Under_Construction}}<br />
<br />
'''Installation d'un agent JAM sur APF9328 avec DevFull'''<br />
<br />
<br />
== Présentation ==<br />
<br />
L'architecture pour agents intelligents JAM est une preuve de concept associée à la thèse soutenue par Marcus James HUBER dans le domaine de l'intelligence artificielle.<br />
<br />
[[image:jam.png|center|frame|'''figure 1''' - ''Architecture JAM'']]<br />
<br />
Cette architecture est de type BDI (Belief-Desire-Intention), fondée sur un système PRS (Procedural Reasoning System). En fait, le code d'un agent JAM contient des ''beliefs'' (les faits connus par l'agent), des ''desires'' (les buts à réaliser par l'agent) et des aptitudes (les plans et actions élémentaires). Les ''intentions'' sont déterminées dynamiquement par l'agent, en cours d'exécution, en fonction des faits connus, des buts poursuivis et des plans disponibles.<br />
<br />
Le code source et la documentation se trouvent en suivant le lien [http://www.marcush.net/IRS/irs_downloads.html].<br />
<br />
<br />
== Prérequis ==<br />
<br />
Pour la compilation du code des agents JAM, il faut avoir installé classpath et Jikes sur l'ordinateur de développement.<br />
<br />
Pour faire fonctionner les agents JAM codés en Java, il faut avoir installé classpath et jamvm sur l'APF.<br />
Compte tenu de l'étroitesse de la mémoire FLASH disponible sur l'APF (8 Mo seulement) il est utile de mettre en oeuvre une SDcard (2 Go c'est bien) suivant la procédure décrite ici [[http://www.armadeus.com/wiki/index.php?title=MultiMediaCard]]. Une autre solution est de réaliser un partage de fichiers NFS [[http://www.armadeus.com/wiki/index.php?title=Network_Configuration]]. La seconde solution est plus souple, cependant, par facilité de mise en oeuvre, c'est la première solution qui est retenue dans cet article.<br />
<br />
== Compilation de JAM ==<br />
<br />
Sur l'ordinateur de développement, il est conseillé de compiler les fichiers source (.java) car le fichier jam.jar fourni ne fonctionne pas dans l'utilisation présente.<br />
<br />
L'archive Jam-01Nov01.zip est à décompresser dans le répertoire <JamParent> (ici /home/user/jamagent).<br />
<br />
On obtient une arborescence commençant par <JamParent>/com/irs/jam/ (ici /home/user/jamagent/com/irs/jam/).<br />
<br />
Ajouter la ligne suivante à la fin du fichier /etc/bash.bashrc (sous UBUNTU) :<br />
<pre><br />
export CLASSPATH="/usr/share/classpath/glibj.zip:/usr/share/classpath/tools.zip:/home/user/jamagent"<br />
</pre><br />
<br />
Se placer dans le sous répertoire jam :<br />
<source lang="bash"><br />
[ ] # cd /home/user/jamagent/com/irs/jam<br />
</source><br />
<br />
Utiliser Jikes avec l'option de compilation pour Java 1.3 afin d'éviter les erreurs dues au nouveau mot réservé ASSERT. Ce mot est utilisé dans les programmes d'intelligence artificielle depuis très longtemps, les développeurs du langage Java auraient dû en choisir un autre !<br />
<source lang="bash"><br />
[ ] # jikes -source 1.3 *.java<br />
</source><br />
Compiler également les primitives située dans le répertoire /home/user/jamagent/com/irs/jam/primitives.<br />
<source lang="bash"><br />
[ ] # cd primitives<br />
[ ] # jikes -source 1.3 *.java<br />
</source><br />
<br />
== Utilisation d'un agent JAM sur l'APF ==<br />
<br />
Copier l'arborescence com/irs/... sur la SDcard, dans le répertoire /home, en utilisant sa méthode préférée. La SDcard directement insérée dans l'ordinateur de développement est une solution simple (quand le partage NFS n'est pas utilisé). <br />
<br />
Après réinsertion de la SDcard dans la DevFull puis démarrage, ajouter les lignes suivantes (après le PATH) dans le fichier /etc/profile :<br />
<pre><br />
export CLASSPATH=\<br />
/usr/share/classpath/glibj.zip:\<br />
/usr/share/classpath/tools.zip:\<br />
/home<br />
</pre><br />
<br />
Se placer dans le répertoire jam :<br />
<source lang="bash"><br />
# cd /home/com/irs/jam<br />
</source><br />
<br />
Essayer l'agent JAM avec l'exemple des tours de Hanoï :<br />
<source lang="bash"><br />
# jamvm -Xmx4M com.irs.jam.JAM ./examples/hanoi.jam<br />
</source><br />
<br />
Les coups à jouer pour résoudre le problème des tours de Hanoï défilent.<br />
<br />
<br />
L'option d'exécution -Xmx4M (merci Jorasse) permet de pallier au problème d'allocation de mémoire dans le tas (essayer sans l'option pour se rendre compte du problème).</div>GillesD