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 09:30] tigli |
compte_rendu_29_novembre_2010 [2010/11/29 17:16] tigli |
||
---|---|---|---|
Line 9: | Line 9: | ||
=== Ordre du jour === | === Ordre du jour === | ||
- | == Présentation Anoto par Emeric== | + | == Présentation Anoto par Emeric == |
[[http://www.anoto.com/| Site Anoto]] | [[http://www.anoto.com/| Site Anoto]] | ||
Line 18: | Line 18: | ||
* méthode graphique de liaison entre photos d'objets de la maison | * méthode graphique de liaison entre photos d'objets de la maison | ||
* méthode en langage pseudo naturelle (avec guidelines pour des phrases syntaxiquement et sémantiquement correctes) | * méthode en langage pseudo naturelle (avec guidelines pour des phrases syntaxiquement et sémantiquement correctes) | ||
- | * | + | |
+ | == Présentation par Emeric de la grammaire du langage pseudo naturel (Cf. document) == | ||
+ | |||
+ | Exemple : Je veux ouvrir les volets quand il fait jour et quand il ne fait pas froid. | ||
+ | |||
+ | Arbre : | ||
+ | |||
+ | Pg : | ||
+ | |||
+ | Intro : Je veux | ||
+ | |||
+ | Action : ouvrir les volets (action unitaire) | ||
+ | |||
+ | Boolean condition Op = et | ||
+ | |||
+ | Circonstance (when circonstance) : quand il fait jour | ||
+ | |||
+ | Circonstance (when circonstance) : quand il ne fait pas froid | ||
+ | |||
+ | |||
+ | == Conséquence sur les devices UPnP == | ||
+ | |||
+ | Rajouter des meta données sur les devices UPnP | ||
+ | et sur les services. | ||
+ | Annotation en pseudo langage. | ||
+ | |||
+ | Pas d'AA dans les meta-données des Services et Devices. | ||
+ | |||
+ | |||
+ | == Conséquence sur les AAs == | ||
+ | |||
+ | Les AAs implémentent : | ||
+ | |||
+ | Trigger := When | Where |.... avec logique booléenne / temporelle (events) | ||
+ | |||
+ | Action := Méthodes .... avec logique booléenne / temporelle | ||
+ | |||
+ | Problème :: les conditions de déclenchement de l'action sont-elles des caractéristiques | ||
+ | du contexte qui déclenche un AA ou les même conditions sont elles le membres droit de l'AA | ||
+ | |||
+ | Autre idée pour la continuité : abstraire la notion de condition (ex. il fait jour) pour la traduire par | ||
+ | différents services ou devices. | ||
+ | |||
+ | |||
+ | == Présentation de Vincent sur l'évaluation des performances et nouvelle grammaires des AAs == | ||
+ | |||
+ | |||
+ | [[http://rainbow.i3s.unice.fr/continuum/pub/Continuum_grenoble_WComp-2.4-1-1.pdf |Présentation]] | ||
+ | |||
+ | TODO ::: envoyer la grammaire des AAs à IIHM | ||
+ | |||
+ | |||
+ | == Travail sur le scenario du fontainier pour la projection des phrases en langage pseudo naturel vers des AAs == | ||
+ | |||
+ | Cas 1 : si (vitesse > x et milieu encombré) alors disable (S1 et S2) | ||
+ | |||
+ | Dans ce cas la condition correspond vraiment à un changement de contexte et la désactivation des AAs | ||
+ | qui utilisent S1 et S2 | ||
+ | |||
+ | |||
+ | Idée : Cas généraux (deux cas) : | ||
+ | |||
+ | condition contexte -> liste d'AA à activer / désactiver | ||
+ | |||
+ | AA : condition -> action | ||
+ | |||
+ | |||
+ | Cas 2 : Me localiser sur la carte / Où suis-je | ||
+ | |||
+ | 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 . | ||
+ | |||
+ | == Prochaine Réunion == | ||
+ | |||
+ | |||
+ | VideoConf le 14/01/11 à 14h |