En matière d’ingénierie de l’IHM, on observe souvent deux catégories de travaux. D’une part, les chercheurs focalisés sur l’innovation mettent l’accent sur des processus agiles : la conception participative, le prototypage, les processus itératifs, etc. Ils cherchent des architectures capables d’exprimer des combinaisons toujours nouvelles d’entrées et de sorties. D’autre part, les chercheurs focalisés sur les processus industriels s’intéressent à des méthodes de spécification et de développement rigoureuses, afin de supporter des processus de vérification et de certification. Mais le secteur aéronautique ne peut se satisfaire de cette frontière. Il a besoin d’innover dans les IHM qu’il conçoit tout en respectant les contraintes imposées à ses cycles de développement. Qui plus est, il aspire à le faire en utilisant des outils communs pour les phases amont de conception et les phases aval de développement, car toute hétérogénéité est source d’inefficacité.
À travers quelques exemples, nous montrons comment le “framework” djnn offre des solutions à la fois en matière de conception itérative d’IHM innovante et de développement rigoureux.
LE FRAMEWORK DJNN
djnn met en oeuvre un paradigme de programmation interactive, dans lequel un programme est une collection hiérarchique de composants interactifs. L’exécution se décrit sous forme d’interactions entre les composants. Le concept de composant interactif s’applique aussi bien à des widgets tels qu’un bouton ou une boîte de dialogue, qu’à des composants élémentaires tels qu’une forme graphique, une variable, une instruction de calcul, ou une structure de contrôle. Il s’applique aussi à des composants représentant des périphériques d’entrées ou de sortie, ce qui permet d’analyser l’interaction homme-machine comme une extension du modèle d’exécution de djnn.
Le framework djnn peut être compris comme un interpréteur de composants interactifs. Les composants sont soit créés avec une API, comme dans un framework traditionnel, soit chargés depuis des fichiers. En particulier la syntaxe XML est supportée, en utilisant les formats XML standards quand ils existent. Par exemple, djnn peut charger les composants graphiques depuis des fichiers SVG (Scalable Vector Graphics) ce qui permet à des designers graphiques de travailler de manière autonome sur les éléments graphiques avec leurs outils habituels, tandis que des programmeurs peuvent implémenter le comportement de ces éléments [1]. Le format XML peut aussi être utilisé pour effectuer des vérifications formelles sur l’arbre des composants. Nous montrons ici l’utilisation de djnn à travers 4 projets de développement de cockpits aéronautiques auxquelles l’ENAC participe. Ces projets illustrent la diversité des processus de développement et des types d’IHM supportés par djnn.
VOLTA : UN HÉLICOPTÈRE ÉLECTRIQUE
Volta est un hélicoptère électrique conventionnel avec une motorisation 100% électrique . L’ENAC a collaboré à la mise en œuvre du tableau de bord de l’appareil. Pour ce projet, la contrainte temporelle était un facteur important, car les essais devaient être réalisés au plus tôt, dans un cadre de concurrence internationale.
L’interface du tableau de bord de Volta est constituée d’indicateurs et de témoins . Sa fonction est essentiellement d’afficher l’état des systèmes de propulsion, le pilotage étant entièrement mécanique.
L’architecture de l’application réalisée est de type dataflow. Des composants ont été réalisés pour représenter les données reçues depuis les bus CAN et I2C, ainsi que les ports GPIO du Raspberry Pi. Le reste du programme est une collection d’objets graphiques chargés depuis des fichiers SVG, et de composants qui filtrent les données pour contrôler la couleur et la géométrie des objects graphiques .
COCKPIT POUR UN AVION ÉCOLE
L’ENAC mène une réflexion sur le cockpit des futurs avions école, destiné aux premières heures d’instruction des pilotes. En raison de la nature très particulière des vols effectués lors de ces premières heures, ces avions peuvent faire appel à des modes de propulsion moins bruyants mais à autonomie limitée. D’autre part leur planche de bord peut être conçue en fonction des besoins spécifiques de l’instruction.
Dans ce cadre, nous avons mené un processus de design centré sur les besoin de l’instructeur et avons pu explorer des solutions innovantes d’affichage et d’interaction répondant à la double spécificité de l’avion école : maîtrise de la consommation d’énergie et contexte d’instruction (Figure 3). Le découplage entre graphisme et comportement et la facilité d’intégration de ces deux composantes nous ont permis de confier le design graphique à des experts et d’explorer rapidement différentes solutions favorisant ainsi le processus d’innovation.
EXPLORATION DE LA MULTIMODALITÉ
une maquette de cockpit en carton développée par Intactile Design, permet de tester très rapidement de nouvelles combinaisons de modalités. Le contenu des écrans du cockpit est produit par à un vidéo projecteur (Figure 4). Les moyens d’interaction sont fixés sur le carton. Ils incluent la reconnaissance de gestes 3D (Leap Motion), le suivi du regard, la reconnaissance vocale, l’interaction aux doigts et stylet sur tablette, et des interacteurs tangibles (Phidgets). Le contenu des écrans interactifs peut être modifié en temps réel en utilisant un éditeur de type Inkscape ou Illustrator.
PROCESSUS DE DÉVELOPPEMENT INDUSTRIEL
Dans ce dernier exemple, nous nous appuyons sur un scenario concret de conception d’un PFD (Primary Fligh Display), issu d’observations en milieu industriel, pour illustrer comment djnn permet de mettre en oeuvre les diverses phases des processus de développement.
Nous illustrons dans la démonstration quatre phases de développement : le travail en parallèle entre graphiste et programmeur, l’adaptation dynamique à un environnement de simulation plus fidèle, le test de plusieurs options de design, et la définition et la vérification formelle de propriétés [2].
|
Table des matières
I)INTRODUCTION
II) GENERALITES
III) METHODOLOGIE
IV) RESULTATS
V) COMMENTAIRES ET DISCUSSION
VI) CONCLUSION
VII) REFERENCES
ANNEXES
RESUME