Élements de conception de systèmes embarqués fortement contraints - TEL - Thèses en ligne Accéder directement au contenu
Hdr Année : 2014

Methods and tools for the design of embedded software for highly constrained device

Élements de conception de systèmes embarqués fortement contraints

Résumé

In the past decades, embedded systems become more and more present in our daily life. They are present in our wallet, in our car, in our house appliances and the current tendency is to control more and more things by using them. Major companies already started to envision the future of internet which become known as the Internet of Things. In the next years, more and more of our things will be smart, connected... and subject to software flaws. Micro-controllers, very small devices with a few hundreds bytes of memory, are at the heart of this revolution. They become cheaper, smaller and more powerful. Yet, contrary to the technologies used in our desktop computers or our server farms, the goal of the industry that creates these devices is not power. Indeed, controlling temperature in your home or humidity in your wine cellar does not need Gigahertz core. It even does not need multiple cores. What these devices need is to be cheap, to be able to be produced in very high volumes and to use small amount of electrical energy. In this context, the moore's law does not help us to have more cores in one device, but it allows to produce more devices with the same amount of silicon. The research I made in the past years try to reduce the gap between cheap software and robust and efficient software for these devices. I think that, by providing smart tools and production toolchains we can help junior or non specialized developers so that they can produce good embedded software for a reasonable development cost. I also focus my work on optimizing and providing efficient and secure software and network protocols, so that the Internet of Things can become a reality while respecting user privacy and being sustainable from a energy point of view. I focused my research on three aspects. First, I focused on how to allow larger softwares do be developped in embedded systems. In particular, we proposed techniques to allow Java/JavaCard code to be executed from a non-addressable memory using a full software cache. I also looked at how to use domain specific languages to ease the implementation of a collaborative network intrusions detection system. Thanks to adapted tools, the software, writen in the DSL, can be compiled for a wide range of probes while offering garanties on the produced software. Last, I focused on energy aware network protocols in the context of smart cities.
Au cours des dernières années, les systèmes embarqués sont de plus en plus présents dans notre vie de tous les jours. Ils sont dans notre portefeuille, dans notre voiture ou dans nos appareils ménagers. La tendance actuelle est à contrôler de plus en plus d'objets à l'aide de ces systèmes. Les grands acteurs de l'industrie ont déjà commencé à envisager le futur de l'internet, l'internet des objets. Dans les années à venir, de plus en plus de nos objets seront « intelligents », connectés... et sujets à des fautes logicielles. Les micro contrôleurs, de minuscules ordinateurs possédant quelques centaines d'octets de mémoire, sont au coeur de cette révolution. Ils deviennent de moins en moins cher et de plus en plus puissant. Néanmoins, à la différence de nos ordinateurs de bureau ou des serveurs, le but de l'industrie des micro contrôleurs n'est pas la puissance. En effet, contrôler la température de notre maison et le taux d'humidité de notre cave à vin ne nécessite pas des processeurs cadencés à plusieurs gigahertz. Cela ne nécessite même pas plusieurs coeurs de calculs. Le véritable besoin de ces équipements est d'être bons marché, d'être produits en très grands volumes, d'êtres petits, facilement intégrables et d'utiliser une faible quantité d'énergie électrique. Le meilleur exemple de cette tendance est très certainement la carte à puce. Depuis le début des années 90, de plus en plus de cartes à puce sont produites, vendues et utilisées dans le monde. Cependant, elles n'en restent pas moins de tout petits équipements d'une puissance inférieure de plusieurs ordres de grandeur de nos ordinateurs de bureau. Quand il s'agit de développer du logiciel pour ces équipements, un développeur débutant n'est généralement pas suffisamment préparé et ne sera pas capable d'écrire du logiciel efficace pour ces cibles avant de longue années passées à gagner de l'expérience et de l'expertise. Si le logiciel que l'ont souhaite produire doit être efficace, sûr et correct au sens le plus strict du terme, l'industrie doit compter sur des développeurs très spécialisés, expérimentés et donc chers. Les acteurs industriels ont donc deux alternatives : produire du logiciel bon marché, mais assez inefficace et défectueux ou dépenser une somme importante pour le développement et fournir un logiciel de bonne qualité. On peu aisément supposer que la tendance actuelle est au logiciel bon marché, et que la probabilité que le logiciel qui équipera les millions d'équipements formant l'internet des objets sera de piètre qualité et offrira quantité de failles que des acteurs malveillants se feront une joie d'exploiter si rien n'est fait pour rendre bon marché le développement correct de logiciels embarqués. Mes recherches de ces dernières années vont dans le sens de la réduction du fossé séparant logiciels bon marché et logiciels sûrs et performants. Je suis convaincu qu'en offrant des outils « intelligents » et des chaînes de production logicielle efficaces, nous pouvons aider les développeurs débutants, ou non spécialisés, à produire du logiciel embarqué de bonne qualité pour un coût de développement raisonnable. J'ai également porté mon attention sur l'optimisation et la sécurisation des logiciels et des protocoles réseau afin que l'internet des objets puisse devenir une réalité tout en respectant la vie privée des utilisateurs et en offrant une alternative durable sur le plan énergétique. Je me suis principalement intéressé à trois champs de recherche. Tout d'abord, j'ai cherché à permettre l'utilisation de techniques de développement standard (objets, composants, programmation en Java…) à la faible capacité mémoire des équipements embarqués. A l'inverse, je me suis également intéressé à l'utilisation de langages dédiés à une application afin de permettre à des spécialistes du domaine de la sécurité réseau d'exprimer des algorithmes de détection d'intrusions. A l'aide d'une suite d'outils dédiée, ces algorithmes sont compilés et optimisés automatiquement pour être utilisés dans une architecture distribuée de sondes embarquées. Enfin, je me suis intéressé aux protocoles réseau économes en énergie pour interconnecter les équipements embarqués dans le cadre des villes intelligentes.
Fichier principal
Vignette du fichier
hauspie-hdr.pdf (1.8 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-01104105 , version 1 (16-01-2015)

Licence

Paternité - Pas d'utilisation commerciale - Partage selon les Conditions Initiales

Identifiants

  • HAL Id : tel-01104105 , version 1

Citer

Michaël Hauspie. Élements de conception de systèmes embarqués fortement contraints. Systèmes embarqués. Université Lille 1, 2014. ⟨tel-01104105⟩
504 Consultations
2446 Téléchargements

Partager

Gmail Facebook X LinkedIn More