voir le descriptif complet de la thèse

Transcription

voir le descriptif complet de la thèse
Titre : Améliorer l’activité de développement logiciel par de nouvelles techniques d’interactions
Financement prévu : contrat doctoral Université
Cofinancement éventuel :
(Co)-Directeur de thèse : Jean-Marc GEIB (PR Lille 1)
E-mail : [email protected]
Co-directeur de thèse : Jean-Claude Tarby (MCF Lille 1), encadrant
E-mail : [email protected]
Laboratoire : LIFL (UMR Lille1/CNRS n°8022)
Equipe : Carbon/Dart
Résumé :
La création et la manipulation des diagrammes en Informatique (avec UML par exemple) posent beaucoup de
problèmes. Le manque de lisibilité et d’adaptation au lecteur (chef de projet/développeur/client), et leur saisie
fastidieuse due à la mauvaise ergonomie des éditeurs de diagramme, freinent leur utilisation et par conséquent
la pénétration de l’Ingénierie Dirigée par les Modèles (IDM) dans les entreprises.
Cette thèse a pour objectif d’étudier l’apport des technologies d’Interaction Homme-Machine (IHM) sur l’activité
de développement logiciel en se focalisant sur la création et la manipulation de diagrammes contextualisés et
interactifs, appelés « Diagrammes 2.0 ». De tels diagrammes, couplés à des techniques d’interaction avancées,
permettront d’exploiter toutes les informations liées à l’activité de développement (par filtrage, recoupement,
collaboration, dépendance…), et devraient s’avérer très utiles pour les grands projets tels que ceux gérés par les
SSII (avec des centaines de classes, et des centaines de milliers de lignes de code).
Nous étudierons par exemple l’usage de lunettes de réalité augmentée (type « Google glass »), l’usage de tags
NFC, l’interaction à travers différents écrans, la visualisation multi-formats, les interactions gestuelles et vocales,
etc.
Les résultats produits seront systématiquement testés en conditions réelles, au minimum dans des entreprises
de la Métropole Lilloise.
Enfin le type de problématique étudiée dans cette thèse nous permettra d’obtenir des résultats dont la portée
touche tous les domaines (chimie, physique, architecture, gestion de l’énergie, etc.).
Mots clés :
Diagrammes ; Modèles ; Interaction Homme-Machine ; Développement logiciel ; Ingénierie Dirigée par les
Modèles
1
Description détaillée
Pourquoi ce sujet de thèse ?
QUESTION Qu’y a‐t‐il de commun entre : ‐ les écrans transparents dans « Minority Report » (2002) et les sociétés Haier ou Samsung (2011/2012) ? ‐ les « toolglass » + « magic lens » présentés à la conférence CHI (1994) et le « paper lens » (2008) ? ‐ le système MARS (Mobile Augmented Reality System) de l’Université de Columbia (2002) et la « réalité augmentée » sur iPhone (2010) ? REPONSE Toutes ces idées autrefois futuristes, pour ne pas dire farfelues pour certains, sont devenues réelles, et même « naturelles » pour nous ! En effet : ‐ Haier a présenté un écran transparent en 2011, suivi par Samsung en 2012 (ajout du « multi‐touch » sur l’écran), et la première télévision transparente est sortie en 2012. Notons que les téléphones transparents sont annoncés d’ici fin 2014, les premiers prototypes étant déjà sortis ! 2002, faux écran transparent dans le
film Minority Report concept de téléphone
transparent Septembre transparente 2012, télévision
2013, premier prototype téléphone transparent de 2
‐
Paper Lens permet un filtrage sémantique par l’utilisation d’un simple morceau de carton. Avec cette technologie, des médecins peuvent par exemple naviguer « réellement » et pratiquer des coupes en 3D dans des images IRM, simplement en déplaçant un morceau de carton dans un corps humain virtuel une table (Cf. vidéo à https://isgwww.cs.uni‐
projeté sur magdeburg.de/uise/Forschung/Publikationen/2009‐ITS‐PaperLens.wmv, et détails à https://isgwww.cs.uni‐magdeburg.de/cvse/Forschung/Projekte/MagicLens/). 1994, filtrage au travers d’une
toolglass. Ici, la tooglass ne laisse
passer que les contours des dessins
‐
2008, navigation en 3D dans le corps humain avec un « paper lens » aujourd’hui, tous les smartphones proposent des applications de réalité augmentée (par exemple pour trouver la station de métro la plus proche de vous). 2002, naissance de la réalité augmentée 2010, la réalité augmentée sur iPhone 3
Par ailleurs, si en 1995, on avait demandé aux gens dans la rue s’ils aimeraient surfer sur le Web avec leur téléphone, ils auraient répondu non car ils n’avaient ni la technologie nécessaire (ne serait‐ce que les téléphones de l’époque !) ni le besoin. Retirez son smartphone à quelqu'un pendant 1h aujourd’hui, et il se sent « en manque » (plus d’accès à Facebook…). De « farfelue » en 1995, l’idée de surfer sur le Web avec son téléphone est plus qu’habituelle aujourd’hui ! Non seulement un besoin a été créé, mais il a modifié notre façon de vivre (consulter ses mails dans la rue par exemple). 2006, Sagem My700Xi 2007, iPhone
Ces (r)évolutions ont fortement modifié notre quotidien. Pourtant, rien n’a changé, ou presque, dans le quotidien des informaticiens quant au développement logiciel. La thèse proposée ici a pour objectif d’améliorer cette situation grâce aux évolutions technologiques. Contexte de la thèse
Dans le domaine du logiciel, le quotidien de l’informaticien n’est pas simple. Il doit constamment prendre en compte les exigences du client, les besoins des utilisateurs, les pratiques de son équipe et de son chef de projet, les règles de l’entreprise, et produire des spécifications, du code, des livrables et de la documentation. Heureusement, de plus en plus d’outils l’aident à mener à bien sa mission : éditeurs de code, outils de mesure de la qualité, d’intégration continue, de partage de documents, de test, de déploiement, et des éditeurs de textes et de diagrammes. Pour autant, ces outils n’ont pas une ergonomie à toute épreuve : les informations qu’ils affichent, la façon dont ils les présentent et les commandes qu’ils proposent pour manipuler ces informations sont loin d’être correctement adaptés aux tâches des informaticiens, et surtout n’ont quasiment pas bénéficié des avancées technologiques. Ainsi, la seule façon de programmer aujourd’hui reste majoritairement l’éditeur de texte (tel que Eclipse), même s’il est agrémenté de fonctions comme la complétion et la coloration automatiques. Or, il est établi que l’utilisation de diagrammes est une solution efficace en complément du code pur, par exemple pour la maintenance. Par contre, les études montrent que les diagrammes sont généralement sous‐employés ; les notations sont généralement perçues comme inadaptées par les informaticiens [Anaby‐Tavor 2010], et le choix des éléments qui constituent un diagramme est peut‐être pertinent pour l’auteur mais rarement pour les lecteurs [Chaudron 2012] [Forward 2010] [Petre 2013]. Par ailleurs, les éditeurs de diagrammes sont souvent considérés comme “lourds”. Cela vient d’abord de la perte du contexte, c'est‐à‐dire de leur déconnexion avec les autres activités de l’informaticien (la programmation, les tests, le suivi de version…), mais cela vient aussi du couple clavier/souris qui est tout sauf 4
adapté à l’écriture de diagramme1. On peut constater depuis peu cependant l’arrivée d’outils tels que ObjectAid (www.objectaid.com) et UML Lab (www.uml‐lab.com) qui proposent la génération de quelques diagrammes UML, mais de façon encore très « statique » puisqu’ils génèrent des diagrammes sur lesquels on ne peut faire que quelques interactions simples, par exemple cliquer sur une classe pour en afficher le code. Avec une étude approfondie des activités de l’informaticien (intentions et processus cognitifs), nous pensons qu’il est possible de trouver de meilleurs types de représentations pour les diagrammes et de trouver/créer des périphériques d’interactions plus adaptés à ces représentations (manipulation et navigation), et plus adaptés aux contextes dans lesquels les diagrammes sont créés. Cette thèse vise à étudier les apports de l’Interaction Homme‐Machine et des technologies associées pour améliorer le quotidien de l’informaticien en se focalisant sur la création et la manipulation de diagrammes contextualisés et interactifs associés à ses activités journalières. Ces diagrammes font partie de ce que nous appelons les « Diagrammes 2.0 ». Par diagramme, nous entendons tout type d’informations textuelles ou graphiques permettant de créer des représentations visuelles simplifiées. Nous nous appuyons pour cela sur la définition donnée par Wikipédia : Un diagramme est une représentation visuelle simplifiée et structurée des concepts, des idées, des constructions, des relations, des données statistiques, de l'anatomie etc. employé dans tous les aspects des activités humaines pour visualiser et éclaircir la matière. Un diagramme permet aussi de décrire des phénomènes, de mettre en évidence des corrélations en certains facteurs ou de représenter des parties d’un ensemble. (source : http://fr.wikipedia.org/wiki/Diagramme, le 25/2/2014) Aussi, un diagramme de classes annoté de commentaires textuels, de copies écrans ou encore de photos d’utilisateurs en situation réelle de travail, est toujours pour nous un diagramme. Couplés à des moyens d’interactions permettant de manipuler ce diagramme, sous quelque forme que ce soit, nous appelons de tels diagrammes des « Diagrammes 2.0 ». Voici un exemple d’usage envisagés : Grâce à ses « Google glass », le développeur sélectionne les « packages » qu’il veut transformer en diagramme de classes. D’un simple geste de la tête, il envoie ces packages sur une tablette tactile posée à côté de lui. La tablette affiche alors de façon interactive le diagramme de classes associé. Un clic sur le dessin d’une classe (sur la tablette) affiche le code associé sur le poste de travail. Un clic long sur la même classe met en surbrillance les classes dépendantes (par exemple par rapport aux données qu’elles utilisent). Le fait de poser deux doigts sur la tablette affiche en surbrillance les classes en cours de modification par les autres développeurs… Le développeur prend maintenant son « téléphone transparent », et le passe au dessus de la tablette comme filtre sémantique (comme une « magic lens »). A travers son téléphone, il voit alors affichés sur chaque classe le temps qu’il a passé à la coder, le nombre de bugs corrigés, les tests unitaires non achevés. 1
Pour créer un diagramme de classe avec seulement deux classes « vides » reliées par une simple relation, il ne faut pas moins de 10 clics minimum, et ceci peut monter à 90 clics pour ajouter juste un nom, une propriété et une méthode à chaque classe ! 5
Si le chef de projet fait de même avec son propre téléphone transparent, il voit quant à lui les écrans de l’application associés à ces classes, et peut éventuellement consulter l’historique des versions précédentes de ces écrans. Le développeur veut enfin montrer à son chef de projet, situé non loin de lui, les enchaînements d’écrans de l’application qu’il développe. Grâce à une « Leap Motion » (www.leapmotion.com), il prend alors son projet « entre ses doigts » et l’envoie sur un écran mural afin que tous deux puissent voir et manipuler ensemble ces informations… Déplacement entre deux écrans d’un objet « dans les doigts » avec une Leap Motion Travailler avec des « Google glass », un « téléphone transparent », une « leap motion » ? Ces usages semblent « farfelus » ? Aujourd’hui peut‐être, comme surfer sur Internet avec un téléphone l’était en 1995 ! Et si ces usages « farfelus » devenaient naturels demain ? La thèse va par conséquent étudier la relation entre l’activité de développement logiciel et les points ci‐
dessous : - l’interaction naturelle [Valli 2008] et les interfaces naturelles. Par interaction naturelle, nous entendons les interactions n’utilisant pas le clavier et la souris. Une interaction naturelle est moins intrusive et donne l’impression de manipuler directement les objets. Par exemple, sur un smartphone, faire défiler la liste des contacts en glissant simplement son doigt sur l’écran est pour nous une interaction naturelle, contrairement à la même interaction consistant à cliquer sur une barre de défilement avec une souris. - les surfaces de modélisation telles que les tablettes, les écrans interactifs, le papier interactif [Davis 2007], les lunettes de réalité augmentée (type « Google glass »)… - la modélisation tangible, basée sur l’interaction tangible [Ishii 1997], c’est‐à‐dire en utilisant des objets réels comme représentation des objets manipulés dans la modélisation. En associant par exemple un 6
-
-
simple crayon à une classe dans un diagramme de classe, on déplace la classe dans le diagramme simplement en déplaçant le crayon. la modélisation multimodale basée sur les interfaces multimodales [Bolt 1980] qui combinent différents moyens d’interaction (voix, tactile, geste, haptique…). Ceci est en relation forte avec l’interaction naturelle, mais se concentre sur les techniques contrairement à l’interaction naturelle qui se concentre sur les usages. la modélisation multimédia qui fait intervenir tous les media numériques possibles (vidéo, audio, photo…) pour enrichir les modèles et diagrammes [Creigthon 2006]. Les résultats produits dans cette thèse seront systématiquement testés en conditions réelles, au minimum dans des entreprises informatiques de la Métropole Lilloise. Enfin, le type de problématique étudiée dans cette thèse nous permettra d’obtenir des résultats dont la portée ne se limitera pas à l’Ingénierie Logicielle (les diagrammes existent dans tous les domaines), mais pourra s’appliquer à la gestion de l’énergie, la chimie, la physique, l’architecture, etc. Programme et échéancier de travail
Lors de la première année de thèse, le doctorant aura à développer des prototypes d’outils « Diagrammes 2.0 ». Pour cela, il proposera et testera différents types d’interactions pour créer et manipuler ces diagrammes. Chaque prototype sera testé en laboratoire afin de trouver les meilleurs types d’interaction possibles pour les diagrammes produits et en fonction du contexte donné (tâche actuelle du développeur, périphériques disponibles…). En parallèle, il effectuera une étude bibliographique approfondie sur l’IDM et l’IHM, avec un focus sur les activités liées à la conception et la modélisation. La deuxième année sera principalement consacrée à l’étude de terrain. Suite aux tests réalisés en première année, des prototypes seront testés en condition réelle de travail (par exemple en SSII) afin de recueillir les impressions de développeurs, confrontés tous les jours aux problèmes de maintenance logicielle sur de grands projets, quant aux solutions et améliorations proposées par ces prototypes. Nous procéderons de façon incrémentale, c'est‐à‐dire que les résultats des premiers prototypes influenceront la conception des prototypes suivants. Enfin, la troisième année sera en grande partie dédiée à la communication des résultats et à la rédaction du mémoire de thèse. La réalisation d’un support logiciel, par exemple un plugin Eclipse, mettant en pratique les résultats obtenus lors de la seconde année sera une activité secondaire menée en parallèle. Retombées scientifiques et économiques attendues
Les résultats de cette thèse permettront d’améliorer l’activité de développement logiciel : - en fournissant des moyens d’affichage, de filtrage, de navigation, de suivi, de contrôle, d’abstraction… du code de l’application ; 7
-
en favorisant la compréhension des applications développées, et par conséquent leur maintenance et leur évolution, principalement pour les gros projets tels que ceux en SSII ; en augmentant la coopération entre développeurs qu’ils soient locaux ou à distance, en travail synchrone ou asynchrone, grâce par exemple au filtrage sémantique en temps réel ; en améliorant la relation développeur/chef de projet grâce à l’aspect multi‐vues des « diagrammes », par exemple en associant le « modèle IHM » de l’application (vue du chef de projet) avec les modèles UML et le code (vue du développeur), et en permettant de passer de l’un à l’autre de façon totalement fluide et naturelle. De façon plus globale, les résultats de la thèse devraient permettre : - l’amélioration de l’activité de développement logiciel en proposant de nouvelles façons de travailler, que ce soit dans la maintenance logicielle, ou la simple programmation, de façon collaborative ou individuelle, synchrone ou asynchrone. - la création d’outils améliorant la conception logicielle par une ingénierie « augmentée » grâce aux « diagrammes 2.0 ». Ces outils pourront prendre la forme d’un plugin Eclipse, mis à disposition des communautés Eclipse et IDM, ou être contractualisé avec des entreprises de la métropole Lilloise (Worldline (ex‐ATOS), Cap Gemini, Axellience, Tymate...) ou d’ailleurs. Candidature
Le candidat doit avoir un Master 2 en Informatique (ou équivalent), et posséder de bonnes connaissances en programmation. Un bon niveau en anglais (écrit et parlé) serait un plus. Pour candidater, le candidat doit impérativement remplir les deux dossiers de candidature ci‐dessous : -
-
le premier dossier doit contenir : o une brève description de l'expérience passée ainsi que l’intérêt pour la recherche, o un CV, o les diplômes et grades, avec copie des notes, o une copie du mémoire de Master, o une lettre de motivation (courte mais pertinente pour la thèse), o et autres documents pertinents si nécessaire. Les candidats sont encouragés par exemple à fournir des lettres de recommandation et les coordonnées de personnes de référence. le second dossier à remplir est disponible à http://edspi.univ‐
lille1.fr/fileadmin/nguyen/Allocation_recherche/14/formulairebilingue2014.doc . Ces deux dossiers doivent être envoyés à jean‐claude.tarby@univ‐lille1.fr, en deux documents distincts (au format PDF si possible), par mail (ou ftp, dropbox... si trop gros) avant le 7 mai 2014. Nous encourageons les candidats intéressés à nous contacter dès que possible (jean‐
claude.tarby@univ‐lille1.fr). 8
Environnement de travail
Le doctorant travaillera au LIFL2, situé sur le campus de l’Université Lille 13 Sciences et Technologies4 : -
L’Université Lille 1 compte 20.000 étudiants dont 19% internationaux, 1.500 enseignants‐chercheurs, 39 équipes de recherche labellisées, 1.000 doctorants dont 30% de doctorants internationaux. 80% des chercheurs et enseignants‐chercheurs sont affectés à des laboratoires notés A et A+ par les organismes nationaux d'évaluation. L’Université se situe à 15 minutes du centre‐ville par le métro. -
Le laboratoire d'informatique fondamentale de Lille (LIFL) est une Unité Mixte de Recherche (UMR 8022) avec comme tutelles le CNRS et l'Université Lille 1 et comme établissements partenaires l'Université Lille 3 et Inria. Il est rattaché à l'Institut des Sciences de l'Information et de leurs Interactions (INS2I) du CNRS. Il héberge 10 équipes‐projets et équipes du centre de recherche INRIA Lille‐Nord Europe, une centaine de chercheurs et enseignants‐chercheurs, et une centaine de doctorants. -
Lille est la capitale du Nord de la France, une métropole de 1 million d'habitants, avec une excellente liaison ferroviaire pour Bruxelles (30 min), Paris (1h) et Londres (1h30). Références bibliographiques
- [Anaby‐Tavor 2010] Anaby‐Tavor, A., Amid,D., Fisher, A., Bercovici, A., Ossher, H., Callery, M., Desmond, M., Krasikov, S., and Simmonds, I. Insights into enterprise conceptual modeling. Data Knowl. Eng., 69(12):1302‐1318, 2010. - [Bolt 1980] Bolt, R.A. Put‐that‐there: Voice and gesture at the graphics interface, volume 14. ACM, 1980. - [Chaudron 2012] Chaudron, M.R.V., Heijstek, W., Nugrobo, A.: How Effective is UML Modeling? Software & System Modeling 11, 571‐580, October 2012. - [Creigthon 2006] Creighton, O., Ott, M. and Bruegge, B. Software cinema‐video‐based requirements engineering. In Requirements Engineering, 14th IEEE International Conference, pages 109_118. IEEE, 2006. - [Davis 2007] Davis, R. Magic paper: Sketch‐understanding research. Computer, 40(9):34_41, 2007. - [Forward 2010] Forward, A., Lethbridge, T.C., Badreddin, O.: Perceptions of Software Modeling: A Survey of Software Practitioners. Tech. rep., University of Ottawa, 2010. - [Ishii 1997] Ishii, H., Ulmer, B. Tangible Bits: Towards Seamless Interfaces between People, Bits and Atoms, CHI 1997. 2
www.lifl.fr www.univ‐lille1.fr 4
plan à https://goo.gl/maps/OMmEB 3
9
-
[Petre 2013] Petre, M.: UML in Practice. In: Proc. of the 35th International Conference on Software Engineering (ICSE), 2013. [Valli 2008] Valli, A. The design of natural interaction. Multimedia Tools and Applications, 38(3): 295‐
305, 2008. 10