Mon PLAN HDR
Titre
Intergiciel pour l'Informatique Ambiante
Introduction :
Rappel sur l'histoire de l'Informatique comme Science (Cf. Berry)
Où placer la notion de Middleware ? (Cf. Tigli / Fête de la Science)
Objectif : Masquer et gérer la distribution = déjà idée de maintenir un modèle idéal du système au runtime fonction d'une infrastructure contrainte. (Sacha Krakoviak)
Domaine de la HDR :
Les intergiciels :
Message : Basé sur une définition restreinte de la notion d'intergiciel = masquer la distribution et les communications réseaux
Message : Basé sur une définition plus générale d'intergiciel =
démarche bottom-up au service des démarches top-down (fournir un modèle intermédiaire idéal masquant les limitations des ressources)
Problématique non limitée à la distribution, mais applicable à la gestion de toute ressource : ex. réseau / écran / mémoire / cpu / pointeur-souris /moteurs en robotique…. à la recherche d'une mise en oeuvre transparente et simplifiée de ces ressources, pour gérer les accès concurrent à des ressources limitées voire non duplicables.
En fait ressources = tous les éléments de Von Neuman CPU / MEM / I-O
Nouveaux challenges :
Mobilité, Ubiquité, Utilité (Cf. Gordon Blair)
Hétérogénité de ces ressources (technologique et sémantique) ⇒ gestion des accès concurrents
1>
Aujourd'hui des blocs distincts et/ou organisés en couche : OS / Runtime Graphique / Middleware Réseau / Contexte …
Pourtant la non interaction autre qu'applicative (en bloc) ou la hiérarchie (en couche) entre ces middlewares ne sont aproprié. Exemple (thèse hourdin) le contexte peut tout autant influencer les fonctionalités offertes par un middleware réseau que le middleware réseau intervenir dans la gestion du contexte.
Séparation des préocuppation OK mais entrelacement (tissage).
2>
Chaque ressource est alors associée à un gestionnaire ayant pour objectif de garantir le comportement de la ressource en cas d'accès multiples et concurrents. (travaux avec Annie Ressouche, vers des proxies prouvés)
systèmes interagissant avec l'environnement physique
L'environnement est alors perçu au travers des données représentatives et rafraichies. Sauf dans quelques cas extrêmes (Temps Réel par exemple), le comportement temporel de l'application est souvent prise en compte tardivement dans une phase d'optimisation. Cela est acceptable dans la mesure où de telles optimisations et évolutions des performances matérielles peuvent répondre à l'amélioration du comportement temporelle de l'application. Il est pourtant bien des cas ou la complexité croissante et mal maitrisé de la collecte et du traitement de l'information rende cette quête vaine. Il est dans ce cas important de garantir au système la capacité de réagir avec des temps de réponses acceptables et appropriés quitte à réduire l'étendue des données collectées et la complexité des traitements mis en jeux.
Ce constat inspire une démarche appelée décomposition comportementale de l'application. Elle consiste à limité la collecte de l'information et son traitement pour l'accomplissement du seul comportement que l'on veut que le système adopte. Il s'agit alors de composer de tels entités tout en maitrisant leurs interactions.
Cette démarche à largement fait ses preuves en Robotique.
Définition du comportement :
par Wiener Norbert (en définissant la notion de cybernetique) : “boucle fermée permettant d'évaluer les effets de ses actions et de s'adapter à une conduite future grâce aux performances passées”.
Un Modèle d'une Infrastructure Logicielle pour l'IAm
Composition Dynamique pour l'IAM
Composition Dynamique local
Composition Dynamique distribuée
limitations
la complexité des modifications dynamiques à produire pour adapter le système à l'évolution du contexte est trop importante
la fréquence des modifications dynamiques à produire pour adapter le système à l'évolution du contexte est trop importante
Il nous faut donc un mécanisme d'autoadaptation
Autoadaptation basée sur des Aspect
Etat de l'art sur la reflexivité
Cf. livre Middleware
Cf. Adaptation Dynamique Model at Runtime
Cf Benomo
Problème commun réduire la complexité des adaptations
Les Ecoles :
- MOP (reflexivité)
- Aspects classiques
- Policy based …
- concept-based
- Multi-agent …
- Model at Runtime et AOM
Principes de notre Approche
Les Aspects d'Assemblage
Réduction de la complexité
* Perspective : End User programming
Conclusion et Perspectives
Annexes :
NOTES sur TOPICS
Subsomption
Le principe de subsomption (subsumption) promu par Brooks pour sa décomposition comportementale définit par nature une relation héirarchique entre ces comportements. En effet la notion de subsomption se définti ainsi (Cf. http://fr.wikipedia.org/wiki/Subsomption) : La subsomption désigne une relation hiérarchique entre des concepts, dans les logiques de description. Cette notion est proche de la relation « est impliqué par » en logique classique, ou encore « contient » en logique ensembliste. (La relation de subsomption permet de construire un treillis de Galois à partir d'un ensemble d'individus et de propriétés.)
Exemples:
de même que pour Brooks un comportement de haut niveau comme chercher une boîte dans l'environnement du robot subsume un comportement de plus bas niveau comme éviter les obstacles autour du robot.
Composant versus Service
Un service à une Instance unique :
Composant
Autres PLANS de HDR
Titre