Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet...

21
outil pour la conception d’IHM approche « bus logiciel d’échanges de messages» http://www.irit.fr/~Philippe.Truillet v.1.5 – 05 janvier 2010

Transcript of Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet...

Page 1: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

outil pour la conception d’IHMapproche « bus logiciel 

d’échanges de messages»

http://www.irit.fr/~Philippe.Truilletv.1.5 – 05 janvier 2010

Page 2: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

Une architecture répartie ?

• les systèmes informatiques deviennent de plus en plus complexes• en terme de périphériques utilisés• d’informations échangées• …

Nécessité d’une architecture répartie

• principe : communication interprocessus• Aller au-delà du niveau de la socket• avec des niveaux d’abstraction de plus en plus

complexe (RPC : appel procédures distantes, RMI : appel à des méthodes distantes, …)

Page 3: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

Une architecture répartie ?

• inconvénients fréquents des approches …

• centralisation à un moment donné (où se trouve l’objet/ la méthode distante ?)

• coût d’apprentissage élevé• plates-formes souvent spécifiques (ex : RMI)• incompatibilité des modèles d’architecture et

d’exécution

Page 4: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

approche répartie pour l’IHM ?

• la plupart de middlewares ne sont pas orienté interaction …

• de quoi a t’on besoin ?• de séparer le NF de l’interface• d’émettre et/ou de recevoir des événements et non pas

d’appeler des méthodes !

une solution : bus « événementiels »

Page 6: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

objectifs de l’approche

Page 7: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

objectifs de l’approche

• intérêt pour la conception…• modularité = réutilisabilité• plusieurs plate-formes et langages• passer rapidement de la phase « papier » au

prototype moyenne/haute fidélité

• et pour la phase de test• possibilité de tester les différents modules séparément :

meilleure visibilité du système

Page 8: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

objectifs de l’approche avantages … pour la conception

• réalisation d’une plate-forme de SVI modulaire :

SRAPcompréhension

contrôleur de dialogue génération synthèse

bus ivy

Page 9: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

objectifs de l’approche avantages … pour la conception

• tests : utilisation de la modularité• réalisation d’un magicien d’Oz

SRAPcompréhension

contrôleur de dialogue génération synthèse

bus ivy

choix dans une liste deréponses possibles

saisie clavierde la réponse

Page 10: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

le bus ivy

• ivy est simple (http://www.tls.cena.fr/products/ivy)• à comprendre,• à mettre en œuvre• et c’est gratuit ;-)

• ivy est un bus logiciel qui permet un échange d’informations entre des applications réparties sur différentes machines tournant sous différents OS et écrites avec des langages différents …

Page 11: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

le bus ivy

• ivy n’est pas basé sur un serveur centralisé

• chaque agent propose un ou des services

• chaque agent réagit à un ou des événements

• proche de la programmation événementielle (java, X-window, visual studio…)

adresse IPadresse de broadcastadresse de multicast

port de communication

Page 12: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

le bus ivy

• ivy est disponible • en C, C++, C#, java, perl, perl/Tk, Tcl, Tcl/Tk, ocaml,

ada95, python, VBA, Flash, objet COM, …

• sous MacOS, Win32, WinCE, Un*x, linux, Android, …

• conséquence : la conception est facilitée en profitant des avantages liés à chaque langage de programmation

Page 13: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

utilisateurs (connus)

• Laboratoires

• Entreprises

Page 14: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

le bus ivy

• le protocole d’échanges de messages est purement textuel (abonnement par expressions régulières / regexp)• exemples d’envoi :

ICAR command=back

IMM media=SRAP action=previous

Nom de l’application émettrice du message

Couples de variable/valeur

Page 15: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

le bus ivy

• exemples d’abonnement :^ICAR command=(.*)^IMM (.*) action=(.*)

• la syntaxe d’envoi et de réception des messages est simplissime ! (sendMsg et bindMsg)

Page 16: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

comment programmer avec ivy ?

•          : développé au CENA librairie de « mise en réseau » d’agents

• toutes APIs nécessaires au développement (ex : SAPI pour la parole [Windows], ARToolkit pour la réalité augmentée, toolkit piccolo pour de l’animation graphique, …)

Page 17: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

(petite) démonstrationpiloter un robot

• modalités :• joystick (directions)• phidgets (commandes de moteurs + capteurs)

• langages :• C, java

Page 18: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

(petite) démonstrationun IRC vocal

• modalités :• reconnaissance de la parole• synthèse de la parole

• langages :• C++, java, perl

Page 19: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

(petite) démonstrationun IRC vocal

(perl) (perl)(java)

Page 20: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

conclusions

• l’approche « bus événementiel » permet :

• de se focaliser sur les problèmes de conception et non sur la façon de les implémenter

• et de prototyper très rapidement pour « donner à voir » et « donner à tester »

Page 21: Outil pour la conception dIHM approche « bus logiciel déchanges de messages» Philippe.Truillet v.1.5 – 05 janvier 2010.

liens

• Sites officiels d’ivy• http://www.tls.cena.fr/products/ivy• http://svn.tls.cena.fr (Subversion)

• Site « ivystore » de l’IRIT• http://www.irit.fr/~Philippe.Truillet/ivystore

• http://marine.edu.ups-tlse.fr/~truillet/ens/m2si/id/ivy/ivy.2.14.pdf

• http://marine.edu.ups-tlse.fr/~truillet/ens/l2info/tp/ivy_tp_l2_1.2.pdf