Master 2013 2014
psar
VVMPad : Machine virtuelle virtuelle pour la programmation flexible de PinPad


Site :Trac-VVMPad : Machine virtuelle virtuelle pour la programmation flexible de PinPad
Lieu :Jussieu
Encadrant : B. Folliot
Dates :standard

Description

PSAR 2014

MIT&0Pad

VVMPad : Machine virtuelle virtuelle pour la programmation flexible de PinPad

Mouse-Ink-Track-&0ther-Pad

Nombre d’étudiants : 3-4

Encadrant : Bertil Folliot, LIP6-INRIA/Equipe REGAL – UPMC (Paris VI)/CNRS, Sorbonnes Universités bertil.folliot@lip6.fr http://pagesperso-systeme.lip6.fr/B... (old)

Contexte (mots-clefs) : machines virtuelles virtuelles [VVM], flexibilité, interopérabilité, adaptabilité dynamique de logiciels ; accessoires multipads.

Application : logiciel d’interface d’adaptation dynamique pour : MousePad/TrackPad/InkPad/...FuturePad – driverOS – bibliothèque de programmation – utilisateur Environnement de programmation : VMKit [VMKit], Linux, C/C++ (– à discuter)

Sujet

Les TrackPads (TP) évolués actuels permettent non seulement de remplacer efficacement la classique « souris », mais ajoutent en plus de nombreuses fonctionalités supplémentaires. Par exemple, en fonction du nombre de doigts posé sur le TP, on peut : sélectionner/glisser/déplacer/zoomer/lancer des applications, etc.

La souris reste néanmoins l’accessoire le plus utilisé, sans doute à cause de l’intuitivité et de la facilité de son utilisation : deux clicks (gauche, droit) et une molette (haut, bas). L’un n’empêchant pas l’autre, on trouve souvent sur une même machine, à la fois un trackpad et une souris. Récemment, la MagicMouse (MM) [Apple] a remplacé par une surface lisse unique (l’équivalent d’un « TouchPad », voir figure-gauche), la surface physique classique. Les boutons et la molette sont simulés (deviennent donc virtuels ; on « clique » à droite ou à gauche en touchant la surface avec l’index ou le majeur, ou on déplace le majeure sur la surface de la MagicMouse pour faire tourner (virtuellement) la mollette, exactement comme on le ferait avec la molette mécanique d’une souris classique). De plus, le TP est traditionnellement réservé aux ordinateurs portables, et n’est pas accessibles aux ordinateurs de bureaux. Un autre produit récent, le Magictrackpad (MTP) [Apple2] remédie à ce défaut en permettant de rajouter un équivalent MM/TP à un ordinateur de bureau (voir figure-milieu), ou à un portable d’ailleurs2.

Cette nouvelle interface de communication homme–machine permet de combiner les avantages de la MM (souris virtuel) et du TP. Il existe cependant des inconvénients à ces récentes nouveautés : la MM ne permet pas de se déplacer dans tous les sens (de faire un cercle sur la surface du MM avec l’anulaire par exemple) et la MTP est sur un support fixe et ne peut pas être manipulé comme une souris (i.e. On ne peut pas faire « glisser » le MTP). En plus, il existe de nombreux autres accessoires de communications complémentaires en fonction de l’utilisation que l’on souhaite avoir : - InkPad : pour écrire avec un stylo numérique (qui, virtuellement, à l’aide d’un logiciel de reconnaissance de caractères, permet de transférer l’écriture manuscrite ou les schémas sur un ordinateur). - ScanPad : qui scanne et qui (avec l’InkPad) prend des notes directement sur le document scanné. - iPad : tablette tactile qui permet de prendre des notes directement sur un texte contenu dans la tablette (très pratique pour les notes sur polycopié de cours par exemple...) - otherPad pour surfer sur le web, téléphoner, visionner, etc ; et ce, sans compter les nouveautés qui ne cessent d’apparaître...

Tous ces accessoires n’étant quasiment jamais interopérable, flexible ou dynamiquement adaptable et n’étant que peu programmable par l’utilisateur. Cela induit un nombre important de matériels, de manipulations, de langages, d’applications et d’interfaces inutiles.

But

Le but de ce stage est de concevoir, de prototyper et d’évaluer la Mit&0Pad d’un point de vue logiciel (système, on ne fera pas d’architecture physique matériel). La définition de la Mit&0Pad étant un assemblage de souris, trackpad, magicpad, inkpad, epad, otherPad... C-a-d, la réunion d’un écran tactile qui fait aussi trackpad (et autres) et qui bouge (comme une souris).

Les avantages, en dehors de l’aspect financier, sont multiples : extrême facilité d’utilisation, double/triple interfaces en surface (p.ex pointage grossier en déplacant la Mit&0Pad, puis pointage fin avec l’index sur la Mit&0Pad, puis µpointage avec le stylo), adaptabilité en fonction des besoins de l’utilisateur (interface de programmation Mit&0Pad/user), intégration à la volée de nouveaux mécanismes de communications.

Plan de travail

Compte-tenu de l’ampleur des travaux à effectuer il serait souhaitable qu’un groupe de (X=) 3 stagiaires soudés travaille sur ce sujet.

o. Si intéressé, article à écrire pour la conférence internationale Laval Virtual (deadline 11/12/13) [Laval] (papier de 4 pages, format IEEE3). i. Etats de l’art sur les divers périphériques à intégrer (magicmouse, magicpad, inkpad, epad, otherpad...) (→ X rapports bibliographiques) [xyz]. ii. Conception simplifiée de la Mit&0Pad (architecture virtuelle). iii. Conception de l’interface logiciel Mit&0Pad → OS driver/user. iii’. Conception de l’interface d’adaptabilité/interopérabilité/programmabilité de la Mit&0Pad (user → Mit&0Pad). iv. Protypage (en C/C++), dans le cadre de VMKit [VMKit], des 2 points précédents. v. Evaluation simplifiée (micros-benchmarks [µBench]).

Références

[Laval] http://www.laval-virtual.org/ [VMKit] http://vmkit.llvm.org/ (la distrib. public chez LLVM) http://pagesperso-systeme.lip6.fr/N... (travaux de thèse) [papier VMKit] ACM SIGPLAN/SIGOPS Int. Conf. on Virtual Execution Environment (VEE), Pittsburgh (PA), USA, pp. 51-61, 2001 : http://llvm.org/pubs/2010-03-VEE-VM... [VVM] http://vvm.lip6.fr/publications/98A... (papier fondateur) http://pagesperso-systeme.lip6.fr/B... (old) http://vvm.lip6.fr/publications/ (very old !) [Apple] http://www.apple.com/fr/magicmouse/ [Apple2] http://www.apple.com/fr/magictrackpad/