La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Réunion CESAME, Grenoble, 12-13 mars 2007 Adaptation au contexte supportée par UsiXML Jean Vanderdonckt, Sophie Lepreux Belgian Lab. of Computer-Human.

Présentations similaires


Présentation au sujet: "1 Réunion CESAME, Grenoble, 12-13 mars 2007 Adaptation au contexte supportée par UsiXML Jean Vanderdonckt, Sophie Lepreux Belgian Lab. of Computer-Human."— Transcription de la présentation:

1 1 Réunion CESAME, Grenoble, 12-13 mars 2007 Adaptation au contexte supportée par UsiXML Jean Vanderdonckt, Sophie Lepreux Belgian Lab. of Computer-Human Interaction (BCHI) Unité de Systèmes dInformation (ISYS) Louvain School of Management (IAG) Université catholique de Louvain (UCL) http://www.isys.ucl.ac.be/bchi

2 2 Réunion CESAME, Grenoble, 12-13 mars 2007 Premier exemple: adaptabilité [Framework révisé par UJF]

3 3 Réunion CESAME, Grenoble, 12-13 mars 2007 Exemple dun Feature Model Calculator Background Number keys Pi Exp Keyboard Figures Basic operations Other functions +*- / +/-.= Clear Screen field Operations Sin Cos Tan X^2 X^3 X^Y LogLnn! Mod OptionalMandatoryAlternate

4 4 Réunion CESAME, Grenoble, 12-13 mars 2007 Calculator Background Number keys Pi Exp Keyboard Figures Basic operations Other functions +*- / +/-.= Clear Screen field Operations Sin Cos Tan X^2 X^3 X^Y LogLnn! Mod 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 Interprétation du modèle [Schlee & Vanderdonckt, 2004]

5 5 Réunion CESAME, Grenoble, 12-13 mars 2007 Transformation en UsiXML Calculator Number keys Pi Exp Keyboard Figures Basic operations Other functions +*- / +/-.= Clear Screen field Operations Sin Cos X^2 X^Y Logn! Mod 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 <uiModel xmlns="http://www.usixml.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.usixml.org/ http://www.usixml.org/spec/UsiXML-ui_model.xsd" id="Calculator_25" name="Calculator" creationDate="2007-01-25T17:31:50.577+01:00" schemaVersion="1.8"> <window id="window_component_3" name="window_component_3" width="581" height="497"> <inputText id="input_text_component_9" name="input_text_component_9"

