• Aucun résultat trouvé

Structure du document

Après cette introduction, le manuscrit de thèse est divisé en deux grandes parties : un état de l’art et la contribution. L’état de l’art comprend deux chapitres :

– le chapitre 2 présente l’informatique pervasive. Les concepts clé de cette nou-velle vision y sont présentés, définis, ainsi que des exemples d’applications. Les caractéristiques des environnements ubiquitaires et les besoins des appli-cations ubiquitaires sont également présentés. Différents travaux existants, qui répondent à certaines des problématiques du développement des applications ubiquitaires, sont finalement exposés.

– le chapitre 3 traite de l’informatique autonomique. Il définit ce nouveau domaine et détaille ses objectifs majeurs. Il décrit également les concepts de base comme les boucles de contrôle et les architectures de référence développées dans ce domaine.

1.3. STRUCTURE DU DOCUMENT

– le chapitre 4 expose la problématique, les objectifs et donne une vision d’en-semble de notre approche. Il s’agit de montrer les différents éléments ajoutés à iPOJO pour faciliter l’administration autonomique d’iPOJO.

– le chapitre 5 fournit une description détaillée de notre approche, introduite dans le chapitre précédent.

– le chapitre 6 détaille l’implémentation de notre approche, et distingue claire-ment les parties d’ors et déjà introduite dans iPOJO et celles qui feront l’objet

d’évolutions à venir. Il illustre aussi l’utilisation de notre frameworkpar un cas

d’application et fournit un ensemble de mesures qualitatives et quantitatives. Enfin le chapitre 7 synthétise les idées principales de notre proposition. Nous rappelons les points principaux de notre contribution et nous décrivons les perspectives envisagées pour de futurs travaux.

Chapitre 2

Informatique Ubiquitaire

Dans ce premier chapitre, nous présentons le domaine de l’informatique ubiquitaire, aussi appelée informatique pervasive. Les concepts clé de ce domaine relativement récent seront définis. Nous présenterons également des exemples d’applications et les domaines de recherche associés. Nous identifierons ensuite les caractéristiques des environnements ubiquitaires et celles des applications informatiques. Nous donnerons alors une introduction aux techniques qui permettent de satisfaire ces besoins, en

se basant principalement sur une approche middleware. Différents travaux existants,

qui répondent à certaines des problématiques du développement des applications ubiquitaires, seront exposés. Enfin, nous montrerons que ces solutions, bien que dédiées au domaine du pervasif, ne résolvent pas les défis soulevés par la nature même de ce nouveau paradigme.

Sommaire

2.1 Évolution des environnements informatiques . . . . 13 2.2 Informatique ubiquitaire . . . . 15

2.2.1 Définition . . . . 15 2.2.2 Propriétés et notion de contexte . . . . 16 2.2.3 Dimensions sociétales et implications . . . . 19 2.2.4 Domaines de recherche associés . . . . 22

2.3 Caractéristiques des environnements ubiquitaires . . . . 24

2.3.1 Distribution à large échelle . . . . 25 2.3.2 Hétérogénéité . . . . 25 2.3.3 Ouverture et autorité plurielle . . . . 26 2.3.4 Dynamisme . . . . 26 2.3.5 Autonomie . . . . 27 2.3.6 Synthèse . . . . 28

2.4 Caractéristiques des applications ubiquitaires . . . . 29

2.4.1 Gestion des ressources . . . . 29 2.4.2 Orientation donnée . . . . 30 2.4.3 Notion de contexte . . . . 30 2.4.4 Adaptabilité . . . . 31 2.4.5 Sécurité . . . . 32 2.4.6 Synthèse . . . . 32

2.5 Conception des applications ubiquitaires . . . . 33 2.6 Middlewaresspécifiques pour l’ubiquitaire . . . . 35

2.6.1 Gaia/Olympus . . . . 35 2.6.2 Aura . . . . 37 2.6.3 Oxygen . . . . 38 2.6.4 Music . . . . 39 2.6.5 DiaSuite . . . . 40 2.6.6 WComp . . . . 41 2.6.7 Kalimucho . . . . 42 2.6.8 Synthèse . . . . 43 2.7 Middlewaresgénériques . . . . 44 2.7.1 Composants logiciels . . . . 44 2.7.2 Services logiciels . . . . 45 2.7.3 iPOJO . . . . 47 2.8 Conclusion . . . . 52

2.1. ÉVOLUTION DES ENVIRONNEMENTS INFORMATIQUES

FI G U R E2.1 – Évolution des ordinateurs1

2.1 Évolution des environnements informatiques

