PhD Defence: “Programming language abstractions for the Internet of Things era”, Patrik Fortier, East amphitheater of the humanities building, 22th of May 2024 at 10 AM

The defense will take place on Tuesday 22th May at 10 AM in the East amphitheater of the humanities building, Insa-Lyon, Villeurbanne.

Title

Programming language abstractions for the Internet of Things era

Abstract

Les défis par l’Internet des objets (IoT) exigent des applications modernes qu’elles gèrent d’importants volumes de données provenant de réseaux de capteurs, qui sont ensuite traités, stockés et analysés. Les développeurs ont adopté l’architecture microservices pour répondre aux problèmes passage à l’échelle et faciliter un processus de livraison rapide des logiciels. Cependant, de nouveaux paradigmes tels que le Fog et l’Edge computing introduisent diverses ressources et configurations, ce qui oblige les développeurs à s’adapter à des environnements et des écosystèmes de plus en plus complexes. L’émergence des modèles Function-as-a-Service et Serverless a mis l’accent sur une simplification du code. Cependant, cela soulève des problématiques lorsque les développeurs créent désormais des applications pour des infrastructures sur lesquelles ils n’ont qu’un contrôle limité. Dans les environnements à ressources limitées tels que l’edge computing, les applications sont en concurrence pour les ressources. Par conséquent, les développeurs ont besoin d’outils adaptés avec des abstractions appropriées pour relever les défis modernes tout en réduisant la complexité des applications.
Dans cette thèse, nous présentons des abstractions de langage de programmation adaptées au développement de logiciels distribués à l’ère de l’Internet des Objets. Nous avons consolidé ces abstractions dans un framework qui permet la construction d’applications distribuées de type “data flow” sous la forme de microservices, le tout dans le même code source. Ce framework abstrait à la fois l’infrastructure sous-jacente sur laquelle les applications s’exécutent et la communication entre les services. Nous démontrons  que notre approche  n’introduit pas de surcoût encombrante et la comparons avec les plateformes Function-as-a-Service de l’industrie.
Pour offrir un contrôle précis sur l’infrastructure, nous introduisons des primitives de langage et un moteur d’exécution local qui gère les informations contextuelles sur le cluster. En outre, nous introduisons l’entropie en tant que métrique de placement innovante pour les applications. Les développeurs peuvent dicter la manière dont ils souhaitent que leur application soit positionnée dans le cluster et comment elle doit répondre à des scénarios tels que la contention des ressources entre les applications partageant la même infrastructure. Ces techniques permettent à l’utilisateur de définir une politique de placement dynamique avec un haut niveau de granularité dans un environnement dont il n’a pas forcément le contrôle total.

Jury

      • Mme Stéphanie CHOLLET, Maître de conférences HDR – ESISAR Grenoble INP – Rapporteure
      • M. Stéphane DUCASSE, Directeur de Recherche – INRIA – Rapporteur
      • M. Philippe ROOSE, Professeur des Universités – Université de Pau et des Pays de l’Adour – Examinateur
      • M. Yannick LOISEAU, Maître de Conférences – Université Clermont Auvergne – Examinateur
      • M. Frédéric LE MOUËL, Professeur des universités – INSA Lyon – Directeur de thèse
      • M. Julien PONGE, Docteur – Red Hat – co-encadrant de thèse