52
Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile 01/12/2003 F. Le Mouël 1 Environnement adaptatif d’exécution distribuée d’applications dans un contexte mobile F. Le Mouël IRISA 1 er décembre 2003 Bonjour, je vais vous présenter aujourd’hui mes travaux intitulés « Environnement adaptatif d’exécution distribuée d’applications dans un contexte mobile ». Ceux- ci ont été conduit à l’IRISA sous la direction de Françoise André.

Environnement adaptatif d’exécution distribuée d

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 1

Environnement adaptatif d’exécution distribuée d’applications dans un contexte mobile

F. Le Mouël

IRISA

1er décembre 2003

Bonjour,

je vais vous présenter aujourd’hui mes travaux intitulés « Environnement adaptatif d’exécution distribuée d’applications dans un contexte mobile ». Ceux-ci ont été conduit à l’ IRISA sous la direction de Françoise André.

Page 2: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 2

01/12/2003F. Le Mouël2

Plan

� Motivations de l’étude� Adaptations aux environnements mobiles� Environnement adaptatif d’exécution

distribuée d’applications� Navigateur pour environnements mobiles� Conclusions et perspectives

Mon exposé va suivre ce plan.

Je présenterai tout d’abord les motivations de notre étude. Je donnerai ensuite un bref état de l’art des systèmes d’adaptation aux environnements mobiles. Le troisième point constituera ma proposition : « un environnement adaptatif d’exécution distribuée d’applications ». Je l’ illustrerai d’une application de navigateur pour environnements mobiles. Et, enfin, je conclurai et donnerai des perspectives.

Page 3: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 3

01/12/2003F. Le Mouël3

Plan

� Motivations de l’étude� Adaptations aux environnements mobiles� Environnement adaptatif d’exécution

distribuée d’applications� Navigateur pour environnements mobiles� Conclusions et perspectives

Commençons par les motivations de notre étude.

Page 4: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 4

01/12/2003F. Le Mouël4

Motivations

� Exécution d’applications dans les environnements mobiles

� Difficultés

� Environnements mobiles� Caractéristiques hétérogènes

Actuellement, tout le monde peut constater le développement des environnements mobiles mais, pour autant, l’exécution d’applications dans ces environnements présente un certain nombre de difficultés. Ces difficultés proviennent du fait que les environnements mobiles présentent des caractéristiques d’exécution hétérogènes qui ne sont pas prises en compte par les applications.

Page 5: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 5

01/12/2003F. Le Mouël5

Environnements mobiles –terminaux portables

� Encombrement vs Ressources� Puissance processeur faible� Taille mémoire réduite� Capacité stockage réduite� Capacité d’affichage rudimentaire

� Ressources vs Autonomie� Durée de vie de la batterie réduite

Petit et léger

Ressources

Tout d’abord un environnement mobile est constitué d’un ensemble de terminaux portables.

Plusieurs caractéristiques s’opposent dans un terminal portable. La faiblesse de l’encombrement est au détriment de la disponibilité de ressources. Ainsi, plus un terminal portable est petit et léger, plus la puissance du processeur est faible, plus la taille de la mémoire est réduite, plus la capacité de stockage est réduite et plus les capacités d’affichage sont rudimentaires.

La disponibilité de ressources est également au détriment de l’autonomie. Ainsi, plus un terminal portable dispose de ressources, plus la durée de vie de la batterie est réduite.

Page 6: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 6

01/12/2003F. Le Mouël6

Environnements mobiles –réseaux sans-fil

� Bande passante vs Portée� Débit faible� Temps de latence important� Faible nombre de changements de

cellules

� Interférences avec l’environnement� Variations de la bande passante� Erreurs de transmission� Déconnexions

Large portéede transmission

Les terminaux portables disposent de moyen de communication sans-fil.

Deux caractéristiques s’opposent également dans un réseau sans-fil : la bande passante et la portée de communication. Ainsi, plus un terminal portable dispose d’une large portée de communication, plus le débit est faible, plus le temps de latence est important et moins nous avons de changements de cellules.

Les réseaux sans-fil se caractérisent aussi par la présence d’ interférences avec l’environnement proche. Celles-ci se traduisent par des variations de la bande passant, provoquant des erreurs de transmission, pouvant aller jusqu’à la déconnexion.

Page 7: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 7

01/12/2003F. Le Mouël7

Environnements mobiles –topologie

Stationde base A

Stationde base B

Station fixe

Stationde base C

~~

~~

Point d’accès

Ad hoc

~~

~~

~~

~~

Les environnements mobiles se caractérisent aussi par différentes topologies.

Ici, sur la gauche, un topologie en point d’accès est constituée d’un ensemble de stations de base formant les cellules. Sur la droite, une cellule d’un réseau ad hoc correspond à la portée de communication des terminaux.

La mobilitéd’un terminal portable y a donc des impacts différents.

Dans un réseau à point d’accès, un terminal portable peut se déplacer d’une cellule à une autre, soit en perdant et rétablissant une connexion, soit en changeant de station de base à l’aide d’un protocole de changement de cellule.

Dans un réseau ad hoc, la mobilité d’un terminal portable peut avoir pour conséquences, la fission d’une cellule en deux, ou la fusion de deux cellules en une.

Ces deux types de réseaux peuvent bien évidemment interagir.

Page 8: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 8

01/12/2003F. Le Mouël8

Environnements mobiles –exécution d’applications

� Applications ‘filaires’ sont rigides� Comportements non prévus (perte de qualité)� Terminaisons non prévues

� Applications ‘mobiles’ nécessitent des adaptations

� Au terminal portable (ressources, batterie)� Au réseau sans-fil (variations, déconnexions)� À l’environnement du terminal (topologie,

localisation, ressources autres terminaux, etc.)

L’exécution d’applications dans ce type d’environnements présente plusieurs problèmes.

Les applications conçues pour les environnements filaires sont souvent trop rigides pour les environnements mobiles. Dans comportements non prévus de l’environnement provoquent alors des comportements non prévus del’application, comme des pertes de qualité, pouvant aller jusqu’à la terminaison brutale de l’application.

