Title: Outils de Prototypage Rapide MultiDispositifs : Wcomp 'NET
1Outils de Prototypage Rapide Multi-Dispositifs
Wcomp .NET
- Jean-Yves Tigli, tigli_at_essi.fr
- Enseignant Chercheur
- Université de Nice Sophia Antipolis
- PolytechNice Sophia Antipolis
- Département Informatique
- Filière Systèmes Embarqués et Applications
Mobiles - Equipe Rainbow,
- laboratoire I3S UMR 6070 CNRS UNSA
2Wcomp .NET (2004-2005)
Daniel Cheung Foo Wo, cheung_at_essi.fr Doctorant
Rainbow
Avec le soutien de
Samuel Weibel, weibel_at_essi.fr ingénieur ESSI -
Polytech Nice Sophia Antipolis
Wagner De Morais demorais_at_essi.fr Etudiant de
Master recherche ESSI - Polytech Nice Sophia
Antipolis
Et un grand nombre de projets détudiants du
Département dInformatique de lEcole Polytechniq
ue de lUniversité de Nice Sophia Antipolis
3Partie 1 Contexte de Travail
4Futur un grand nombre de dispositifs
- Exemples
- Pour les ordinateurs portables du futur
- Pour les bâtiments
- Contexte les systèmes Multi-dispositifs
5Wearable Computer
- Controllable by the user, is always on, always
accessible and do not disturbs the user
attention. Mann
6Multi-dispositifs Alternatifs
- Dispositifs dentrée textuelle
- Chord Keyboard - Wrist Keyboard - Virtual
keyboard - Dispositifs de pointage
- Essential Reality P5 Glove
7Multi-dispositifs Alternatifs
- Dispositifs de sortie
- Eyeglasses
8Même problématique dans le BHT
- Collaboration avec le CSTB Sophia Antipolis
9Partie 2 Notre Approche de RAD dans ce contexte
10RAD dans les IHMs
- Cycle en spyral
- Bien connu Pour les GUI
Mais aussi pour les systèmes multi-dispositifs en
général
11RAD et Programmation Evénementielle
- Programmation Evénementielle
- ltlt Lapproche événementielle intervient
principalement dans linterface entre le logiciel
et lutilisateur, mais aussi dans la liaison
dynamique du logiciel avec le système, et enfin
dans la sécurité. gtgt
12RAD et Programmation Visuelle
- Programmation Visuelle
- Deux approches
- Basée sur le Rendu Graphique (Visual Studio)
- Nous aide et simplifie notre tâche dans la
construction du dialogue homme-machine - Approche multi-dispositifs Phidget
- Basée sur le Graphe événementiel (notre approche)
- Intéressante pour la perspectives
multi-dispositifs car pas forcémment de fonction
graphique ICON, WComp
13Approche Wcomp
- Objectifs
- Outils de programmation visuelle et
événementielle orienté graphe événementiel - Utilisant des composants Mixtes logiciel/matériel
14Approche Wcomp
- Vers une méthodologie de RAD matériel / logiciel
- Connecter les dispositifs utilisés pour utiliser
les composants logiciels associés - Construire, si besoin est, de nouveaux composants
logiciels - Créer le graphe événementiel de lapplication
15Partie 3 Les outils Wcomp .Net
16Les Outils
- Wcomp Dev Center
- Visual Studio Add-On
17Architecture Générale Wcomp Dev Center
- Générateur de Code
- Import / Export XML
- Générateur de Bean SOAP
18Visual Studio Add-on Bean .Net builder
19DEMO .
- Wcomp Dev Center
- Création dun lien simple
- Connexion dun lien incompatible
- Visual Studio Add Ons
- Création dun Beanet
- Exemple
- Texttospeech
20Partie 4 Quelques éléments dimplémentation
21Les événements en Java
- Une première approche basée sur les Beans en Java
est le pattern observateur ou source/listener
22Les événements en .Net
- Déjà pris en charge grâce à la délégation
- Un abonné est une méthode
- Un événement est un délégué particulier
23La Délégation
- Declarer un delegate
- Instancier un delegate
- Appeler un delegate
delegate void MyDelegate1(string s)
MyDelegate1 a new MyDelegate1(MyClass.Hello)
MyClass p new MyClass() MyDelegate1 b new
MyDelegate1(p.AMethod)
a("World")
24Les événements
- Déclarer un événement
- Souscrire à un événement
- Emettre un événement
public delegate void MouseClickedEventHandler() p
ublic class Mouse public static event
MouseClickedEventHandler MouseClickedHandler
private void MouseClicked() ... Mouse.MouseClick
edHandler new MouseClickedEventHandler(Mouse
Clicked)
if (MouseClickedHandler ! null)
MouseClickedHandler()
25Les attributs personnalisés
- On peut étendre le .NET Framework avec ses
propres attributs appelés attributs personnalisés - Ecrire une classe dérivant de System.Attribute
- les informations contenues dans les métadonnées
sont accessibles via les méthodes des classes
proposées par l'espace de nom System.Reflection
26Les attributs personnalisés
- Déclaration dun attribut personnalisé
- Utilisation dun attribut personnalisé
public class MyAttribute Attribute
public class MyClass MyAttribute
public virtual void MyMethod() //...
27Le Bean .Net
Attribut Personnalisé
Evénement
28Le Bean .Net
Attribut Personnalisé
Propriété
29Le Bean .Net
30Partie 5 Application
- Sur une idée dEric Mittelette (Microsoft France)
31Dirigeable Evolution 1
http//www.plantraco.com/main.html http//www.a
irpubimpact.com
32Dirigeable Wcomp .NET
33Partie 5 Conclusion
34Limites de Wcomp .Net
- Extension Compact .Net Framework absence de
mécanisme de réflexion - .Net Framework 2.0, enfin SerialCom en code
managé ! -
35Perspectives de Wcomp .Net
- Pédagogie
- Wearable Computer ou Ordinateur Porté, Xybernaut
MA V sous windows XP - Recherche
- Vers Wcomp supérieures pour ladaptation
dynamique des applications
36Remerciements
- Pierre Louis Xech, MSR
- Eric Mittelette, Laurent Ellerbach, Laurent
Herbulot, Microsoft France - Les étudiants de Polytech Nice Sophia Antipolis
Daniel, Samuel, Wagner, Geoffroy, etc.
37Quelques Références
- Equipe Rainbow http//rainbow.essi.fr
- Wcomp http//parpaouin.essi.fr
- Wcomp Java
- Wcomp .NET
- Mann Steeve, http//wearcam.org/steve.html
- Phidget http//www.phidgets.com/
- ICON http//liihs.irit.fr/dragice/icon/
- Steve Mann, Definition of Wearable
Computer,http//wearacam.org/wearcompdef.html - What's a Wearable?, http//wearables.www.media.m
it.edu/projects/wearables/ - M. Billinghurst, J. Bowskill, N. Dyer and J.
Morphett, An Evaluation of Wearable Information
Spaces