• Aucun résultat trouvé

Définition du modèle de Ressources / Entités utilisatrices

d’applications en environnements mobiles

6.2 Caractérisation de l’environnement mobile

6.2.1 Définition du modèle de Ressources / Entités utilisatrices

Dans le chapitre 2, nous avions donné une définition d’un environnement mobile. Afin de mettre en évidence plusieurs aspects intervenant dans la conception de notre système de gestion de ressources et de distribution d’applications, cette définition peut être précisée pour l’environnement d’un terminal portable :

Environnement d’un terminal portable : l’environnement d’un terminal portable est consti-tué de l’ensemble des ressources et entités utilisatrices présentes sur les terminaux

(mo-biles ou non)1accessibles dans la cellule de communication sans-fil.

Les ressources de l’environnement mobile correspondent ainsi aux éléments soit (i) fournis-sant une capacité d’effectuer des traitements, soit (ii) réalifournis-sant un traitement bien défini. Chaque ressource possède des caractéristiques propres et, pour les différencier, ces offres doivent donc être classifiées. Comme le montre la figure6.2, nous avons opté pour une hiérarchie par spé-cialisation assez classique. Les ressources se divisent en deux catégories : les ressources maté-rielles et les ressources logicielles.

Les ressources de la première catégorie représentent les éléments matériels du terminal portable (le processeur, la mémoire, l’écran, la carte réseau, etc) mais représentent égale-ment les éléégale-ments matériels distants dans l’environneégale-ment mobile (une imprimante, un scan-ner, les éléments matériels de terminaux distants, etc). Les ressources de la seconde catégo-rie correspondent à différents éléments logiciels pouvant aller du niveau le plus proche de la machine (type et services des systèmes d’exploitation), au niveau des intergiciels (avec, par exemple, les services de notre propre système) jusqu’au niveau applicatif (librairies applica-tives ou directement les applications : commerce électronique, journaux électronique, etc).

Les entités utilisatrices correspondent aux éléments logiciels ayant des besoins d’effec-tuer des traitements. Pour exprimer ces besoins en fonction des caractéristiques des ressources, nous avons opté pour un modèle Ressources / Offres et Entités utilisatrices / Demandes (voir fi-gure6.1). Ressource Mémoire Offre Offre mémoire libre Demande mémoire libre

Demande Entité utilisatrice

concordance ?

concordance ?

* *

FIG. 6.1 – Modèle Ressources / Offres et Entités utilisatrices / Demandes

Une Ressource se voit donc adjointe un certain nombre d’Offre. Leur lien est une rela-tion de composirela-tion et signifie donc qu’une instance d’Offre est liée à une seule instance de Ressource et que la destruction de l’instance Ressource entraîne la destruction de toutes les instances d’Offre liées (une offre n’a, en effet, aucun raison d’être s’il n’existe pas de ressource correspondante). L’Entité utilisatrice possède, de manière symétrique, un certain nombre de Demande (également liées par composition). Pour effectuer la correspondance entre ces Offre et Demande, plusieurs méthodes de concordance sont spécifiées.

Les attributs d’une ressource et les termes des offres et demandes ne sont concrètement implantés que lors de la spécialisation. Ainsi, dans la figure 6.1, Ressource est spécialisée enMémoire, Offre est spécialisée enOffre mémoire libre. Si l’Entité utilisatrice nécessite de la mémoire libre, elle doit alors créer une demande coïncidenteDemande mémoire libre, spécia-lisation de Demande.

6. Conception d’un système de gestion de ressources et de distrib ution d’applications 135 Ressource matérielle Ressource

Processeur Mémoire Carte réseau Ecran Imprimante

Carte Ethernet Modem

Modem ADSL Carte Ethernet100 MB/s Carte Ethernet1GB/s

logicielle Ressource

Système

d’exploitation Librairie Service

Windows Unix communication sans−filService de Service de détectionet de notification

FreeBSD Linux

L’établissement d’une concordance est bijective, ce qui signifie qu’il faut que l’offre concorde avec la demande mais aussi que la demande concorde avec l’offre. Cela se traduit par les méthodes boolean isConformed(Demand) et boolean isConformed(Offer), respecti-vement au sein d’Offre mémoire libreet deDemande mémoire libre, spécialisations d’Offre et de Demande.

La figure6.3donne l’exemple d’une implantation de ces méthodes :

class FreeMemoryOffer extends Offer { // Offre de mémoire disponible protected int freeMemory;

...

public int getValue() { return(freeMemory); }

...

public boolean isConformed(Demand demand) { // Méthode de vérification de la // conformité entre offre et demande // Vérification de la conformité du type

if (!demand.getClass().getName() .equals("AeDEn.toolkit.environment.resources.FreeMemoryDemand")) { return(false); } else { return(decisionMetric(demand) == 1); } } ...

public float decisionMetric(Demand freeMemoryDemand) { // Métrique de décision if (freeMemoryDemand.getValue() <= freeMemory) { return(1); } else { return(0); } } ... }

FIG. 6.3 – Exemple d’implantation de la méthode de concordance et de la métrique de décision au sein d’une offre de mémoire disponible

En premier, les termes de l’offre sont caractérisés (ici, valeur freeMemory et mé-thode int getValue()). Ensuite, lors du test de concordance d’une demande, le type de la Demande est vérifié et doit correspondre à la demande symétrique de l’offre cou-rante (ici, FreeMemoryDemand). Cette vérification est effectuée dans le but de pouvoir accéder aux attributs symétriques de ceux de l’offre (sinon, par exemple ici, l’application de la mé-thode int getValue() n’aurait aucun sens sur un autre type de demande commeDemande de service de détection). La méthode de concordance fait appel à une métrique de décision,

qui donne un coefficient de concordance entre l’offre et la demande concernés. Ici, dans notre exemple, la métrique est simple puisqu’elle est binaire (la demande en mémoire est-elle infé-rieure à l’offre ?). Mais, elle peut être plus complexe, comme par exemple, sous la forme d’un pourcentage reflétant la demande qui maximise le plus l’offre de mémoire.

Nous avons séparé ces deux méthodes par souci de réutilisabilité. En effet, la métrique de décision peut très bien être appelée par les entités utilisatrices pour qu’elles puissent reformu-ler leurs demandes de manière à atteindre la concordance. De la même manière, les mêmes méthodes de concordance et métrique de décision existent dans une Demande et peuvent être, par exemple, utilisées dans le cas où une ressource cherche à satisfaire exactement une entité utilisatrice définie.