Les applications pour les environnements mobiles nécessitent donc des adaptations. Ces adaptations doivent prendre en compte les éléments précités : le terminal portable avec ces ressources, sa batterie; le réseau sans-fil avec ses variations, ses déconnexions et l’environnement du terminal, non seulement la topologie, mais aussi, par exemple, la localisation ou les ressources des autres terminaux.

Page 9: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 9

01/12/2003F. Le Mouël9

Plan

� Motivations de l’étude� Adaptations aux environnements mobiles� Environnement adaptatif d’exécution

distribuée d’applications� Navigateur pour environnements mobiles� Conclusions et perspectives

Je vais maintenant vous présenter les systèmes existants effectuant des adaptations aux environnements mobiles.

Page 10: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 10

01/12/2003F. Le Mouël10

Adaptations

� Classification des approches� Définitions, critères

� Stratégies d’adaptations� Bilans

Le premier point présentera une classification des approches que nous avons effectuée selon plusieurs définitions et critères. Le second point présentera ce que réalise effectivement ces approches, leurs stratégies d’adaptations. Plusieurs bilans nous permettront de constater leur manque.

Page 11: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 11

01/12/2003F. Le Mouël11

Classification – définitions

Applications

Environnement mobile

Système d’adaptation

Comportements StratégiesApprochesréflexives

Approchesapplicatives

Approchestransparentes

spécialisables

contextuelles

Le but poursuivi est d’exécuter des applications au-dessus d’un environnement mobile. Pour s’adapter à ces environnements, les interactions entre applications et environnement mobile passent par un système d’adaptation. Du côté de l’application, les applications peuvent spécialiser leur comportement d’exécution, comme, par exemple, les besoins en ressources. Du côté de l’environnement mobile, les stratégies d’adaptation définissent le comportement de réaction face aux changements dans l’environnement. Comme le montre la figure, ces deux éléments ne sont pas disjoints car une application peut vouloir spécialiser sa propre stratégie. Les stratégies réagissent à ces changements en agissant soit sur l’environnement mobile, soit sur les applications ou soit sur le système d’adaptation lui-même.

Selon ces définitions, nous avons retenu 3 classes d’approches existantes: les approches transparentes, qui prennent en chargent toutes les variations de l’environnement mobile en masquant totalement la mobilité aux applications; les approches applicatives, dans celles-ci, les applications ont pleinement conscience de la mobilité et doivent spécialiser leur comportement; et les approches réflexives, celles-ci possèdent une description modifiable du système mais s’attachent plus aux mécanismes de l’adaptation en eux-mêmes. Elles sont indépendantes de toute classe d’applications et de tout environnement; et donc, dans ces dernières approches, les comportements applicatifs et les stratégies d’adaptation doivent être entièrement spécifiées.

Page 12: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 12

01/12/2003F. Le Mouël12

Classification - critères

Approchestransparentes

Approchesapplicatives

Approchesréflexives

Puissancede l’expressionde l’adaptation

Facilité, adéquationet efficacité d’utilisation

Généricité

Modularité

Évolutivité

Adaptabilité àl’environnement mobile

Efficacité

À partir des définitions précédentes, nous avons examiné ces approches selon deux critères.

En premier lieu, nous avons regardé la puissance d’expression de l’adaptation. Cette puissance d’expression permet d’obtenir des propriétés de généricité, de modularité et d’évolutivité. Du point de vue des approches transparentes, comme celles-ci sont totalement opaques pour les applications, les adaptations qui peuvent être exprimées sont figées et ne peuvent évoluer. À l’ inverse, les approches réflexives s’appuient sur une description du système et permettent une modification totale de celle-ci. Elles peuvent donc facilement évoluer.

En second lieu, nous avons examiné la facilité, l’adéquation et l’efficacitéd’utilisation de ces systèmes dans les environnements mobiles. Ce critère nous permet d’obtenir des propriétés d’adaptabilité et d’efficacité aux environnements mobiles. Du point de vue des approches transparentes, les adaptations étant définies à posteriori pour un contexte bien défini, celles-ci sont pleinement adaptées et performantes pour l’environnement. À l’ inverse, les approches réflexives étant indépendantes de toute application et de tout environnement, elles ne sont pas faciles d’utilisation puisque le comportement des applications et les stratégies d’adaptation aux environnements mobiles doivent y être entièrement caractérisés.

Page 13: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 13

01/12/2003F. Le Mouël13

Stratégies –gestion des données

� Transformation

� Préchargement

� Réplication

� Compression� Dégradation

� Historique� Prédiction

� Cohérence� Diffusion� Mise à jour

Après avoir classé ces approches, nous avons détaillé ce qu’elles réalisent vraiment, leurs stratégies d’adaptation aux variations dans l’environnement mobile. Nous avons premièrement examiné les stratégies de gestion des données.

Un des objectifs de ces approches est d’optimiser la quantité de données échangées sur le lien sans-fil. Pour cela, différentes techniques de transformation peuvent être appliquées, comme la compression ou la dégradation.