6 6 Réunion CESAME, Grenoble, 12-13 mars 2007 void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(const int&, Pl*), const int& nAngle, Pl* ppl ); void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(Pl*), Pl* ppl ); void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(const int&, const int&, const int& ), const int&, const int& ); void channelShowHistogram( int*, const int&, const int& n = 0 ) const; void channelFft ( T*, T*, const unsigned int&, Pl* ppl = NULL ); void channelIfft ( T*, T*, const unsigned int&, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const; ImgProcessT & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT(const ImgProcessT &); virtual ~ImgProcessT(); virtual char* getClassName() const; virtual char getClassID () const; ImgProcessT & operator+=(const ImgProcessT &); I void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(const int&, Pl*), const int& nAngle, Pl* ppl ); void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(Pl*), Pl* ppl ); void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(const int&, const int&, const int& ), const int&, const int& ); void channelShowHistogram( int*, const int&, const int& n = 0 ) const; void channelFft ( T*, T*, const unsigned int&, Pl* ppl = NULL ); void channelIfft ( T*, T*, const unsigned int&, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const; ImgProcessT & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT(const ImgProcessT &); virtual ~ImgProcessT(); virtual char* getClassName() const; virtual char getClassID () const; ImgProcessT & operator+=(const ImgProcessT &); I Code final void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const; ImgProcessT & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & chann elMix ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const; ImgProcessT & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & chann elMix ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); V oid channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const; ImgProcessT & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT(const ImgProcessT &); virtual ~ImgProcessT(); virtual char* getClassName() const; virtual char getClassID () const; ImgProcessT & operator+=(const ImgProcessT &); ImgProcessT & operator-=(const ImgProcessT &); ImgProcessT & operator^=(const ImgProcessT &); ImgProcessT operator+ (const ImgProcessT &); ImgProcessT operator- (const ImgProcessT &); ImgProcessT operator^ (const ImgProcessT &); ImgProcessT & channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL); mgProcessT & operator+=(const ImgProcessT &); ImgProcessT & operator-=(const ImgProcessT &); ImgProcessT & operator^=(const ImgProcessT &); ImgProcessT operator+ (const ImgProcessT &); ImgProcessT operator- (const ImgProcessT &); ImgProcessT operator^ (const ImgProcessT &); ImgProcessT & channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL); V oid channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const; ImgProcessT & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT(const ImgProcessT &); virtual ~ImgProcessT(); virtual char* getClassName() const; virtual char getClassID () const; ImgProcessT & operator+=(const ImgProcessT &); ImgProcessT & operator-=(const ImgProcessT &); ImgProcessT & operator^=(const ImgProcessT &); ImgProcessT operator+ (const ImgProcessT &); ImgProcessT operator- (const ImgProcessT &); ImgProcessT operator^ (const ImgProcessT &); ImgProcessT & channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL); mgProcessT & operator+=(const ImgProcessT &); ImgProcessT & operator-=(const ImgProcessT &); ImgProcessT & operator^=(const ImgProcessT &); ImgProcessT operator+ (const ImgProcessT &); ImgProcessT operator- (const ImgProcessT &); ImgProcessT operator^ (const ImgProcessT &); ImgProcessT & channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const; ImgProcessT & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const; ImgProcessT & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL) ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL) ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL) ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL) Composants ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); Spécifications UsiXML Génération automatique du code par assemblage de composants

7 7 Réunion CESAME, Grenoble, 12-13 mars 2007 Deuxième exemple: adaptation à lexécution

8 8 Réunion CESAME, Grenoble, 12-13 mars 2007 Adaptation à lexécution Sensibilité –À la plate-forme Résolution: 640x480, 640x200, 320x480, 320x320,… ou à la demande Type de plate-forme: MacOs X, Linux, Windows –A lutilisateur Préférence à la saisie vs sélection des données Préférence pour la représentation textuelle vs graphique Au moyen de règles ECA –On Event IF Condition Then Action [Collignon, 2006]

9 9 Réunion CESAME, Grenoble, 12-13 mars 2007 Troisième exemple: IHM distribuée

10 10 Réunion CESAME, Grenoble, 12-13 mars 2007 IHM multi-plate-forme distribuée Ancien exemple: FlexClock Horloge Calendrier Mois précédent Mois suivant Mois courant Agenda Nouvel exemple: Calendrier distribuable [Grolaux, 2007]

11 11 Réunion CESAME, Grenoble, 12-13 mars 2007 UsiXML DVD Release 2 (14 fév. 2007) Version UsiXML V1.8.0 avec les nouvelles extensions suivantes: Support pour les IHM des workflows Nouveaux types de tâche Support complet pour les layout Interfaces 3D simples Interaction haptique Support renforcé pour linteraction vocale Synchronisation avec interaction graphique Stabilisation dattributs préalablement utilisés Annotations de conception Articles publiés avec UsiXML? –2003 (1 Similar) –2004 (12 Similar) –2005 (14 Similar) –2006 (17 Similar, 4 en dehors) –2007 (8 Similar, 2 en dehors)

12 12 Réunion CESAME, Grenoble, 12-13 mars 2007 For more information and downloading, http://www.isys.ucl.ac.be/bchi http://www.isys.ucl.ac.be/bchi http://www.usixml.org User Interface eXtensible Markup Language http://www.similar.cc European network on Multimodal UIs Merci pour votre attention!


Télécharger ppt "1 Réunion CESAME, Grenoble, 12-13 mars 2007 Adaptation au contexte supportée par UsiXML Jean Vanderdonckt, Sophie Lepreux Belgian Lab. of Computer-Human."

Présentations similaires


Annonces Google