Plan - i3s.unice.frriveill/mes-cours/autres-modeles/... · Pourquoi utiliser des agents mobiles...
Transcript of Plan - i3s.unice.frriveill/mes-cours/autres-modeles/... · Pourquoi utiliser des agents mobiles...
1
http://rangiroa.polytech.unice.fr
Programmation par agents
Plan
Agents mobiles Exemples de code mobile Modèles à agents mobiles Principes et mise en œuvre Evaluation quantitative
Agents intelligents – en dehors des objectifs de ce cours
2 mise à jour septembre 2010
Agents… mobiles
mise à jour septembre 2010 3
Un agent… mobile C’est quoi ?
Il n’y a pas de définition unique IEEE Spectrum April 1998 paper by Morreale
2 points de vue Système
S’exécute dans un environnement d’exécution donné Réactif, autonome, possède un but Communiquant, mobile Apprenant, digne de confiance
Utilisateur final (fera l’objet de la seconde partie du cours) Assistant personnel qui peut faire des actions à la place de l’utilisateur Possibilité de délégué à la demande des tâches
mise à jour septembre 2010 4
2
Principe de fonctionnement
Coté système Ne reste pas sur la station ou il a été créé Peut se transporter (migrer) au travers du réseau vers une autre
station, disparaît du site de départ après migration Peut emporter un état lors de la migration Est capable de communiquer avec d’autres agents, avec les stations
visitées
Coté utilisateur Est autonome Peut raisonner et prendre des initiatives S’adapte à un environnement changeant
mise à jour septembre 2010 5
Agents et domaines de recherche
Systèmes répartis Architectures et protocoles pour exécuter des ‘objets’ mobiles Sécurité, tolérances aux fautes, désignation
Langages de programmation Code mobile, sûreté, construction syntaxique Langages pour la communication entre agents
Intelligence artificielle Intelligence, raisonnement, apprentissage, coopération
6 mise à jour septembre 2010
Ce n’est pas nouveau... Migration de processus
Utilisé dès le début des années 1980 pour faire de la régulation de charge dans un réseau local Locus (UCLA), Sprite (UC Berkeley), Condor (Wisconsin) Un processus qui n’était pas terminé pouvait continuer son exécution
sur un autre site par migration : du code, des données, du tas, de la pile, des descripteurs ouverts (fichiers), du compteur ordinal
7 mise à jour septembre 2010
Une évolution… Migration des objets
Permettre de coupler des objets dans des espaces virtuels différents sur différents noeuds Nécessite la mobilité du code et des données
Emerald (1986) supporte la mobilité des objets avec un contrôle du programme (Univ. of Washington - 1986)
Guide (1987) supporte la mobilité autonome des objets (un objet est couplé sur le site qui l’utilise)
Chorus distributed system (1988) supporte la mobilité autonome des objets (un objet décide ou il doit être couplé)
Toutes ces approches nécessite un système homogène
8 mise à jour septembre 2010
3
Evolution suivante...
mise à jour septembre 2010 9
Appel de procédure et mobilité du code
Code du service + data Server Client
resultats (data)
Le code est transporté sur le site du serveur
• Remote Evaluation model by Stamos and Gifford (MIT - 1990). • Java (Sun Microsystems - 1995) permet la migration du code sur des plate-formes hétérogènes
Agents mobiles
Un agent mobile est un objet capable de migrer de manière autonome d’un site à un autre afin d’exécuter des actions décrites par son créateur
10
Client agent
(code+data) Agent mobile
Server 1
Server 3 Server 2
mise à jour septembre 2010
Exemples de code mobile
Postscript code exécuté par machine physique ou virtual reporte le travail sur différents sites
11
%!PS-Adobe-3.0 %%Title=... ... %%EOF
site A
imprimante postscript site B
interprète (ghostview)
ggfdgf
ggfdgf
mise à jour septembre 2010
Exemples de code mobile
SQL code exécuté par un interpréteur SQL code déplacé vers le serveur de base de données
12
SGBD
serveur
interprète SQL
client requête SQL
mise à jour septembre 2010
4
Exemples de code mobile
Applets programme exécutable inclus dans une page HTML exécution sur le site qui télécharge la page HTML
13
<HTML>
[...]
applet
MV Java
client serveur
chargement
communication
mise à jour septembre 2010
Pourquoi utiliser des agents mobiles
S’affranchir du réseau Latence, débit Mode déconnecté Permet d’encapsuler des protocoles
Par un modèle de fonctionnement asynchrone et autonome qui Privilégie les interactions locales Permet l’installation d’interface locale spécifique Permet de s’affranchir de l’hétérogénéité En ayant un un modèle robuste
14 mise à jour septembre 2010
Quelques exemples d’applications
Commerce électronique : suivi de salle de marché Assistant personnel : filtrage, recherche d’information Collecte d’information distribuées
Système de workflow et système collaboratif Monitoring et notification Administration, diffusion de logiciel, mise à jour Mise en cohérence de données dupliquées Détection d’intrusion
Calcul parallèle Jeux sur internet
mise à jour septembre 2010 15
Modèle à agents mobiles Principes
Agent Mobile : processus, incluant du code et des données, pouvant se déplacer entre des machines pour réaliser une tâche
Agent Objet actif
Objets : encapsule un état Agents : encapsule un état + exécute un comportement
communique potentiellement avec d'autres agent Objet mobile
se déplace en fonction de ses besoins suit parfois un itinéraire
mise à jour septembre 2010 16
5
Modèle à agents mobiles Exemple 1
Agent notificateurs/réactifs attend une information ou un événement prévient un usager ou déclenche une action exemples
recherche d'emploi dans des journaux gestion d'un portefeuille d'actions
mise à jour septembre 2010 17 client serveur
agent
notification
Modèle à agents mobiles Exemple 2
Agents itinérants réalisant une suite
d'interaction avec des serveurs
privilégie les accès locaux exemple : jointure entre deux
sources de données un serveur retourne une liste de
noms (Hôtels) un serveur gère un annuaire
téléphonique les serveur sont gérés par des
institutions différentes mise à jour septembre 2010 18
Service
Annuaire
App
Modèle à agents mobiles Exemple 3
Agent d'adaptation extension des fonctions du service adaptation aux besoins spécifiques des clients exemple : compression/chiffrement de documents
un client demande un document à un serveur le client passe un algorithme de compression ou de chiffrement des données le code de cet algorithme est propre au client
19 mise à jour septembre 2010
App Serveur
document compressé
agent avec code de compression
Les fonctions d’une plate-forme à agents mobiles
Une plate-forme à agents permet : La création des agents L’exécution des agents La migration des agents La terminaison des agents
20 mise à jour septembre 2010
6
Modèle à agents mobiles Définitions
Agents unité de structuration des applications agents mobiles ou stationnaires ressources allouées (contrôlées) aux agents
Places endroit que peut visiter un agent plus fin que le site
On peut avoir plusieurs places sur un site Permet un contrôle d’accès par place
certaines places prédéfinies pour un agent home
21 mise à jour septembre 2010
Modèle à agents mobiles Définitions
Déplacement entre des places parfois notion d’itinéraire permet de co-localiser des agents pour des interactions locales
Interactions entre des agents co-localisés : meetings
Communication synchrone Appel de méthode ou partage d’objets
entre des agents distants : messages Communication asynchrone directe (envoie de messages à un agent) ou indirecte
(envoie de messages à une boite aux lettres
22 mise à jour septembre 2010
Modèle à agents mobiles Définitions
Contrôle d’accès comme toujours, deux aspects Identification (authentification)
de l’agent ou de la place
Description des permissions Que peut faire un agent sur cette place Que peut faire cette place sur cet agent L’un doit se protéger de l’autre
23 mise à jour septembre 2010
Modèle à agents mobiles La mobilité
Agents mobiles = paradigme pour la calcul distribué Code mobile : migration du code Objets mobiles : migration du code + données Processus mobiles : migration du code + données + état des threads Agents mobiles : migration du code + données + état des threads +
autorités de son propriétaire Différentes mobilité en ‘let’ dans le monde Java
Applet : transfert du code/donnée depuis un serveur vers un client (download)
Servlet : upload de code depuis un client vers un serveur Agents mobiles : pas de notion de client ou de serveur, peu effectuer
plusieurs sauts. 24 mise à jour septembre 2010
7
Mise en œuvre de la mobilité
25
Resume Execution
Deserialize Agent
Decode Data
Receive Data Transfer Data
Encode Data
Serialize Agent
Suspend Execution Sender Receiver
Network mise à jour septembre 2010
Mise en œuvre de la mobilité Obtention du code et des données
26
Agent Agent
Class Code Class Code
Destination Origin
Class Code
Server (c) Class at Server
(b) Class at Origin (a) Class at destination mise à jour septembre 2010
Modèle à agents mobiles Les problèmes
Mobilité hétérogénéité du code, des données et du système
hypothèse sur l'environnement (imposer homogénéité) gestion par une machine virtuelle
capture de l'état d'un agent délimiter l'ensemble des objets à déplacer avec l'agent
capture de l'état de la pile d'exécution migration faible migration forte
mise à jour septembre 2010 27
Mobilité faible / forte
Mobilité faible Migration du code + données Données = variables
d’instance Après migration l’éxécution
débute au début du programme Exemple : applet
Mobilité forte Migration du code + données
+ état éxécution Données = variables
d’instance Execution State – variables
locales et variables liés aux processus/threads (pile / tas / compteur ordinal / …)
Après migration l’exécution continu a l’endroit ou elle a été suspendue
mise à jour septembre 2010 28
• IEEE TSE May’98 paper by Fugetta, Picco, Vigna • Thèse Sarah Bouchenak, Grenoble
8
Exemples
Mobilité forte Mobilité faible
La fonction calcule est founie par la place
Le tableau site contient les différentes places à visitée
run () { For (i=0; i<N;i++) { Y := calcule (X); moveto (site[i+1]); } }
Même structure de donnée
int status = 0; run () { if (status != N) { Y := calcule (X); status++; moveto (site[i++]); } }
mise à jour septembre 2010 29
RPC vs agents mobiles
RPC Un « processus demande un traitement qui
est dans autre « processus » Message d’appel suivi d’un message de
réponse La procédure appelée est locale au processus
distant Client et serveur sont d’accord a priori sur le
protocole à utiliser Interaction et communication en continu
entre le client et le serveur
Agents mobiles Au lieu de demander un traitement, l’agent
est à l’initiative du traitement Messages : c’est généralement l’agents lui-
même (procédure + donnée + état) Émetteur : celui qui a commencé le
traitement - récepteur : celui qui poursuit le traitement
Interaction en continu… mais pas communication en continu
mise à jour septembre 2010 30
CLIENT SERVER network CLIENT
SERVER
network
Mobile Agent
Service
Modèle à agents mobiles Les problèmes - Utilisation de ressources partagées
référence à distance copie liaison par équivalence
mise à jour septembre 2010 31
R
avant après
? ?
Modèle à agents mobiles Les problèmes - Sécurité
attaque d'un hôte par un agent mobile confinement de l'exécution
par le matériel par le logiciel
authentification de l'agent pour délimiter ses droits d'accès
attaque d'un agent par un hôte très difficile dans le cas général Solution dans le cadre du calcul : brouillage de code
A veut faire calculer F(x) sur le site B sans révéler F à B (F linéaire) A calcule Z = S.F (S matrice inversible choisie par A) A envoie Z à B et B calcule y = Z(x) et envoie y à A A calcule S-1(y) = F(x)
mise à jour septembre 2010 32
9
Modèle à agents mobiles Un modèle qui a de nombreux avantages
Modèle d’exécution asynchrone et autonome
Justifié Permettre le déployement
dynamique de composants d’applications sur un nombre arbitraire de sites
Fonctionne sur des plates-formes hétérogènes
Parfaitement adapté aux utilisateurs mobiles pouvant être déconnectés
A justifier Réduire la consommation de
la bande passante et la charge du réseau
Encapsuler des protocoles Adaptabilité de l’application
par migration
De très nombreuses applications peuvent être programmée selon ce modèle
mise à jour septembre 2010 33
Modèle à agents mobiles Quelques plates-formes
Sur Java Aglets (IBM)
http://www.trl.ibm.co.jp/aglets
Odyssey (General Magic Inc.) http://genmagic.com/technology/
mobile_agent.html
Concordia(Mitsubishi) http://www.meitca.com/HSL/
Projects/Concordia
Voyager (Object Space) http://www.objectspace.com/voyager
MOA (OSF/OpenGroup) http://www.osf.org/RI/java/moa
Autres environnements (Tcl, Python, ...) AgentTcl (Dartmouth College)
http://www.cs.dartmouth.edu/~agent
Ara (Université de Kaiserslautern) http://www.uni-kl.de/AG-Nehmer/
Projekte/Ara
Tacoma (Université de Tromsø et Cornell) http:/www.cs.uit.no/DOS/Tacoma
37 mise à jour septembre 2010
Etude d’une plate-forme Aglet
mise à jour septembre 2010 38
Modèle à agents mobiles Aglets
un projet d’IBM http://www.trl.ibm.com/aglets/ Les sources sont ici : http://sourceforge.net/projects/aglets/
conçu sur Java
mise à jour septembre 2010 39
A
A
A
Network Daemon
Security Manager
Network
User Interface
10
Pourquoi Java ?
Bénéfices Indépendant de la plate-forme Exécution sûres Chargement de classe
dynamique Programmation multi-thread Persistance par sérialisation
Limitations Peu de support pour le
contrôle des ressources Pas de référence ‘protégées’
nécessité d'un objet proxy pour protéger l'accès aux méthodes publiques
Pas de support pour capturer et restaurer un contexte d’exécution
mise à jour septembre 2010 40
Objectifs
Simplicité et extensibilité La programmation d’une Aglet par un programmeur Java doit être
aisée Spécifications (JAAPI) plus que plate-forme
Indépendant des plates-formes Une Aglet doit pouvoir s’exécuter sur n’importe quelle place
respectant la spécification JAAPI
Standard industriel JAAPI doit devenir un standard industriel
Security Une aglet non fiable ne doit pas être un risque pour la place qui
l’exécute mise à jour septembre 2010 41
Les éléments du modèles
Interfaces Classes
AgletContext FutureReply MessageManager
Aglet AgletIdentifier AgletProxy
Itinerary Message
mise à jour septembre 2010 42
En rouge, les éléments du modèle détaillé après
Aglet
Une aglet est un objet java mobile qui peut visiter plusieurs sites. Il est autonome i.e. il s’exécute dans sa propre thread Il est réactif i.e. il répond au message qu’il reçoit proche du modèle d’acteurs ou des JavaBean
mise à jour septembre 2010 43
11
Context
Un contexte est le lieu d’exécution d’une aglet i.e. une place Implémenté par un objet stationnaire Founit tout ce qui est nécessaire pour exécuter de manière homogène
(y compris en environnement hétérogène) une aglet Protège le système hôte contre les aglets malveillante Un site peut contenir plusieurs contextes
mise à jour septembre 2010 44
Proxy
Un proxy est le représentant d’une aglet Il empêche l’accès direct aux méthodes publiques de l’aglet Cache la localisation de l’aglet
mise à jour septembre 2010 45
Message
Un message est un objet échangées entre aglets. Selon les besoins, il peut être utilisé de manière synchrone ou
asynchrone. Le mode asynchrone permettant la coopération lache entre aglets
Un gestionnaire de message permet de contrôler la concurrence des messages entrants
mise à jour septembre 2010 46
Itinerary
Liste de contexte à visiter auquel est associé une liste d’action Inclus le problème du routage (identification d’un noeud physique
à partir d’une description symbolique)
Fournit une abstraction pour mettre en œuvre de modèle d’itinéraire non triviaux.
mise à jour septembre 2010 47
12
Identifier
Chaque aglet possède un identifiant Unique Immuable Attribué à sa création
mise à jour septembre 2010 48
En résumé
Les abstractions Contexte : une place Aglet : un agent mobile
AgletIdentifier : un identifiant unique AgletProxy : un objet d’accès
Message message asynchrone appel de procédure synchrone
mise à jour septembre 2010 49
Agents
Place Engine
Resources
Host Proxy
Mise en œuvre d’une aglet
Interface Une classe qui étend la classe
Aglet
Etat Un graphe d’objets
sérialisable
Implémentation Des méthodes prédéfinies de
gestion des aglets qu’il faut implémenter
Un modèle de programmation réactif sur une association événement réaction Listener
mise à jour septembre 2010 50
Interface
Implementation
State Identifier
Mise en œuvre d’une aglet
Méthode à ne pas surcharger sauf besoin spécifique
Méthodes à surcharger (livrées vides)
Aglet.dispatch (URL url) // déplace l’aglet dans la place url
Aglet.deactivate (long time) // Suspend l’exécution
Aglet.clone () // Duplique l’aglet
Aglet.getAgletContext () // récupère la place courante
Aglet.onCreation (Object init) // executé lors de la création
Aglet.run () // lancé lors de l’arrivée sur la place
Aglet.HandleMessage (Message msg) // action lors de la réception d’un message
Aglet.onDisposing () // action lors de la desctruction de l’aglet mise à jour septembre 2010 51
13
Ma première Aglet
public class Hello extends Aglet { public void onCreation (Object init) { System.out.println (“created!”); } public void run () { System.out.println (“hello!”); } public boolean handleMessage (Message msg) { if (msg.sameKind(“sayHello”)) { System.out.println (“hello!”); return true; } return false; } public void onDisposing () { System.out.println (“bye!”); }} 52 mise à jour septembre 2010
Autres méthodes de la classe aglet Proxy et message
Proxy AgletContext.getAgletProxies() AgletContext.getAgletProxy (AgletID) Un proxy peut être transmis dans un message
Message Composé de deux champs : un type (String), un objet appel synchrone : AgletProxy.sendMessage (Message msg) appelsynchrone à résultat différé (asynchrone avec futur) :
AgletProxy.sendAsyncMessage (Message msg) Appel asynchrone : AgletProxy.sendOnewayMessage (Message msg)
mise à jour septembre 2010 53
Autres méthodes de la classe aglet Mobilité
Un listener pour la mobilité (MobilityListener) Pas de mobilité “forte” du code Des événements imposées par la plate-forme
agletArrived (ContextEvent ev) agletDispatched (ContextEvent ev) agletReverted (ContextEvent ev)
Des réactions définies par le programmeur onArrival (MobilityEvent l) // quand l’agent arrive sur une place onDispatching (MobilityEvent l) // quand l ’agent part d ’une place onReverting (MobilityEvent l) // quand l’agent part d’une place pour
revenir à la place ‘home’
54 mise à jour septembre 2010
Modèle à agents mobiles Programmation de la mobilité
55
aglet aglet
dispatch onDispatching () onArrival ()
retract
onReverting ()
mise à jour septembre 2010
14
Modèle à agents mobiles Programmation de la mobilité
class myListener implements MobilityListener { public void onDispatching (MobilityEvent l) { System.out.println (“I am leaving!”); } public void onReverting (MobilityEvent l) { System.out.println (“I am going home!”); } public void onArrival (MobilityEvent l) { System.out.println (“I have arrived!”); } }
public class MyAglet extends Aglet { public void onCreation (Object init) { MobilityListener listener = new myListener(); addMobilityListener(listener); }} 56 mise à jour septembre 2010
Autres méthodes de la classe aglet Cycle de vie, Clonage, Persistance
Un listener pour chaque classe d’événement Liés aux contextes
contextStarted (ContextEvent ev) contextShutdown (ContextEvent ev)
Cycle de vie d’une aglet agletCreated (ContextEvent ev) agletCloned (ContextEvent ev) agletStateChanged (ContextEvent ev) agletDeactivated (ContextEvent ev) agletActivated (ContextEvent ev)
57 mise à jour septembre 2010
Agents mobiles quelques justifications
mise à jour septembre 2010 60
Modèle à agents mobiles Application à Java
Avantages de Java Diffusion sur toutes les machines Mobilité du code et des objets
chargement dynamique de classes (ClassLoader) sérialisation des objets Java
Sécurité assurée par l'environnement confinement : pas d'adresses virtuelles contrôle d'accès aux ressources (SecurityManager)
61 mise à jour septembre 2010
15
Modèle à agents mobiles Conception sur Java
Sérialisation de l'état de l'agent Envoi du code et de l'état de l'agent Destruction de l'agent sur le site origine
Création d'un thread sur le site destination
Chargement du code de l'agent (chargeur privé) Dé-sérialisation de l'agent Exécution
62 mise à jour septembre 2010
Modèle à agents mobiles Expérimentation : coûts de base
Objectif : mesurer les coûts des principaux mécanismes de Java rentrant dans la conception
Développement d'une plate-forme minimale
Environnement :
63
Latence sur le réseau local 0.6 ms Latence sur Internet 20 ms Débit sur le réseau local 842 Ko/s Débit sur Internet 129 Ko/s Appel local de méthode Java 1 µs Appel à distance de méthode Java sur le réseau local 3,1 ms Appel à distance de méthode Java sur Internet 44 ms
mise à jour septembre 2010
Modèle à agents mobiles Evaluation des coûts
Coûts des principales phases coût de Java
prohibitif par rapport au réseau local acceptable par rapport à l'Internet
grande partie provenant du chargeur privé
64
Sérialisation de l'agent 3,2 msTransfert de l'agent sur le réseau local 8 msTransfert de l'agent sur Internet 121 msInstallation de l'agent avec le chargeurde Java
4.3 ms
Installation de l'agent avec un chargeurprivé à l'agent
23,8 ms
mise à jour septembre 2010
Modèle à agents mobiles Expérimentation : coûts de base
Coût de la migration (plate-forme minimale)
Coût de la migration (Aglets)
65
Coût de la migration d'un agent minimal sur réseau local 35 ms Coût de la migration d'un agent minimal sur Internet 148 ms
Coût de la migration d'un Aglet minimal sur réseau local 240 ms Coût de la migration d'un Aglet minimal sur Internet 369 ms
mise à jour septembre 2010
16
Modèle à agents mobiles Expérimentation : intérêt/RMI
Objectif : étudier l’intérêt de la technologie agents mobiles en utilisant le modèle client serveur (Java-RMI) une plate-forme minimale que nous avons réalisée une plate- forme très répandue (Aglets)
Résultats visés comparaison entre le modèle client-serveur et le modèle à agents
mobiles comparaison entre une plate-forme minimale et une vrai plate-forme
à agents mobiles
66 mise à jour septembre 2010
Modèle à agents mobiles Expérimentation
Trois machines réparties sur Internet en France (INRIA) en Grande-Bretagne (QMW) en Suisse (Université de Genève)
Aglets Java-RMI Notre plate-forme minimale
67 mise à jour septembre 2010
Modèle à agents mobiles Expérimentation
Capacités du réseau
68
Connexion Latence (ms) Débit (Ko/sec)
France - GB 20 129 GB - Suisse 16 280 Suisse - France 26 123
mise à jour septembre 2010
Modèle à agents mobiles Expérimentation
Comparaison aller-retour avec agent mobile et RMI Taille enregistrement : 80 octets entre France et GB
69
0500
100015002000250030003500
0 1
200
400
600
800
1000
1200
1400
Nombre d'e nre gis tre me nt
Tem
ps e
n m
illis
econ
des
RMIAgle ts a nd Age nt
mise à jour septembre 2010
17
Modèle à agents mobiles Expérimentation
Application de jointure rpcC-A(n) + n*rpcC-B(1) > AgC-A(0) + AgA-B(n) + AgB-C(2*n) Ag(n) augmente plus vite que rpc(n) ...
70
C
A
B
rpc (1)
rpc (n)
A
B
C
mise à jour septembre 2010
Modèle à agents mobiles Expérimentation
Application de jointure : résultats
71 mise à jour septembre 2010
Modèle à agents mobiles Expérimentation
Application de compression
La compression est potentiellement rentable si tc + fc * S/dr + td < S/dr ce qui donne :
dr < 74 Ko/s pour un fichier de 100 Ko dr < 164 Ko/s pour un fichier de 500 Ko
Mais le cout d’un transfert par agent augmente plus vite ... 72
App Serveur
document compressé
mise à jour septembre 2010
Modèle à agents mobiles Expérimentation
Application de compression : résultats
73 mise à jour septembre 2010
18
Modèle à agents mobiles Conclusion
Conclusion agents mobile : nouveau modèle basé sur la mobilité Java fournit les outils pour le support d'agents mobiles Intéressant pour des réseaux lents ou lors de déconnexions
Limites et perspectives intégration avec les autres modèles transparence de la programmation
migration faible/forte utilisation de ressources partagées
74 mise à jour septembre 2010
La plate-forme mobilet
Arborescence des fichiers Mobilet `-----appli
| `-----hello | `-----mesure | `-----vente `-----system
mise à jour septembre 2010 75
Travail à faire
mise à jour septembre 2010 76
Pour la semaine prochaine Avoir installé la plate-forme Avoir programmé l’exemple suivant
Écrire un agent mobile et mesurer le temps d’un aller retour d’un agent entre 2 JVMs de la même station
De même mesurer le coût d’un appel de procédure entre 2 JVMs de la même station
Mini projet
implémenter l'application de commerce électronique à l'aide de la plate-forme Mobilet Identification des manques Modification de la plate-forme Mise en forme de la démonstration Justifier l'intérêt d'un tel modèle pour cette application
mise à jour septembre 2010 77