Le programme sera structuré autour de 8 thématiques principales qui marqueront l'actualité des laboratoires sur les prochaines années. Elles sont porteuses d'évolutions majeures pour les entités de recherche. L'édition 2017 mettra en lumière et de manière transverse les données massives (big data), la sécurité et l'émergence des infrastructures numériques de l'ESR. Nous ferons un focus particulier sur l'ingénierie documentaire, la recherche d'informations textuelles scientifiques et techniques et leurs intégrations dans les logiciels scientifiques. Des plénières compléteront le tableau. Nous aborderons tout d'abord des thématiques portant sur le coeur de métier du développement logiciel :
Puis nous nous intéresserons également aux technologies qui révolutionnent les moyens expérimentaux des laboratoires :
Les systèmes embarqués continuent leur révolution en offrant de nouvelles possibilités comme dispositifs expérimentaux en tant que capteurs, interfaces homme-machine ad hoc ou comme périphériques mobiles, points d'entrée des infrastructures numériques. Les nouveaux réseaux basse fréquence accroissent le rayon d'action et la diversité des objets de l'internet contribuant au déluge de données de toutes sortes. Vous retrouverez ces concepts en thématique 1 (T1 - Embarqué, réseaux de capteurs, l'internet des objets (IoT)).
Le volume des données et leur répartition dans le nuage nécessitent de réfléchir aux infrastructures permettant l'interopérabilité des données et l'utilisabilité des ressources de données et de calcul. Les infrastructures logicielles permettent l'automatisation de la collecte et des traitement des données qui est indispensable pour absorber de grands volumes, certifier, fiabiliser les traitements en vue de rendre les expérimentations et les simulations numériques reproductibles. Par ailleurs, les infrastructures numériques sont indispensables pour la bonne utilisation des infrastructures matérielles. Nous nous intéresserons à l'urbanisation de ces infrastructures (architectures orientées ressources, pilotage par processus, référentiels de contenu, référentiel de type, méta-données, indexation…) avec en ligne de mire la convergence du HPC et du cloud (OpenStack, SaaS, PaaS…). Cf. Thématique 5 (T5 – Infrastructure numérique).
Les méthodes numériques et algorithmiques propre au big data pour le calcul et la simulation dans les logiciels scientifiques seront étudiées . Nous ferons le point sur les méthodes numériques et les solutions logicielles (Hadoop, MapReduce, Spark…) et les nouvelles solutions matérielles disponibles pour leurs implémentations (GPU, cluster dARM à base de Raspberry Pi ou BeagleBone…). La bonne utilisation des architectures, l'adéquation entre les solutions logicielles et les solutions matérielles de calcul seront étudiées. Nous ferons le point sur les langages (Julia, Python, R…), les nouvelles normes pour le parallélisme hétérogène (HSA 1.0, HSAIL), les APIs (MPI, OpenCL, OpenMP…), la programmation hybride (MPI/openMP, MPI/OpenCL…), la programmation parallèle et le multithreading, la programmation réseau, la programmation fonctionnelle. Rendez-vous en thématique 8 (T8 - Parallélisme itinérant : méthodes numériques parallèles et big data).
Les structures de données abstraites (arbre, forêt, pile, file d'attente…) seront étudiées ainsi que leur implémentation dans différents langages. Nous nous intéresserons au calcul de complexité des algorithmes et aux outils de test et de métrologie des codes. Ces connaissances sont des préalables à la mise en oeuvre des méthodes numériques pour le big data et plus largement à la conception des logiciels. Nous nous intéresserons à la persistance de ces structures de données dans les bases de données relationnelles, semi-structurées, distribuées. Ce sera l'objet des débats en thématique 7 (T7 – Langages, structures de données et big data).
Nous nous intéresserons aux différentes méthodes et techniques intervenant tout du long du cycle de vie du logiciel du recueil des besoins au déploiement. Nous ferons le point sur les méthodes agiles et autres adaptées aux contextes des laboratoires et les différentes méthodes d'expression des besoins et de spécification (par les tests, les users stories, les cas d'utilisation…). Nous intéresserons aussi au différents niveaux de maturité des logiciels, à leur certification éventuelle et à la sécurité des développements : comment développer des applications intégrant des produits tiers et comment déployer en toute sécurité. Quelles contraintes sur la maintenance du code et comment l'administrateur système et réseau peut-il mettre en place un « bac à sable » pour assurer la sécurité ? Quelle approche DevOps ? La thématique 6 (T6 - Méthodes et techniques pour le développement logiciel) exposera tous ces aspects.
Les usines logicielles seront abordées comme environnement de développement intégrant les différents outils et services de production de code pour le support des activités de développement. Nous ferons le point sur les ateliers de génie logiciel, les environnements de développement intégré collaboratif, les différents services tels que les référentiels de code (les forges, SourceSup, GitHub…), les gestionnaires de projet, les gestionnaires de tâche, les bibliothèques de contexte d'exécution (Docker, PaaS…), les plateformes de test, d'intégration continue, etc. Leur plugin/intégration dans les IDE sera à l'ordre du jour. Cf. Thématique 4 (T4 - Usines logicielles).
Nous vivons une révolution des données. La quantité produite de données augmente de manière exponentielle. Le web a donné naissance à notre monde interconnecté et rend accessible ces masses de données au plus grand nombre. Comment intégrer ces sources de données dans les projets scientifiques et comment valoriser les nouveaux résultats de recherche produits? Nous nous intéresserons aux différentes solutions du processus d'informatisation, du développement et de la maintenance des systèmes d'information. De la modélisation du domaine avec UML en passant par le modèle entité-association, nous ferons le point sur l'apport du modèle du web sémantique. Au-delà des moteurs relationnels et des moteurs NOSQL, nous verrons l'apport de SparQL. Nous étudierons en quoi ce nouveau paradigme permet ou non d'expliciter, de représenter, de construire et de capitaliser les connaissances pour différentes communautés scientifiques et techniques. Nous serons attentifs à la rétro-ingénierie, à la capitalisation et à l'évolution de l'existant, à l'ingénierie des systèmes d'information internet. Toutes ces notions seront abordées durant la thématique 2 (T2 - Ingénierie et web des données).
L'impact de nos métiers sur le monde socio-économique sera mis en lumière par la thématique « usine personnelle et les objets libres ». Le monde numérique usuellement immatériel a maintenant la possibilité de produire des objets matériels avec la mouvance open hardware, rebattant les cartes de l'équation économique de la production unitaire d'objets et ouvrant la porte à la production de dispositifs expérimentaux ad hoc pour les laboratoires. Nous nous intéresserons ici aux développements des méthodes numériques appropriées (DAO, CAO, FAO, méthodes…) pour la création et l'usinage. Nous nous intéresserons aux chaînes de productions ouvertes des fabriques personnelles (scanneur 3D, imprimantes 3D filaires ou par poudre…), à leur développement, leur configuration et leur adaptation. Retrouvez cette mouvance en thématique 3 (T3 - Usine personnelle, l'open hardware pour votre laboratoire).