This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
compte_rendu_29_novembre_2010 [2010/11/29 14:16] tigli |
compte_rendu_29_novembre_2010 [2010/11/29 16:50] tigli |
||
---|---|---|---|
Line 87: | Line 87: | ||
Cas 2 : Me localiser sur la carte / Où suis-je | Cas 2 : Me localiser sur la carte / Où suis-je | ||
- | Cas 3 : | + | Comment traduire en AA |
+ | Cas 3 : Problème du rétroappel ... | ||
+ | En fait il faut aussi annoter les méthodes+getter (ou rétro appel) qui "vont bien" comme méthode possible | ||
+ | pour le device. | ||
+ | Vu le nombre de getter, il faut donc le faire à la main ... | ||
+ | exemple : checkbox pour piloter une light => l'utilisation de checkbox.setchange__getvalue | ||
+ | pour une methode setchange() | ||
+ | |||
+ | Cas 4 : problème de l'initialisation (pas d'initialisation avec WComp avant l'émission d'events) | ||
+ | |||
+ | Cas 5 : si le casque est baissé afficher la position des points d'intérêt dans le casque | ||
+ | |||
+ | Condition (si le casque est baissé) | ||
+ | Action : afficher les points d'intérêt dans le casque | ||
+ | |||
+ | |||
+ | Cas 6 : je veux regarder l'état de ma machine à laver | ||
+ | * sous tension (On/Off) [boolean] | ||
+ | * cycle [enum] | ||
+ | * programme [enum] | ||
+ | * temperature [entier] | ||
+ | * temps restant (heure de terminaison) [0..60] | ||
+ | |||
+ | == Quatre problèmes : == | ||
+ | |||
+ | - alignement des terminologies (afficher, montrer) | ||
+ | |||
+ | - introduction des composants intermédiaires (insertion de composants intermédiaires : recasteur, ...) | ||
+ | |||
+ | - gestion des signatures (par retroappel, ...) | ||
+ | |||
+ | - deux niveaux de gestion des condition "circonstancielles" (compléments circonstanciels) : niveau contexte | ||
+ | ou membre gauche (trigger d'action dans un AA) | ||
+ | |||
+ | 1> Alignement : | ||
+ | |||
+ | Step 1 | ||
+ | Emric fonctionne avec une grammaire et des terminaux "types" : exemple | ||
+ | Audiosource , AudioSink dont il connait les méthodes types : | ||
+ | |||
+ | Audiosource.setaudio | ||
+ | |||
+ | Audiosink.getaudio | ||
+ | |||
+ | grâce à un "terminal" comme écouter (mots clef action). | ||
+ | |||
+ | Step 2 | ||
+ | Ensuite il fait une requête dans la BdC sur AudioSink.setaudio | ||
+ | et AudioSource.getaudio pour récupérer les devices avec les méthodes ou events équivalents | ||
+ | |||
+ | Step 3 | ||
+ | Les metadonnées d'un devices devant fournir à la BdC les équivalences de ses méthodes et | ||
+ | events en terme de méthodes et events "types" pour préparer ces requêtes et les composants intermédiaires | ||
+ | nécessaires à ces équivalences | ||
+ | |||
+ | Attention : | ||
+ | |||
+ | - il faut que la BdC renvoie quand même un nom de "famille" de devices telle GPS* ou par convention | ||
+ | la BdC part du principe que tous les devices GPS* (ex. GPS1, GPS2) ont la même interface. | ||
+ | |||
+ | ou | ||
+ | |||
+ | - la partie pointcut matching fait appel à la BdC | ||
+ | |||
+ | 2> composants intermédiaires à rajouter pour rendre équivalentes des méthodes AudioSource.getaudio | ||
+ | avec des méthodes concrètes du service | ||
+ | |||
+ | |||
+ | 3> retroappel : idem que 2> mais avec le retroappel | ||
+ | |||
+ | |||
+ | 4> gérer par redondance, si possible (ex. du disable) | ||
+ | |||
+ | |||
+ | |||
+ | == TODOs == | ||
+ | |||
+ | Sur la base du scenario du fontainier recherche de vanne + PDA / Casque | ||
+ | |||
+ | |||
+ | Rainbow : Rajouter des metadonnées aux services et services pour dispositifs. | ||
+ | |||
+ | IIHM : Reprendre la grammaire du langage pseudo-naturel, définir le vocabulaire de base pour les actions | ||
+ | et des noms terminaux de manière plus générale (type de device et méthodes et events) | ||
+ | |||
+ | Hadas : Spécifier les métadonnées dans les services et services pour dispositifs. | ||
+ | |||
+ | |||
+ | |||
+ | Vers le second démonstrateur pour février . | ||