IV.2 Développement des classes ontologiques en
java
Comme nous l'avons indiqué dans la section IV.1,
chaque schéma inclus dans l'ontologie est associé
à une classe Java. Ces classes doivent obéir aux règles
suivantes:
1) Implémenter une interface appropriée:
IV.3 Choix du langage de contenu
Le package jade.content inclut directement des
codecs pour deux langages de contenu (le langage SL et le langage
LEAP).Un codec pour un langage de contenu L est un objet Java capable
de contrôler des expressions de contenu écrites en langage L.
Dans la majorité des cas, un programmeur peut juste adopter un de
ces deux langages de contenu et employer le codec relatif sans aucun effort
additionnel. Cette section donne quelques conseils qui peuvent aider dans le
choix entre ces deux langages. Si un réalisateur veut que ses agents
«parlent » un langage de contenu différent il peut
définir un codec qui lui est approprié.
Le langage SL est un langage de contenu
String-encoded (l'expression du contenu en SL
est une chaîne de caractères) lisible pour l'homme et est
probablement le langage de contenu le plus diffusé dans la
communauté scientifique traitant les agents.
À la différence du langage LEAP, SL ne supporte
pas des séquences de bits. Enfin le réalisateur devrait tenir
compte du fait que le langage SL traite des actions d'agent en particulier.
Toutes les actions d'agent dans le langage SL doivent
être insérées dans la construction d'ACTION
(inclus dans BasicOntology et implémenté par la
classe jade.content.onto.basic.Action) qui associe l'action d'agent
à l'AID de l'agent qui est prévu pour exécuter
l'action. De ce fait l'expression
(Sell (Book: title «Java») (agent-identifier :name
Agent1))
ne peut pas être employée directement comme
contenu d'un message de (demande/re quest), même s'il
correspond à une action d'agent dans le modèle de
référence de contenu. En fait, la grammaire de SL
ne le permet pas comme expression de premier niveau. L'expression
suivante doit être employée à la place
(ACTION
(agent-identifier :name Agent1) (Sell
(Book :title «Java»)
(agent-identifier :name Agent2)
)
)
L'Agent1 est l'agent qui est sollicité pour
vendre le livre indiqué à l'agent Agent2.
68
IV.4 Enregistrement des langages de contenu et des
ontologies
Avant qu'un agent puisse réellement employer
l'ontologie définie et le langage de contenu choisi, ils doivent
être enregistrés par le gestionnaire de contenu de l'agent. Cette
opération est effectuée pendant la création de l'agent (c.
-à-d. dans la méthode setup() de classe Agent).
Le code suivant montre cet enregistrement dans le cas de l'agent
vendeur (l'agent acheteur obéit à la même règle) en
supposant que le langage SL est choisi.
public class Vendeur extends Agent
{
private Codec codec = new SLCodec();
private Ontology ontologie =
LivreOntologie.getInstance();
....
protected void setup() {
getContentManager(). registerLanguage(codec);
getContentManager().registerOntology(ontologie) }
A partir de maintenant le gestionnaire de contenu associera le
codec et les objets de l'ontologie enregistrés au Strings
retournés par leurs méthodes getName () respectives.
|