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.

Slides:



Advertisements
Présentations similaires
COMMENT TROUVER UNE MESURE MANQUANTE D'UN TRIANGLE RECTANGLE?
Advertisements

RELATIONS TRIGONOMETRIQUES DANS LE TRIANGLE RECTANGLE
1 Université catholique de Louvain, Louvain-la-Neuve, 24 August 2007 Development of Multimodal User Interface by Interpretation and by Compiled Components:
1 AID AND THE BUDGETARY GAP : THE CASE OF MALI Abdoulaye TOURE Director General du Budget.
F. Millour, O.C.A., 30 Septembre 2005 L'interférométrie différentielle avec l'instrument A.M.BE.R. / V.L.T.I. Osservatorio Astrofisico di Arcetri Le site.
Réflexivité et réseaux d’ information
Martina Schäfer 1 Z studies at LHC Martina Schäfer DEIR/Diplomarbeit février 2004.
PILOTE - Sous Projet PILOTE SOUS-PROJET 5 Cyril Carrez, Elie Najm, Alexandre Tauveron.
ACTIVITES MENTALES Collège Jean Monnet Préparez-vous !
In the field, coring at sea and on land to retrieved ice cores, lacustrines cores In the labs, Screen technics like XRF, RX, magnetic parameters, AMS,
79A (c) 2012 Slide 1 Source: MANAGERIS / Ouvrage: THE CORPORATE CULTURE SURVIVAL GUIDE",
La conception de la recherche et le processus de publication en ELAO Jozef Colpaert Editor CALL Journal Université dArtois 24 Mars 2012.
Équations cos x = a et sin x = a
Relations dans le triangle rectangle.
Projet - Edulink - Project AUDIS -African Universities International Dimension Strengthening (2007-9) Informative Seminar Séminaire informatif Leuven,
Les fonctions TRIGONOMÉTRIQUES
Utiliser la calculatrice
La salle de classe Aims for today: All: To share our opinions of different subjects with the class. To understand other peoples opinions of different subjects.
La calculatrice au collège
Laboratoire de Bioinformatique des Génomes et des Réseaux Université Libre de Bruxelles, Belgique Introduction Statistics.
Sujet : Étude de Data Mining en utilisant SAS:EM
ACTIVITES MENTALES Collège Jean Monnet Préparez-vous !
Protein data bank (PDB) : structures (oct 2007) SCOP (Structural Classification Of Proteins): 971 folds (major structural similarity) 1586 super-families.
Faculté I&C, Claude Petitpierre, André Maurer Scalable vector graphics SVG (documentation en français – voir menu.
Passage entre quaternions et matrice des cosinus directeurs Transition from Quaternions to Direction Cosine Matrices.
MODULE 9 La fonction TANGENTE
Les IDENTITÉS TRIGONOMÉTRIQUES
Tous les chemins mènent à Rome dit-on
Trigonométrie Quelques équivalences trigonométriques.
Effets de différents modes de focalisation attentionnelle sur l'activation émotionnelle Pierre Philippot Et... Céline Baeyens, Céline Douilliez, Aurore.
Trigonométrie, Première S
2ème secondaire.
Faculté I&C, Claude Petitpierre, André Maurer Scalable vector graphics SVG (documentation en français – voir menu.
Formules d ’addition..
Les enjeux RH du eWorking aujourd’hui Prof. Laurent Taskin Louvain School of Management – FUCaM Center for Research in Entrepreneurial Change and Innovative.
TRIGONOMETRIE DANS LE TRIANGLE RECTANGLE
TRIGONOMETRY.
Université de Genève | Service de coordination des bibliothèques Architecture des catalogues RERO : quel avenir ? Michèle Furer-Benedetti.
ABC est un triangle rectangle en A
Utiliser la calculatrice
Maths 30-1 Unité 3 Trigonométrie
Fonctions cosinus et sinus
RELATIONS METRIQUES DANS LE TRIANGLE QUELCONQUE
Positionnement : Outil de supervision et d’administration spécialiste Les management packs de l’éditeur et la base de connaissance embarquée Rapidité.
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Trigonométrie Résolution de triangles.
Exemples algorithmes FFT
Trigonométrie Résolution de triangles.
Équations cos x = a et sin x = a (O, I, J) est un repère orthonormé.
La fonction TANGENTE.
1. CALCUL DE LA MESURE D’UN ANGLE
COURANTS TRIPHASES.
Netwin is supported by the EU Commission in the framework of the Recite II programme Le projet Netwin est soutenu par la Commission Européenne dans le.
Algorithmes sur Open Office. 1. Ouvrir Visual Basic de Open Office.
LES QUALITES DU MANAGER.
LES FIGURES DE STYLE ?.
- Les identités TRIGONOMÉTRIQUES -
Cours Management de la Qualité.
Exercice 1°) Résoudre dans R séparément les 2 premières conditions, puis déterminez les x satisfaisants les 3 conditions en même temps : √2.

5°) Les symétries : Symétrie centrale : le symétrique B d’un point A par rapport à un point C est tel que … C A.
Exercice Résultante 3.
Exercice Résultante 2.
Exercice Résultante 4.
Mathématiques – Calcul mental
Mathématiques – Calcul mental
Mathématiques – Calcul mental
Mathématiques – Calcul mental
Transcription de la présentation:

1 Réunion CESAME, Grenoble, 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)

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

3 Réunion CESAME, Grenoble, 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 Réunion CESAME, Grenoble, 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 Interprétation du modèle [Schlee & Vanderdonckt, 2004]

5 Réunion CESAME, Grenoble, 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 <uiModel xmlns=" xmlns:xsi=" xsi:schemaLocation=" id="Calculator_25" name="Calculator" creationDate=" T17:31: :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 Réunion CESAME, Grenoble, 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 Réunion CESAME, Grenoble, mars 2007 Deuxième exemple: adaptation à lexécution

8 Réunion CESAME, Grenoble, 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 Réunion CESAME, Grenoble, mars 2007 Troisième exemple: IHM distribuée

10 Réunion CESAME, Grenoble, 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 Réunion CESAME, Grenoble, 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 Réunion CESAME, Grenoble, mars 2007 For more information and downloading, User Interface eXtensible Markup Language European network on Multimodal UIs Merci pour votre attention!