WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modélisation par un système multi-agents d'un hypermédia éducatif adaptatif dynamique

( Télécharger le fichier original )
par Mounir Beggas
Centre Universitaire d'Eloued - Magister en Informatique 2005
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

6

Architecture logicielle de HYDAYA

PourimplémenterlesystèmeHEDAYA,ondoitchoisirunlangagedeprogrammation,unoutild'implémentationdesagentsetdecommunicationentreagents(lacommunicationentreagentsestdétailléedanslasection3.23.2)etdesoutilsdereprésentationdesmodèlesutilisés.irunlangagedeprogrammation,unoutild'implémentationdesagentsetdecommunicationentreagents(lacommunicationentreagentsestdétailléedanslasection)etdesoutilsdereprésentationdesmodèlesutilisés.

6.1

Choix de langage de programmation 6.1 Choix de langage de programmation

Java fournit la portabilité de code sur plusieurs plateformes ; un programme Java s'exécute dans un environnement virtuel standardisé dénommé JVM (Java Virtual Machine) indépendant de toute plateforme telle que MacOS, Windows, Linux, Solaris, etc. Le compilateur Java permet de convertir un code source à une liste d'instructions proche au langage machine appelées pseudo-code, le JVM contient un interpréteur Java chargé d'exécuter le pseudo-code sur n'importe quel plateforme. Java fournit la portabilité de code sur plusieurs plateformes ; un programme Java s'exécute dans un environnement virtuel standardisé dénommé JVM (Java Virtual Machine) indépendant de toute plateforme telle que MacOS, Windows, Linux, Solaris, etc. Le compilateur Java permet de convertir un code source à une liste d'instructions proche au langage machine appelées pseudo-code, le JVM contient un interpréteur Java chargé d'exécuter le pseudo-code sur n'importe quel plateforme.

Java organise la mémoire ; il dispose d'un excellent mécanisme de la récupération automatique de la mémoire (garbage collector), qui constitue une fonction du système d'exécution du langage, restitue spontanément les zones de mémoire qui ne sont plus utilisés. Java organise la mémoire ; il dispose d'un excellent mécanisme de la récupération automatique de la mémoire (garbage collector), qui constitue une fonction du système d'exécution du langage, restitue spontanément les zones de mémoire qui ne sont plus utilisés.

Java est un langage orienté objet, largement accepté comme standard dans la programmation Internet (applet, servelt, etc.). Java est un langage orienté objet, largement accepté comme standard dans la programmation Internet (applet, servelt, etc.).

Beaucoup de technologies reliées aux agents sont étroitement associées à Java ; comme, par exemple, JADE et JATLite décrits dans la section suivante. Beaucoup de technologies reliées aux agents sont étroitement associées à Java ; comme, par exemple, JADE et JATLite décrits dans la section suivante.

A.I

AMA

Apprenant

Achieve

6.2

Choix de plateforme agent

Pour mettre en oeuvre l'implémentation multi-agents de notre système, dans un premier temps, nous avons envisagé les possibilités offertes par des plateformes multi-agents existantes et gratuites développées aux universités comme : JATLite (Java Agent Template, Lite) [Jeon et al 00] est une collection de packages Java conçus pour fournir un mécanisme de communication et d'interaction aux programmes distribués à travers l'Internet. JADE (Java Agent DEvelopment Framework) [Bellifemine et al. 99] est une plateforme Multi-agents développée en Java par CSELT (Groupe de recherche de Gruppo Telecom, Italie) qui a comme but la construction des systèmes Multi-agents et la réalisation d'applications conformes à la norme FIPA.

Ces plateformes sont très puissantes et génériques ; mais elles sont relativement trop complexes et offrent trop de fonctionnalités par rapport à une application comme la notre.

6.3

Architecture logicielle et outils de développement

Les agents de système HEDAYA sont implémentés en utilisant le langage de programmation Java. Chaque agent est défini par son nom, qui indique au module de communication () le nom de la machine (ou l'adresse IP) et le port de socket serveur

L'agent d'interface est implémenté en utilisant le servlet java. Un servlet est un programme java qui s'exécute dans un serveur Web, et qui peut interagir avec n'importe quel client et peut accéder le serveur par le biais de requêtes et de réponses, le serveur Web transmit les requêtes aux servlet et les réponses aux clients. L'interaction avec l'apprenant (le navigateur Web) se fait par les requêtes HTTP, par l'intermédiaire du serveur Web ; avec les autres agents par KQML en utilisant les sockets.

Les bases de données contenant les modèles des différents apprenants et les attributs des documents multimédias (méta données de documents multimédias) sont gérés par le SGBD Interbase, dont l'agent peut connecter la base de données par le JDBC (Java DataBase Connectivity).

Les documents multimédias sont des documents HTML dans le Web, ses adresses sont stockées dans la base de documents multimédias, l'agent d'interface génère la page par l'agencement des documents et la création des liens (la structure de la page est définie par l'agent pédagogique d'adaptation, les adresses des documents sont spécifiées par l'agent de filtrage).

Le modèle du domaine et le modèle des activités pédagogiques sont exprimés en XML (eXtensible Markup Language). XML est un langage de balises comme le HTML mais il est extensible, évolutif. Nous avons choisi XML par ce qu'il ne met aucune restriction sur le format d'information représentée. Aussi, il existe plusieurs outils permettant la manipulation des documents XML par un programme Java.

Dans notre système, on a utilisé BorlandXML pour la génération des classes Java pour la liaison avec le document XML à partir de DTD (Document Type Definition). Un DTD est l'ensemble des règles et des propriétés que le document XML doit les suivre. Ces règles définissent généralement le nom et le contenu de chaque balise et le contexte dans lequel elles doivent exister. La liaison de données permet d'accéder à des données et de les manipuler, Il consiste de lier des objets Java à un document XML par une structure de marshalling, qui effectue un dé-marshalling (lecture) et un marshalling (écriture) de données. La liaison de données est implémentée en générant des classes Java pour représenter les contraintes contenues dans DTD. Vous pouvez ensuite utiliser ces classes pour créer et lire des documents XML conformes au DTD, ainsi que valider des documents XML par rapport au DTD.

La figure suivante présente l'architecture logicielle de système HEDAYA

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il y a des temps ou l'on doit dispenser son mépris qu'avec économie à cause du grand nombre de nécessiteux"   Chateaubriand