
Sciences & Société
Soutenance de thèse : Patrik FORTIER
Programming language abstractions for the Internet of Things era
Doctorant : Patrik FORTIER
Laboratoire INSA : CITI
Ecole doctorale : ED512 : InfoMaths
The challenges posed by the Internet of Things (IoT) require modern applications to handle large volumes of data streaming from tiny devices, which then undergo processing, storage, and analysis. Developers have embraced the microservices architecture to address scalability concerns and facilitate a fast software delivery process. However, emerging computing paradigms like Fog and Edge computing introduce diverse resources and configurations, making it necessary for developers to adapt to increasingly complex environments and ecosystems. The emergence of new development methodologies like Function-as-a-Service and Serverless models has shifted the focus towards code simplicity. However, this has raised concerns that developers are now coding for infrastructures they have limited control over. In resource-constrained environments such as edge computing, applications even often compete for resources. Therefore, developers require tailored tools with appropriate abstractions to address modern challenges without succumbing to rising complexity.
In this thesis, we present programming language abstractions tailored for developing distributed software in the era of the Internet of Things. We have consolidated these abstractions into a framework that allows for the construction of distributed dataflow applications in the form of microservice applications, all within the same codebase. This framework abstracts both the underlying infrastructure on which applications run and the communication between services. We demonstrate the overhead introduced by our approach and compare it with existing Function-as-a- Service frameworks.
To offer precise control over the infrastructure, we introduce language primitives and a local runtime that manages contextual information about the cluster. Additionally, we introduce entropy as an innovative placement metric for applications. Developers can dictate how they want their application to be positioned within the cluster and how it should respond to scenarios such as resource contention between applications sharing the same infrastructure. These techniques enable a user-defined dynamic placement policy with a high level of granularity in an environment where they may not have complete control.
Informations complémentaires
-
Amphithéâtre Est, Bâtiment des Humanités, INSA-Lyon (Villeurbanne)
Derniers évènements
Théâtre « Roméo et Juliette » (section Théâtre-études)
Du 05 au 08 maiAteliers danse avec la Cie MF
Les 15 et 22 mai 2025
Art & Culture
[Atelier] Comment programmer pour créer un instrument de musique électronique ?
Découvrez comment programmer pour créer des instruments de musique électroniques !
Sur inscription - apéritif offert
Intervenant : Yann Orlarey, ingénieur, membre de l’équipe Inria Émeraude
Découvrez comment programmer pour créer des instruments de musique électroniques ! Yann Orlarey proposera une introduction à la programmation sonore avec Faust. Même sans connaissances préalables en programmation, vous serez en mesure de réaliser un synthétiseur musical et de l'utiliser pour une improvisation musicale collective, à la fin de l'atelier.
Informations complémentaires
- scd.animation@insa-lyon.fr
- https://bibliotheque.insa-lyon.fr/cms/articleview/id/6751
-
salle 131 et 132 - Bibliothèque Marie Curie
Mots clés
Derniers évènements
Théâtre « Roméo et Juliette » (section Théâtre-études)
Du 05 au 08 maiAteliers danse avec la Cie MF
Les 15 et 22 mai 2025
Recherche
« La puissance de calcul numérique a modifié la façon de fabriquer la musique »
Quel est le point commun entre « l’instru » du dernier titre de Jul, la bande originale de Matrix et le générique du journal télévisé de 20h ? Ces mélodies emploient toutes des instruments de musique numériques. En effet, dans le monde de la musique, la vague de numérisation ne s’arrête pas seulement à la composition assistée par ordinateur : la lutherie a vu l’apparition d’instruments augmentés.
Au sein du laboratoire Citi1, l’équipe EMERAUDE2 s’applique à développer de nouveaux langages et des outils de programmation de traitement du signal pour les systèmes embarqués. Si ses membres ne sont pas tous musiciens, l’équipe entretient une relation particulière à la musique, par le biais d’un langage de programmation intitulé « FAUST » pour Functional AUdio STream. Inventé par Yann Orlarey, il y a une vingtaine d’années, ce langage permettant la synthèse et le traitement du son, a rendu le développement de la musique de synthèse plus accessible. Immersion dans le grand monde de l’informatique musicale avec Tanguy Risset, enseignant-chercheur et responsable de l’équipe EMERAUDE.
Qu’appelle-t-on « informatique musicale » ou « computer music » ?
L’informatique musicale, ou « musique programmable », est une discipline qui englobe la synthèse, la composition et le traitement sonore assistés par ordinateur. Elle requiert des langages de programmation et des compétences hautement techniques. Les professionnels de la « computer music » utilisent les mathématiques et des algorithmes pour produire différents sons, ambiances ou mélodies. Cette discipline a pris beaucoup de place dans notre vie quotidienne. Les premiers sons synthétisés demandaient des temps de calcul énormes sur les premiers ordinateurs. Depuis, grâce à la puissance de calcul et aux connaissances numériques, l’informatique musicale est capable d’imiter des sons d’instrument de façon très convaincante.
Aujourd’hui, il est facile d’accéder à un titre via des applications de streaming depuis son smartphone ou son ordinateur. Concrètement, comment sont traduites les informations lues numériquement avant d’arriver jusqu’aux oreillettes de nos écouteurs filaires ?
La musique que nous écoutons via nos smartphones ou nos ordinateurs transite entre l’analogique et le numérique et vice versa. Grâce à des « codecs » qui sont des traducteurs d’informations comme les cartes son par exemple, l’information est transformée, passant d’un état analogique à un état numérique et inversement. En fait, ce codec produit la tension électrique utilisée par les haut-parleurs. Avant les technologies numériques, on produisait analogiquement des formes d’ondes ; le numérique est seulement une autre technologie pour enregistrer la musique : les sons étaient reproduits de façon analogique, c’est-à-dire qu’à une vibration correspondait un signal électrique ou un champ magnétique que l’on représente par une courbe. Pour le numérique, les informations sont aussi représentées par une courbe similaire, à la différence que pour un ordinateur, cette courbe est constituée de points qui, liés entre eux, reproduisent la courbe. Chacun de ces points est codé avec des bits, seize par exemple pour les CD. Les langages de programmation, comme « FAUST », sont les outils nécessaires pour coder ces points.
En 2001, Yann Orlarey, membre de l’équipe EMERAUDE, créait le langage FAUST à l’Institut GRAME. Pouvez-vous nous décrire cet outil dont l’objectif est de rendre le traitement et la synthèse de sons plus accessibles ?
Il existe une pluralité de langages de programmation qui se succède depuis les années 1960. C’est la beauté du langage de programmation : derrière les boutons, il y a énormément d’informations. Cependant, avant les années 2000, les langages existants à l’époque étaient très verbeux et très difficiles d’accès pour les programmateurs en herbe. « FAUST » est né d’une volonté de faciliter l’usage des utilisateurs non-informaticiens, fournissant une alternative simple et de haut-niveau, offrant les mêmes niveaux de performance que les langages de programmation traditionnels. Ce langage s’est beaucoup développé depuis sa création, donnant des collaborations avec l’Université de Stanford, très impliquée en matière d’informatique musicale. Il a aussi servi de support à des projets de médiation, et d’autres applications artistiques et industrielles. Aujourd’hui, il est toujours disponible en open-source3.
Depuis 20 ans, le langage FAUST est utilisé par la communauté d’informatique musicale et sert aussi pour la recherche. Quelle est la suite de l’histoire ?
Effectivement, « FAUST » est utile à une communauté d’académiques, d’informaticiens ou de musiciens. En plus de vingt ans, l’écosystème s’est agrandi : désormais, il est possible de développer en « FAUST » sur tout type d’environnement. Un outil aussi modulaire nécessite forcément une maintenance rigoureuse. Du côté de la recherche et des applications industrielles, au sein de l’équipe EMERAUDE, plusieurs applications sont en cours, notamment sur des compilations sur FPGA4. FAUST ouvre de nouvelles possibilités pour des systèmes vibratoires, de l’acoustique embarquée ou développer de nouveaux outils musicaux pour des compositeurs ou même des amateurs éclairés.
Le Gramophone, dispositif de médiation conçu par l’Institut GRAME : une application
concrète de concepts scientifiques utilisant la création musicale et la programmation informatique. (Crédits : GRAME)
_________
[1] Centre d’Innovation en Télécommunications et Intégration de services (INSA Lyon/INRIA/Université de Lyon)
[2] EMERAUDE : Embedded Programmable Audio Systems
[3] Faustdoc.grame.fr
[4] FPGA est l'abréviation de « Field-programmable gate array », ce qui peut être traduit en français par « réseau de portes programmables sur site ».