Un autre objectif est de prévenir les déconnexions. Pour cela des techniques de préchargement des données peuvent être mises en place pour permettre le travail en mode déconnecté. Ces préchargements peuvent être fait à partir de comportement déjà observés, comme avec` des historiques, ou à partir de prédictions, comme les prédictions de mouvement.

Recopier des données sur le terminal portable entraîne des problèmes de réplication. Différentes techniques doivent alors être mise en place, comme la cohérence, la diffusion et la mise à jour des données. Les environnements mobiles étant hautement variables, une cohérence relâchée lors des connexions ou reconnexions peut être mise en place. La diffusion peut se faire par voisinage particulièrement dans les réseaux ad hoc. Les mises à jour peuvent être à la demande ou périodiques selon le contexte.

Page 14: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 14

01/12/2003F. Le Mouël14

Stratégies –gestion des données

� Multitude de stratégies, aucune optimale, plutôt appropriées à un contexte donné

�Adaptations de changement de stratégies

� Utilisation de ressources du terminal portable et de l’environnement

� Gestion et optimisation globale des ressources

Après avoir examiné ces approches, on peut constater une multitude de stratégies. Aucune n’est vraiment optimale mais chacune est plutôt appropriée àun contexte donné. Pour pouvoir s’adapter à toutes les situations, nous allons fournir dans notre système des adaptations de changement de stratégies.

Nous avons aussi constaté que ces approches utilisent des ressources du terminal portable et de l’environnement. Par exemple, les techniques de compression utilisent de la puissance processeur dans l’environnement pour compresser et de la puissance processeur du portable pour décompresser. Notre système fournira donc une gestion et une optimisation globale de toutes les ressources et non pas juste une optimisation de certains critères comme la bande passante.

Page 15: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 15

01/12/2003F. Le Mouël15

Stratégies –gestion des ressources

� Découverte, localisation

� Utilisation distribuée

� Partage de charge

� Annonce/réponse� Enregistrement

� Client/Proxy/Serveur� Agent� N-uplet

� Collecte d’informations� Élection� Placement & migration

Justement, nous allons maintenant examiner les systèmes proposant des stratégies de gestion des ressources.

Une des premières étapes est de découvrir et de localiser les ressources. Cela peut s’effectuer par différentes techniques d’annonce et de réponse, comme les protocoles broadcast et multicast, permettant ensuite d’enregistrer les ressources ou leur utilisation.

Une fois localisées, il faut pouvoir les utiliser. Différents modèles d’utilisation distribuée existent comme le modèle client/ proxy /serveur, le modèle agent ou le modèle n-uplet, comme Linda par exemple.

Enfin pour que cette utilisation soit équitable, il est nécessaire d’avoir un partage de la charge d’utilisation. Ceci implique de mettre en place des politiques de collecte d’ informations, d’élection et de placement ou migration. La politique de collecte d’ informations se charge de surveiller l’état des ressources. Selon cet état et selon les besoins exprimes, la politique d’élection se charge de décider quel composant ou agent doit être déplacé. Et enfin, la politique de placement décide de l’endroit où ce composant ou agent sera placéou migré.

Page 16: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 16

01/12/2003F. Le Mouël16

Stratégies –gestion des ressources

� Multitude de stratégies, aucune optimale� Adaptations dynamiques de changement de

stratégies

� Niveaux d’adaptations différents� Granularité variable d’adaptations

� Gestion et équilibrage des ressources� Nécessité d’une gestion globale qui prenne en

compte les critères mobiles

Comme pour les stratégies de gestion des données, on peut constater une multitude de stratégies dont aucune n’est optimale. Notre système fournira donc des adaptations dynamiques de changement de stratégies. Ici, le fait que les adaptations soient dynamiques est primordial, car, à la différence des stratégies de gestion des données où un changement dans l’environnement affecte, par exemple la qualité de service, mais n’empêche pas l’exécution, un changement dans l’allocation de ressources peut provoquer un terminaison brutale de l’application.

Nous pouvons également constater des niveaux d’adaptations différents. Par exemple, au niveau des modèles d’utilisation, une adaptation sur un agent qui constitue donc un seul élément ne se situe pas au même niveau qu’une adaptation pour la gestion des ressources qui s’applique sur un ensemble d’éléments. Notre système proposera alors une granularité variable d’adaptations.

Enfin, ces systèmes proposent une gestion et un équilibrage des ressources mais ceux-ci ne prennent pas en compte tous les critères d’un environnement mobile. Notre système proposera donc une gestion globale associé avec une caractérisation de ces critères.

Page 17: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 17

01/12/2003F. Le Mouël17

Plan

� Motivations de l’étude� Adaptations aux environnements mobiles� Environnement adaptatif d’exécution

distribuée d’applications� Navigateur pour environnements mobiles� Conclusions et perspectives

Je vais maintenant vous présenter ma proposition « un environnement adaptatif d’exécution distribuée d’applications en environnements mobiles ».

Page 18: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 18

01/12/2003F. Le Mouël18

Proposition

� Objectifs� Architecture générale du système� Fonctionnalité d’adaptation et de

réaction dynamique� Fonctionnalité de gestion des ressources

et de distribution des applications

Tout d’abord, je présenterai les objectifs. Je présenterai ensuite l’architecture générale de notre système, notamment les fonctionnalités. Je détaillerai ensuite deux fonctionnalités particulières, la fonctionnalité d’adaptation et de réaction dynamique, et la fonctionnalité de gestion des ressources et de distribution des applications.

Page 19: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 19

01/12/2003F. Le Mouël19

Objectifs

� Environnement adaptatif d’exécution distribuée d’applications

� Système d’adaptation réflexif• Généricité, modularité, adaptabilité, évolutivité,

dynamicité� Système de distribution en environnements

mobiles• Prise en compte de l’environnement, de

l’application, dynamicité, performances

Notre objectif est de construire un environnement adaptatif d’exécution distribuée d’applications dans les environnements mobiles. Celui-ci s’appuiera sur un système d’adaptation réflexif. Nous avons choisi une approche réflexive pour ces bonnes propriétés de généricité, de modularité, d’adaptabilité, d’évolutivité et de dynamicité. Ce système sera ensuite appliqué pour construire un système de distribution en environnements mobiles. Celui-ci offrira une prise en compte de l’environnement, de l’application, de bonne dynamicité et de bonnes performances.

Page 20: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 20

01/12/2003F. Le Mouël20

Architecture générale

� Cadre de conception « mobilité »� Architecture partielle de fonctionnalités

de gestion des environnements mobiles

� Boîte à outils « mobilité »� Ensemble d’outils spécialisant ces

fonctionnalités

Notre système se décompose selon un cadre de conception « mobilité » qui définit une architecture partielle de fonctionnalités de gestion des environnements mobiles. Dans ce cadre, ne se trouve donc que le squelette, la structure abstraite de ces fonctionnalités. Ces structures peuvent être spécialisées par un ensemble d’outils se trouvant dans notre boîte àoutils « mobilité ».

Page 21: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 21

01/12/2003F. Le Mouël21

Cadre de conception –Boîte à outils

Applications

Environnement mobile

Système d’adaptation

Cadre deconceptionF1 F2 F3

Boîteà outils

ConcepteurAdministrateur

Utilisateur

Notre système d’adaptation est donc une instance du cadre de conception. La première spécialisation possible consiste à choisir les fonctionnalités désirées. Elles peuvent ensuite être spécialisées à partir d’outils de notre boîte à outils. Elles peuvent aussi être spécialisées à partir d’outils fournis par le concepteur, l’administrateur ou l’utilisateur. Cette spécialisation peut s’effectuer statiquement par le concepteur à la conception, ou dynamiquement, en cours d’exécution du système, par un administrateur. L’application, si elle dispose de stratégies propres, peut également spécialiser les fonctionnalités.

Page 22: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 22

01/12/2003F. Le Mouël22

Spécialisations

� Composition� Choix des fonctionnalités

� Héritage / respect des interfaces� Complétion des structures abstraites

� Paramétrisation� Modification de l’état des fonctionnalités

instanciées� Ajout avec altération

� Modification de la structure des fonctionnalités

Dans le transparent précèdent, nous avons vu deux formes de spécialisations. Notre système en dispose de quatre.

La composition consiste à choisir les fonctionnalités. L’héritage et le respect des interfaces consiste à effectuer la complétion des fonctionnalités préalablement choisies. La paramétrisation consiste à modifier l’état des fonctionnalités instanciées. Elle sert, par exemple, à changer les valeurs d’un algorithme. Enfin, l’ajout avec altération; notre système étant ouvert, il est possible d’ajouter des fonctionnalités ou de modifier la structure des fonctionnalités existantes.

Page 23: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 23

01/12/2003F. Le Mouël23

Fonctionnalités

Adaptation dynamique

Gestion des ressourcesde l’environnement

Gestion des ressourceslocales du terminal

Gestion de la distributiondes applications

Détection et notificationsdes variations

Gestion desdonnées

Gestion descommunications

Cadre deconception

Voici les fonctionnalités principales que nous avons développé : la gestion des données qui effectue du préchargement et de la cohérence, la gestion des communication qui prend en charge les déconnexions, la détection et notifications des variations qui surveille les changements de l’environnement mobile, et enfin, les fonctionnalités que je vais détailler par la suite : l’adaptation dynamique, la gestion des ressources locales et globales de l’environnement, et la gestion de la distribution des applications.

Page 24: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 24

01/12/2003F. Le Mouël24

Architecture générale –avantages

� Découpage en cadre de conception / boîte à outils

� Facilité de conception� Facilité de réutilisation� Facilité de maintenance

� Découpage en fonctionnalités� Modularité pertinente pour le concepteur� Aspects sans-fil répertoriés et isolés des

aspects applicatifs

Notre architecture présente les avantages suivants.

Le découpage en cadre de conception et boîte à outils fournit une facilité de conception et une facilite de réutilisation de par le fait que les fonctionnalités soient bien identifiées et les outils standards. Chaque concepteur peut alors choisir et réutiliser ce qui l’ intéresse. Il présente également une facilité de maintenance. Selon les changements qui peuvent intervenir dans l’environnement mobile, comme une nouvelle technologie, les administrateurs peuvent en effet ajouter facilement de nouveaux outils.

Le découpage en fonctionnalités offre une modularité pertinente pour le concepteur. Ainsi, lors de la conception d’une application, un concepteur peut se concentrer sur les aspects applicatifs puisque les aspects sans-fil sont bien répertoriés et isolés. Il n’aura pas à entremêler son code applicatif avec le code de gestion du sans-fil.

Page 25: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 25

01/12/2003F. Le Mouël25

Proposition

� Objectifs� Architecture générale du système� Fonctionnalité d’adaptation et de

réaction dynamique� Fonctionnalité de gestion des ressources

et de distribution des applications

Je vais maintenant vous détailler plus particulièrement la fonctionnalité d’adaptation et de réaction dynamique.

Page 26: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 26

01/12/2003F. Le Mouël26

Fonctionnalité d’adaptation et de réaction dynamique

� Modèle d’entité� Modèle d’entité adaptative� Modèle d’entité auto-adaptative� Hiérarchie des abstractions de conception

La fonctionnalité d’adaptation et de réaction s’appuie sur plusieurs modèles que nous avons développés. Je vais vous présenter le modèle d’entité, le modèle d’entité adaptative et le modèle d’entité auto-adaptative. Ces modèles nous ont servis àmettre en place une hiérarchie des abstractions de conception.

Page 27: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 27

01/12/2003F. Le Mouël27

Modèle d’entité

Interaction Implantation

État

Interaction1 Implantation1 Implantation2Interaction2

État2

État1Entité

Un entité se compose d’une interaction. L’ interaction est en charge de tous les aspects communication de l’entité, envoi, réception de messages, d’appels de procédure, etc.

À cette interaction est agrégée une implantation. L’ implantation réalise la fonctionnalité de l’entité. La relation entre l’ interaction et l’ implantation est une agrégation au sens UML du terme, c’est à dire, qu’ il ne peut y avoir qu’une seul implantation liée à l’ interaction à un instant t donné, et que leurs cycles de vie sont liés, c’est-à-dire que la destruction de l’ interaction implique la destruction de l’ implantation liée.

À l’ implantation est agrégée un état. Celui-ci conserve l’état courant de l’entité.

Ces différents éléments peuvent être spécialisés, par exemple, par héritage. L’ interaction peut alors être spécialisée en interaction1 ou interaction2, implantation en implantation1 ou 2 et l’état en etat1 ou 2.

Page 28: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 28

01/12/2003F. Le Mouël28

Modèle d’entité adaptative

Entité adaptative

Entité fonctionnelle

Entité d’adaptation

Niveaufonctionnel

Niveauméta

Adaptateur Adaptation1..*

Adaptation.transformation(..)3 types d’adaptations

Nous avons ensuite construit le modèle d’entité adaptative à partir du modèle d’entité en y rajoutant les aspects adaptatifs. Ces aspects adaptatifs étant non fonctionnels, nous avons décomposé l’entité adaptative selon le niveau fonctionnel et le niveau méta.

Au niveau fonctionnel, on retrouve donc l’entité fonctionnelle qui réalise la fonctionnalité de l’entité adaptative. À l’entité fonctionnelle est agrégée, au niveau méta, une entité d’adaptation. Celui-ci conserve la description des adaptations possibles et se charge de les appliquer si nécessaire. Pour une plus grande dynamicité, l’entité d’adaptation est elle-même une entité, avec interaction, implantation et état. L’ implantation est spécialisée par un adaptateur qui conserve la liste des adaptations possibles. 3 types d’adaptations peuvent être appliqués, par intercession, par l’entité d’adaptation sur l’entité fonctionnelle : une adaptation de l’état, une adaptation de l’ implantation et de l’état, et une adaptation de l’ interaction, de l’ implantation et de l’état. Lors de ces adaptations, une procédure de transformation est appliquée pour conservation. L’état résultant d’une adaptation peut, par exemple, dépendre de l’état précédent.

Page 29: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 29

01/12/2003F. Le Mouël29

Modèle d’entitéauto-adaptative

Entité auto-adaptative

Entité fonctionnelle

Entité d’adaptation

Contrôleur Stratégie

1..*

Entitéde réaction

TransitionAdaptation

Notification

Nous avons construit l’entité auto-adaptative à partir du modèle d’entitéadaptative en y rajoutant les aspects réactifs. On retrouve donc l’entitéfonctionnelle au niveau fonctionnel et l’entitéd’adaptation au niveau méta.

Une entité de réaction est agrégée à l’entité fonctionnelle et à l’entitéd’adaptation. Celle-ci maintient la description des réactions. Comme les deux autres entités, elle suit le modèle d’entité avec interaction, implantation et état. L’ implantation est spécialisée par un contrôleur qui maintient une stratégie d’adaptation représentée par un automate dont les états correspondent aux valeurs interaction, implantation, état de l’entité fonctionnelle et dont les transitions correspondent aux adaptations à appliquer.

Lors d’un changement dans l’environnement, le contrôleur reçoit une notification, qui, selon la stratégie d’adaptation, résulte en l’application d’une adaptation, se trouvant l’entitéd’adaptation, sur l’entité fonctionnelle.

Page 30: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 30

01/12/2003F. Le Mouël30

Hiérarchie des abstractions de conception Entité

adaptative

Modèle

Application

Intergiciel

Composant

Objet

représente

utilise

utilise

utilise

1..n

1..n

1..n

1..n

À partir de ces modèles, nous avons construit une échelle des abstractions de conception.

Ainsi, nous avons remarqué qu’un modèle, comme un modèle UML, représente une classe d’applications. Une application peut utiliser des intergiciels quipeuvent eux-mêmes être composés de composants ou d’objets. Cette échelle n’est évidemment pas exhaustive, ni restrictive, une application peut très bien utiliser des composants ou des objets sans passer par un intergiciel.

Nous avons représenté ces différentes abstractions de conception comme étant des spécialisations d’entité adaptative. Cela permet donc de pouvoir appliquer des adaptations sur ces abstractions. Comme je l’ai montré dans un transparent précédant, l’application d’une adaptation s’effectue avec l’application d’une procédure de transformation. Cette procédure de transformation peut être utilisée pour propager les adaptations le long de l’échelle. L’adaptation d’un modèle peut donc entraîner l’adaptation des applications représentées par ce modèle, et ainsi de suite, pour les intergiciels, les composants et les objets. Bien évidemment, si l’adaptation survient sur un objet, la propagation peut s’effectuer dans le sens inverse, du niveau le plus concret vers le plus abstrait.

Page 31: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 31

01/12/2003F. Le Mouël31

Fonctionnalité d’adaptation –avantages

� Modèle entité� Généricité de conception

� Découpage en niveau fonctionnel / niveau méta

� Dynamicité de l’adaptation� Souplesse d’évolution

� Échelle des abstractions de conception� Granularité variable d’adaptation

Notre fonctionnalité d’adaptation et réaction présente plusieurs avantages.

Le modèle entité permet d’avoir une généricité de conception. Il est utilisé pour n’ importe quelles abstractions de conception.

Le découpage en niveau fonctionnel et niveau méta permet d’avoir une grande dynamicité de l’adaptation. Il est notamment possible d’ajouter et de retirer dynamiquement des adaptations possibles, d’ajouter et de retirer dynamiquement des stratégies d’adaptations. Il présente également une grande souplesse d’évolution, puisque les aspects non fonctionnels sont représentés par des entités qu’ il est possible de retirer, de changer.

Enfin, l’échelle des abstractions de conception nous offre la granularité variable d’adaptation que nous souhaitions obtenir dans notre système.

Page 32: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 32

01/12/2003F. Le Mouël32

Proposition

� Objectifs� Architecture générale du système� Fonctionnalité d’adaptation et de

réaction dynamique� Fonctionnalité de gestion des ressources

et de distribution des applications

Je vais vous présenter maintenant la dernière fonctionnalité, la fonctionnalité de gestion des ressources et de distribution des applications.

Page 33: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 33

01/12/2003F. Le Mouël33

Fonctionnalité de gestion des ressources et de distribution

� Caractérisation de l’environnement mobile� Caractérisation des applications� Architecture des fonctionnalités� Exemple de stratégie

Pour effectuer une distribution, il est nécessaire de caractériser l’environnement d’exécution, ici l’environnement mobile, de caractériser les applications qui vont s’y exécuter. Une fois cela fait, je vous présenterai l’architecture des fonctionnalités de gestion des ressources et de distribution, avec un exemple de stratégie.

Page 34: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 34

01/12/2003F. Le Mouël34

Caractérisation de l’environnement mobile

Ressource Entité utilisatriceDemandeOffre

DemandeMémoire libre

OffreMémoire libre

Mémoire

* *

Valeur demande � valeur offre ?

Concordance ?

Pour représenter l’environnement mobile, nous avons choisi un modèle ressource/entité utilisatrice.

Une ressource propose un certain nombre d’offres, et une entité utilisatrice publie un certain nombre de demandes, le but étant bien évidemment de les faire correspondre grâce àune métrique de concordance.

Par exemple, une ressource de type mémoire peut proposer une offre de mémoire disponible. Une entité utilisatrice n’a alors plus qu’à publier une demande de mémoire libre qui correspondra si la valeur de la demande est inférieure à la valeur de l’offre.

Page 35: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 35

01/12/2003F. Le Mouël35

Caractérisation de l’environnement mobile

� Axe du déplacement / mouvement� Carte réseau sans-fil (bluetooth, WaveLAN,..)

• Qualité du signal• Force du signal• Niveau bruit• Localisation

� Axe de la consommation d’énergie� Batterie

• Niveau de charge• Taux de décharge

�Taux de variabilité

�Probabilité de (dé|re)connexion

�Estimation de la duréede (dé)connexion

�Estimation de ladurée de vie

Dans ce modèle ressource/entité utilisatrice, nous avons ensuite caractérisé les ressources propres aux environnements mobiles. Celles-ci se déclinent selon deux axes.

L’axe du déplacement/mouvement comprend notamment les cartes réseau sans-fil, comme les cartes bluetooth, WaveLAN, etc. Elles présentent des caractéristiques particulières : la qualité du signal, la force du signal, le niveau du bruit et la localisation. Elles nous permettent de déduire différents indices comme le taux de variabilité, les probabilités de déconnexion et reconnexion, ou une estimation de la durée de connexion ou déconnexion.

Un autre axe est la consommation d’énergie, notamment avec la batterie. Celle-ci présente également des caractéristiques particulières de niveau de charge et de taux de décharge qui permettent de déduire l’estimation de la durée de vie.

Page 36: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 36

01/12/2003F. Le Mouël36

Caractérisation de l’application

Application

Entité adaptative

*

Entité

Ressource /Entité utilisatrice

Adaptation : changementde localisationdes ressources / entités utilisatrices

État : localisation,déplaçable

Un fois caractérisé l’environnement d’exécution, il est nécessaire de caractériser les applications qui vont s’y exécuter.

Un application est constituée d’un ensemble de ressources et entités utilisatrices. Chaque ressource/entité utilisatrice est une spécialisation d’entité. L’application est une spécialisation d’entité adaptative.

Ce qui nous intéresse particulièrement est de pouvoir déplacer les entités lors de la distribution. Lors de la spécialisation, l’état des ressources/entités utilisatrices est alors agrémenté d’ information de localisation et de possibilité de déplacements. La spécialisation de l’application est agrémentée d’une adaptation particulière, celle de changement de localisation des entités. Cette adaptation fait partie de l’application et lui permet donc de spécifier sa propre procédure de migration

Page 37: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 37

01/12/2003F. Le Mouël37

Fonctionnalités

� Service de détection et notification� Surveille de l’état des ressources/entités

� Service de gestion de l’environnement local� Répertorie et met à disposition les

ressources/entités locales au terminal� Service de gestion de l’environnement

� Répertorie les ressources/entités globales� Service de distribution

� Calcule et effectue le placement/migration des ressources/entités

Je vais maintenant vous détailler les fonctionnalités que nous avons mises en place pour la distribution.

Tout d’abord, le service de détection et notification se charge de surveiller l’état des ressources et des entités de l’environnement. Le service de gestion de l’environnement local; celui-ci répertorie les ressources et entités locales au terminal portable et les met à disposition dans l’environnement global. Justement, le service de gestion de l’environnement se charge de répertorier globalement les ressources et entités. Enfin, le service de distribution décide de l’endroit où mettre les entités et réalise leur placement ou migration.

Page 38: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 38

01/12/2003F. Le Mouël38

Architecture des fonctionnalités

Stationde base A

Stationde base B

Station fixe

Stationde base C

~~

~~

~~

~~

~~

~~

L’ implantation de ces fonctionnalités dans un environnement mobile présente quelques difficultés. En effet, si un service se trouve uniquement sur un terminal portable, et que celui-ci se déplace hors de communication, le service disparaît alors pour tous les autres terminaux.

Nous avons choisi d’ implanter chaque service de manière locale sur chaque terminal et de donner à cet ensemble de service locaux une représentation globale.

Page 39: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 39

01/12/2003F. Le Mouël39

Architecture des fonctionnalités

Service global

Entité adaptative

Stratégied’adaptation

Adaptation : ajout/retrait de services locaux

Service local1..n

1..n

utilise

utilise

Adaptation : changement de stratégies

Adaptation : changement d’algorithmes

Ceci peut s’exprimer ainsi.

Un service global utilise un certain nombre de services locaux qui implantent chacun une stratégie d’adaptation. Ces services sont représentés comme étant une spécialisation d’entité adaptative avec pour adaptation des services globaux, l’ajout et le retrait de services locaux; comme adaptation des services locaux, le changement de stratégie; et comme adaptation des stratégies, le changement d’algorithmes.

Page 40: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 40

01/12/2003F. Le Mouël40

Stratégie : service de gestion de l’environnement

������� ��� ���� ������������ ���� ���� ������������� ����� ���"!#%$'&%(�)�*,+.-/(�-�01$324*.5 6 798,:�;<2=6 7>-/-.0?(�&A@CB�$'-?$'&,$'*.5 -

�����4� ��� D��� ������������ ���� ���� �4� �A�E����� ����� �D�F!#,$'&%(G)>*%+<-C(�-H0�$I24*.5 6 798,:J;%2=6 7>-C-.0?(�&�@KB1$'-�BG*.2�$I6 -.5 5 -KLIM%N%OQP

������� ��� ���� ������������ ���� ���� �4� �A�E����� ����� ���R!#%$S&<(�)�*,+.-/T�6 79$32'6 U.V18WLYX,&�6 716 0�*,+.-,P=:�;<2=6 7>-/-H0?(�&A@/B�$S-ZB�*H2�$36 -.5 5 -WLIM,N<OQP

[ 8%7>-,*HVWB�&�6 01$�TH\ *,(�(�],7

[ 8%7>-,*HV?*GT�^�&<(

[ 8,7>-%*HV`_=6 5 *H6 24-

