Financé par l’Union européenne et piloté par Inria, le consortium TeamPlay vient d’explorer de nouvelles techniques pour permettre aux développeurs de mieux appréhender l’énergie, le temps d’exécution, la sécurité et d’autres propriétés non-fonctionnelles quand ils conçoivent des logiciels parallèles. Durant ces 42 mois de recherche, plusieurs prototypes ont été développés. Comme l’explique Olivier Zendra, coordinateur du projet, certains de ces outils ont été immédiatement intégrés par les partenaires industriels.
Optimiser l’efficacité énergétique. Fonctionner dans des temps très contraints. Et répondre à de fortes exigences de sécurité. Sur les systèmes embarqués, beaucoup d’applications multi-cœur doivent aujourd’hui composer avec ces trois propriétés non fonctionnelles. Pourtant, quand les développeurs conçoivent leur logiciel, ils ne peuvent pas exprimer ces propriétés directement dans le code source. C’est seulement après l’écriture du programme qu’ils peuvent utiliser des outils externes pour analyser comment l’énergie, le temps et la sécurité sont correctement pris en compte, individuellement, ou en lien les uns avec les autres. Dans ces conditions, difficile de raisonner sur les propriétés d’une façon plus formelle au niveau du code source.
Le projet de recherche TeamPlay visait précisément à aider les programmeurs à exprimer plus facilement, et de façon plus explicite, ces propriétés non fonctionnelles dès l’écriture du code. Ainsi, ils pourraient spécifier quelle partie du programme doit prendre au maximum tant de temps, au maximum tant d’énergie, quelle partie du logiciel doit avoir tel niveau de sécurité face à telle menace, etc.
Propriétés de sécurité encore nouvelles
Le principal défi scientifique consiste à offrir un haut niveau d’abstraction tout en implémentant sans accrocs les propriétés exprimées à travers toute la pile logicielle jusqu’au niveau d’exécution. Difficulté supplémentaire : contrairement au temps et à l’énergie, les propriétés de sécurité sont relativement nouvelles. Pour ces dernières, il n’existe d’ailleurs pas encore de standard de mesure.
TeamPlay rassemblait six entités de recherche : Université de Saint-Andrews (expressivité des langages), Université de Bristol (modélisation de l’énergie des processeurs), Université d’Amsterdam (analyse temporelle), Université Technique de Hamburg-Harburg (compilation), Université du Sud Danemark (drones) et Inria (sécurité). Quatre partenaires industriels se sont aussi impliqués.
Outils intégrés par les industriels
“Notre premier résultat est un démonstrateur qui fonctionne, indique Olivier Zendra, le coordinateur du projet. Ce n’est pas un gros logiciel qui permet de tout faire d’un coup, mais une chaîne d’outils composée de plusieurs prototypes. Certains pour la gestion de l’énergie. D’autres pour le temps. D’autres pour la sécurité. Et certains ont d’ores et déjà été intégrés par nos partenaires industriels dans leurs solutions. En Allemagne, par exemple, AbsInt est une société bien établie qui fournit des logiciels d’analyse et de compilation. Ils ont inséré le module d’analyse énergétique dans leur ligne de produits. Au Danemark, le fabriquant de drones Sky Watch travaille aussi sur l’intégration de ces fonctions liées à l’énergie. En Espagne, Thales Alenia Space España s’intéresse à certains aspects de nos recherches dans le contexte du Leon 3, un processeur embarqué pour satellites. En Grèce, Irida Labs mène des études de faisabilité pour leur logiciel de vision ordinateur par intelligence artificielle. Globalement, la collaboration s’est déroulée dans une excellente ambiance de travail et j’ai le sentiment que nous sommes parvenus à construire un groupe soudé.”
Du point de vue scientifique, le projet a permis “une avance significative de l’état de l’art dans le domaine. Cela s’est traduit par un bon nombre de publications. Certaines ne sont d’ailleurs pas encore parues. Chez nous, à Inria, par exemple, nous avons encore trois papiers à publier et un autre se trouve en cours de soumission.”
Un des points intéressants de ces projets européens, c’est que, grâce à eux, on peut trouver des partenaires ayant à la fois les compétences et la volonté d’investir dans la recherche. Ce qui serait plus difficile uniquement au niveau national. Cela permet aussi d’avoir un enrichissement mutuel par la diversité des points de vue exprimés sur un sujet. Dans TeamPlay, nous avons eu l’occasion d’apprendre à nous connaître. Nous restons en contact. Très probablement, certains d’entre-nous, ou tous, travailleront de nouveau ensemble.
This project has received funding under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 779882).