Notre environnement contient un nombre sans cesse croissant de systèmes infor-matiques. Il est aujourd’hui parsemé d’appareils numériques qui se distinguent par leur forme, leur puissance, leur rôle. Nombre de ces systèmes sont conçus pour nous assister et nous accompagner dans nos activités quotidiennes et même dans nos inter-actions sociales. Ce rapport nouveau et très évolué avec les systèmes informatiques peut paraître surprenant si l’on considère qu’il y a à peine cinquante ans, les machines analogiques de l’âge industriel ont commencé à être remplacées par les machines nu-mériques. Le fait est que les systèmes informatiques n’ont cessé d’évoluer depuis lors, grâce aux progrès technologiques permettant de concevoir des appareils toujours plus petits, plus puissants, plus communicants et consommant moins d’énergie. Le rapport humain à l’informatique a lui aussi franchi plusieurs paliers, chacun bouleversant nos manières d’interagir avec les ordinateurs. L’analyse de l’évolution des systèmes qui va suivre s’inspire d’une analyse présentée dans [Weiser 1996] qui débute par ces quelques lignes d’introduction :

« The important waves of technological change are those that funda-mentally alter the place of technology in our lives. What matters is not technology itself, but its relationship to us.»

La figure 2.1 ci-dessus illustre les changements technologiques fondamentaux liés à l’informatique. Elle met en évidence quelques étapes cruciales qui ont marqué son évolution. En particulier, les notions de distribution, de mobilité et de multiplication des systèmes informatiques apparaissent clairement comme des marqueurs majeurs.

Nous examinons plus précisément dans les sections suivantes ces différentes étapes. Au début des années 1940, l’informatique centralisée était prédominante et appa-raissait comme le seul moyen de construire des systèmes numériques. Ces derniers prenaient la forme d’ordinateurs isolés, pouvant atteindre la taille d’une pièce. Ils étaient composés de processeurs et de mémoire, et étaient administrés en permanence par des experts. Ces experts étaient à la fois les administrateurs, les développeurs et

les utilisateurs du matériel et des logiciels. Ces mainframes, puisque c’est le nom qu’on

donne à ces systèmes centralisés, disposaient de ressources limitées et devaient être partagés entre plusieurs utilisateurs.

Avec les progrès de l’électronique, la signification du terme mainframe a évolué. Il

est aujourd’hui attaché aux ordinateurs « haut de gamme » avec une puissance de calcul considérable, supportant des applications utilisées simultanément par des milliers de personnes. On considère donc aujourd’hui qu’un système informatique aux ressources

limitées et partagées par plusieurs utilisateurs est un mainframe, tel que défini dans

[Weiser 1996] :

« If lots of people share a computer, it is mainframe computing.»

Dans cette même analyse, Mark Weiser introduit ensuite l’émergence de l’informa-tique personnelle en ces termes :

« In 1984 the number of people using personal computers surpassed the number of people using shared computers. The personal computing relationship is personal, even intimate. You have your computer, it contains your stuff, and you interact directly and deeply with it.»

L’informatique personnelle, symbolisée par les PC (personal computer), est devenue

le mode d’interaction privilégié entre le monde numérique et l’utilisateur. Encore au-jourd’hui, la majorité des systèmes et applications sont basés sur ce mode d’interaction qui place l’utilisateur dans le rôle central : celui d’utiliser de façon proactive un service. Le système étant personnel, la plupart des utilisateurs sont aussi les administrateurs, installant et configurant les logiciels et périphériques conçus par des tiers.

Tandis que les PC et mainframes disposent de ressources locales limitées, les

in-frastructures réseaux tels que l’Internet permettent aux ordinateurs d’accéder à des services distants, liant ainsi les systèmes d’information personnels, professionnels et gouvernementaux. Ceci est résumé de la façon suivante par Weiser :

« Interestingly, the Internet brings together elements of the mainframe era and the PC era. It is client-server computing on a massive scale, with web clients the PCs and web servers the mainframes.»

L’accès généralisé à l’Internet permet aujourd’hui la conception d’applications plus complexes, avec plus de valeur ajoutée pour les utilisateurs. Ce concept soulève cependant de nombreux défis pour les concepteurs et les administrateurs de tels systèmes, tels que la prise en compte de la sécurité du système, les communications à distance ou l’intégration d’applications hétérogènes. La tendance initiale qui était de masquer tous ces problèmes aux développeurs est aujourd’hui remise en cause. Nous y reviendrons dans cette thèse.

Au début des années 1990, l’émergence des ordinateurs portables et des technolo-gies sans fil a permis la naissance de l’informatique mobile. L’utilisateur peut ainsi