Maîtriser les propriétés non-fonctionnelles des logiciels : énergie, temps, sécurité

Consortium européen coordonné par Inria et financé par le programme de l’UE H2020, TeamPlay étudie 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, notamment parallèles. Comme l’explique Olivier Zendra, coordinateur du projet, cette recherche devrait impacter différents secteurs industriels. Les résultats seront évalués à travers des cas d’usages fournis par des industriels de la cybersécurité, de la vision par ordinateur, des drones et des satellites.


Mobilité oblige, le monde numérique utilise de plus en plus de systèmes embarqués sur lesquels fonctionnent des applications multi-cœurs. Le plus souvent, ces logiciels parallèles doivent gérer l’énergie au plus serré tout en respectant de fortes contraintes temporelles et de stricts impératifs de sécurité. C’est d’ailleurs là que les choses se compliquent.

Photo d'un homme se promenant dans les serveur de l'équipe projet TAMIS

Serveur de l’équipe-projet TAMIS
© Inria / Photo C. Morel

En effet, même s’il existe des moyens d’analyse efficaces pour prédire la consommation énergétique du matériel multi-coeurs, que ce soit séparément ou en lien avec les informations temporelles, il s’agit principalement d’outils externes intervenant après l’écriture des premières versions du code. De fait, au moment où les développeurs conçoivent l’application pour exprimer leurs besoins, ils ne disposent d’aucune possibilité pour exprimer aussi les propriétés non-fonctionnelles telles que l’énergie, le temps et la sécurité, directement dans le code source. Difficile donc pour ces développeurs de raisonner sur elles d’une façon formelle au niveau du code. Le projet TeamPlay vise justement à les y aider.

Portrait d'Olivier Zendra

Olivier Zendra

“Dans tout programme informatique, il existe une série de propriétés non-fonctionnelles telles que le temps, la sécurité ou encore l’énergie. Notre objectif est de permettre aux développeurs d’exprimer ces propriétés plus facilement et d’une façon plus explicite, résume Olivier Zendra, chercheur Inria, membre de Tamis, une équipe spécialisée dans la cybersécurité. Nous souhaitons que ces personnes puissent spécifier, par exemple, quelle partie du programme doit prendre tant de temps au maximum, quelle partie doit utiliser tant d’énergie au maximum, quelle partie ne se déclenche que s’il reste tant d’énergie, quelle partie est critique ou non-critique, quelle partie doit avoir tel niveau de sécurité vis à vis de telle menace, et ainsi de suite.”

Pour ce faire, “nous devons évidemment nous intéresser à un niveau d’abstraction que le développeur va pouvoir utiliser de façon agréable. Mais il va falloir aussi descendre jusqu’en bas de la pile de développement logiciel pour s’assurer que les propriétés exprimées à haut niveau puissent être efficacement implémentées et exécutées par le système. Évidemment, la difficulté consiste à concilier ces différents niveaux tout en faisant cohabiter ces propriétés non-fonctionnelles avec les propriétés fonctionnelles. Une complication supplémentaire provient du fait que les propriétés de sécurité, en particulier, sont moins matures que celles liées à l’énergie et au temps par exemple.”

 

Six partenaires académiques

Exposition des six logos des six partenaires académiques

Six partenaires académiques

Lancé en janvier 2018, le projet va durer trois ans. Il rassemble onze partenaires, dont six sur le plan académique : les universités de Saint-Andrews (expressivité des langages), de Bristol (modélisation de l’énergie des processeurs), d’Amsterdam (analyse temporelle), de Hamburg-Harburg (compilation), du Sud Danemark (drones), ainsi qu’Inria.

“En ce qui concerne Tamis, nous travaillons sur les aspects sécurité. Étant donné mon parcours (1), je me concentre sur l’expressivité au niveau des langages. Nous aurons aussi des contributions de mes collègues Axel Legay, responsable de l’équipe Tamis, spécialiste de la vérification de programmes, et Annelie Heuser, spécialiste des attaques par canaux cachés. Nous prévoyons également de recruter des ingénieurs de recherche et/ou des post-doctorants, soit l’équivalent de deux personnes à temps plein.”

 

Cinq partenaires industriels

Le projet comprend par ailleurs cinq industriels. “Ils nous fournissent des cas d’usages, ce qui contribuera grandement à diffuser nos résultats de recherches. Absint, par exemple, est un fournisseur allemand de compilateurs et d’outils d’analyse pour la vérification de logiciels critiques. À l’inverse, Thales Alenia Space Espagne se positionne plutôt comme utilisateur final. Ils souhaitent intégrer ces nouvelles technologies dans leur outil de travail. Étant spécialisés dans les communications par satellites, ils s’intéressent évidemment de près aux problématiques du temps et de l’énergie.

Préoccupations assez similaires pour Sky-Watch, au Danemark. “Cette entreprise conçoit des drones professionnels pour la cartographie et la surveillance. Un de leurs objectifs est d’abaisser au maximum la consommation, pas seulement pour le moteur mais aussi pour d’autres aspects du système. Ils aimeraient  gérer explicitement leur programme au niveau de l’énergie afin de pouvoir décider d’arrêter une fonction non-critique pour étendre la durée de la mission, ou à l’inverse, raccourcir la mission mais conserver une fonction énergétiquement gourmande dont ils ont vraiment besoin.”

L’énergie constitue aussi un paramètre important pour Irida Labs. Cette société grecque développe des technologies de vision par ordinateur pour des appareils allant de la caméra d’action au robot industriel. “Ils s’intéressent à la prise de décision par rapport à l’énergie dont on sait qu’elle est cruciale pour les systèmes embarqués. Par exemple, on peut choisir de diminuer la qualité vidéo en fonction de la quantité d’énergie encore disponible.

Implantée à Rennes, à deux pas du centre Inria, l’entreprise Secure-IC s’est fait un nom dans la protection des systèmes embarqués contre les attaques cyber-physiques. “Ils vont être le pendant de Tamis au niveau industriel. Ils souhaitent intégrer dans leurs produits ces aspects de niveaux de sécurité explicités. Ils s’intéressent aussi à l’énergie et au temps en raison des attaques par canaux cachés. On sait que dans certaines conditions, les comportements énergétiques et temporels sont susceptibles de laisser fuiter de l’information qu’un hacker pourrait tenter de récupérer.

Le projet devrait donner naissance à une série de prototypes qui seront ensuite interconnectés. “Les partenaires travaillent sur des aspects différents mais, à la fin, il faudra qu’ils parviennent à s’insérer dans un tout cohérent pouvant faire l’objet d’une expression commune. C’est d’autant plus important que ce travail doit aller irriguer l’industrie et être utilisable en pratique.

  • (1) Spécialiste des langages orientés objet, Olivier Zendra est le co-créateur de SmartEiffel, devenu GNU Eiffel Compiler.

Les commentaires sont clos.