[ 8,7>-,*HVWBG&H6 0�$DTH\ *,(�(�]%7

[ 8,7>-,*�V`*GT�^G&%(

[ 8,7>-,*HV`_=6 5 *�6 24-

Voici un exemple de stratégie pour le service de gestion de l’environnement.

Prenons l’exemple d’un ordinateur portable. Lorsque celui-ci est dans sa station d’attache, sa dock station, il est relié à un réseau local au travers d’une liaison de type Ethernet. Le stockage des informations de l’environnement peut alors s’effectuer de manière centralisée sur un serveur du réseau local.

Lorsque l’ordinateur se déplace et utilise un réseau sans-fil à point d’accès, de type waveLAN, le stockage de l’ information peut rester centralisé puisque l’ordinateur dispose toujours d’une station de base, mais pour réduire le trafic sur le lien sans-fil, la quantité d’ informations prises en compte peut, par exemple, être de 50%.

Lorsque l’ordinateur se déplace dans un réseau de type ad hoc, le stockage centralisé n’est plus possible puisque toutes les stations jouent le même rôle. Un stockage distribué par voisinage peut, par exemple, être appliqué. La réduction de la quantitéde données prise en compte peut rester à50%.

Page 41: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 41

01/12/2003F. Le Mouël41

Gestion et distribution –avantages

� Modèle ressource/offre – entité/demande� Évolutivité, nouveaux types de ressources

� Modèle services locaux/globaux� Passage à l’échelle

� Services de gestion et distribution� Utilisation du modèle d’entité adaptative� Réactions dynamiques aux changements de

l’environnement� Performances de l’environnement

Notre fonctionnalité de gestion des ressources et distribution des applications présente plusieurs avantages.

Le modèle ressource/offre – entité/demande offre une grande évolutivité, notamment de nouveaux types de ressources peuvent être ajoutes, par exemple, si de nouvelles technologies voient le jour.

Le modèle de service locaux/globaux permet le passage à l’échelle. Ainsi, un service global représentant un certain nombre de services locaux peut très bien être considéré comme un service local pour un autre service « plus » global.

Enfin, nos services de gestion des ressources et de distribution des applications utilisent le modèle d’entité adaptative et bénéficient en cela de leur généricité et permettent des réactions dynamiques aux changements de l’environnement. Ils bénéficient également des performances de l’environnement.

Page 42: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 42

01/12/2003F. Le Mouël42

Plan

� Motivations de l’étude� Adaptations aux environnements mobiles� Environnement adaptatif d’exécution

distribuée d’applications� Navigateur pour environnements mobiles� Conclusions et perspectives

Je vais enfin vous présenter l’application de navigateurs pour environnements mobiles que nous développée avec notre système.

Page 43: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 43

01/12/2003F. Le Mouël43

Exemple : navigateur

Stationde base A

Station fixe

~~

Composantde chargement

Composant detransformation

Composantd’affichage

Composant detransformation

Composantde chargement

Application avecadaptation

de migration de composants

Notre application se compose de trois composants : le composant de chargement qui charge les pages HTML, le composant de transformation qui se charge de transformer les pages HTML conformément aux possibilités d’affichage du terminal portable, et justement le composant d’affichage qui les affichent.

Notre application présente comme adaptation la migration de composants. Au démarrage de l’application, les composants s’exécutent sur le terminal portable et lorsque la batterie atteint les 40%, nous migrons les composants dans l’environnement. Le composant de chargement est migré sur la station de base A, et le composant de transformation est migrésur la station fixe.

Nous avons mesuré les performances de l’application et l’économie des ressources, résultats que je pourrai vous montrer en annexe si vous le désirez.

Page 44: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 44

01/12/2003F. Le Mouël44

Plan

� Motivations de l’étude� Adaptations aux environnements mobiles� Environnement adaptatif d’exécution

distribuée d’applications� Navigateur pour environnements mobiles� Conclusions et perspectives

Je vais maintenant conclure et donner quelques perspectives.

Page 45: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 45

01/12/2003F. Le Mouël45

Conclusions

� Environnement adaptatif d’exécution distribuée d’applications

� Système d’adaptation réflexif• Cadre de conception / boîte à outils, fonctionnalités

spécialisables (4 techniques), modèles d’entité, d’entité adaptative et auto-adaptative, échelle des abstractions de conception

�Généricité

�Modularité

�Adaptabilité

�Évolutivité

�Dynamicité

Je vous ai donc présenté mes travaux « un environnement adaptatif d’exécution distribuée d’applications dans un contexte mobile ».

Celui-ci repose sur un système d’adaptation réflexif découpé en cadre de conception et boîte à outils;, comprenant un certain nombre de fonctionnalités spécialisables selon quatre techniques; pour l’adaptation, les modèles d’entité, entité adaptative et auto-adaptative; et une échelle des abstractions de conception.

Notre système respecte les propriétés que nous nous étions fixées au départ : généricité, modularité, adaptabilité, évolutivité, dynamicité.

Page 46: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 46

01/12/2003F. Le Mouël46

Conclusions

� Environnement adaptatif d’exécution distribuée d’applications

� Système de distribution en environnements mobiles

• Modèle ressource/offre - entité utilisatrice/demande, modèle de service local/global, services de gestion de l’environnement et de distribution

�Prise en compte de l’environnementde l’application

�Dynamicité

�Performances

Nous avons ensuite appliqué ce système d’adaptation pour construire un système de distribution en environnements mobiles.

Celui-ci repose sur un modèle ressource/offre – entité/demande, un modèle de services locaux et globaux et différents services de gestion de l’environnement et de distribution.

Celui-ci respecte aussi les propriétés de prise en compte de l’environnement, de l’application, de dynamicité, de performances que nous nous étions fixées au départ.

Page 47: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 47

01/12/2003F. Le Mouël47

Perspectives

� Ajout de capacités de négociation pour compromis entre différentes adaptations ou différentes offres/demandes

� Ajout de techniques de spécialisation du cadre de conception

� Ajout d’outils de gestion et de validation pour l’ajout avec altération

� Ajout de nouvelles techniques comme l’évaluation partielle, la fragmentation, la fusion ou la fission de programmes

� Intégration dans un système à grande échelle

Je vois maintenant plusieurs perspectives à ce travail ...

comme l’ajout de capacités de négociation pour effectuer des compromis entre adaptations et concordances d’offres et demandes. En effet, à l’heure actuelle, lors de l’application d’une adaptation, par exemple, lors de la propagation dans l’échelle d’abstractions, l’entité adaptée n’a pas d’autre choix que d’accepter ou refuser l’adaptation. Il pourrait être intéressant d’effectuer des compromis qui satisferaient les deux parties. De même, une concordance entre une offre et une demande ne s’effectue actuellement que s’ il y a strict concordance, et il pourrait être intéressant en cas de presque concordance de pouvoir, par exemple, diminuer les demandes et augmenter les offres. …

Une autre perspective est l’ajout de techniques de spécialisation du cadre de conception. En effet, pour l’ instant, notre cadre peut être spécialisé selon quatre techniques : composition, héritage, paramétrisation et ajout avec altération. Cette dernière pourrait être agrémentée d’outils comme l’ injection ou la modification de code avec des techniques de contrôle de validité, comme par exemple, pour vérifier que les entrées/sorties restent les mêmes. De nouvelles techniques de spécialisation pourraient également être ajoutées comme l’évaluation partielle, la fragmentation, la fusion ou la fission de programmes. …

En dernière perspective, comme notre système peut passer à l’échelle, une intégration dans un système à grande échelle pourrait être intéressante pour confronter les propriétés de localité liées aux environnements mobiles avec le fait que les systèmes à grande échelle abstraient justement les distances.

Page 48: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 48

01/12/2003F. Le Mouël48

Questions

Ceci conclue mon exposé. Avez-vous des questions ?

Page 49: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 49

01/12/2003F. Le Mouël49

AnnexeNavigateur : performances

0

500

1000

1500

2000

2500

3000

3500

4000

4500

CC CT

Tempsd'execution (P)Tempsd'execution (E)

60% 40%

En annexe, je peux vous présenter les mesures réalisées avec mon navigateur.

Nous avons tout d’abord mesuré les performances en terme de temps d’exécution. La colonne de gauche montre le temps d’exécution lorsque les composants s’exécutent sur le terminal portable et le colonne de droite montre le temps d’exécution lorsque les composants s’exécutent dans l’environnement. Pour le composant de chargement, nous avons obtenu un gain de 60% et, pour le composant de transformation, un gain de 40%.

Page 50: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 50

01/12/2003F. Le Mouël50

AnnexeNavigateur : performances

0

10

20

30

40

50

Quantite de donnees

CC-CT (P)CC-CT (E)

50%

Toujours du point de vue de l’application, nous avons également mesuré les performances en terme de quantitéde données transférées sur le lien sans-fil.

La colonne de gauche présente la quantité de données transférées lorsque les composants s’exécutent sur le terminal portable, la colonne de droite présente la quantité de données transférées lorsque les composants s’exécutent dans l’environnement. Lorsque les composants s’exécutent dans l’environnement, tous les chargements et traitements sont effectués en dehors du portable et ce ne sont finalement que les résultats qui sont transférés au terminal potable. Cela se traduit par une réduction de 50% des données transférées sur le lien sans-fil.

Page 51: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 51

01/12/2003F. Le Mouël51

AnnexeNavigateur : économie

0

20

40

60

80

100

120

Duree de vie de la batterie

CC-CT (P)CC-CT (E)Systeme+ecran

30% �

45%

Migrationà 40% restant

Nous avons également mesuré les performances en termes d’économie d’utilisation des ressources du terminal portable.

Ce graphique montre l’économie en terme de batterie. La colonne de gauche montre la durée de vie de la batterie lorsque les composants s’exécutent sur le terminal portable, elle est de 65 minutes. Avec notre stratégie d’adaptation, nous avons migré les composants lorsque la batterie a atteint 40%. La colonne dumilieu montre alors que la durée de vie passe à 90 minutes, soit un gain de 30%. De manière optimale, si nous avions migré les composants dès le démarrage du système, la durée de vie de la batterie aurait alors tendu vers la durée lorsqu’ il n’y a que le système et l’écran. Comme le montre la colonne de droite, cela correspondrait à110 minutes, soit un gain de 45%.

Page 52: Environnement adaptatif d’exécution distribuée d

Environnement adaptatif d'exécution distribuée d'applications dans un contexte mobile

01/12/2003

F. Le Mouël 52

01/12/2003F. Le Mouël52

AnnexeNavigateur : économie

0

200

400

600

800

1000

1200

1400

1600

Debit de la bande passante

CC-CT (P)CC-CT (E)Debit max

30%

Nous avons mesuré l’économie des ressources en terme du débit de la bande passante. La colonne de droite montre le débit théorique maximal. Par rapport àce débit, la colonne de gauche montre le débit lorsque les composants s’exécutent sur le terminal portable. Ce débit est augmenté de 30% lorsque les composants s’exécutent dans l’environnement. Cette diminution du surcoût résulte de l’adoption (par adaptation) d’une politique appropriée pour la gestion des informations de l’environnement.