The Code mobility in embedded systems
La mobilité du code dans les systèmes embarqués
Résumé
With the advent of nomadism, mobile devices, virtualization and cloud computing in recent years, new problems have arisen taking into account ecological concerns, energy management, quality of service, security standards and many other aspects related to our societies. To solve these problems, we define the concept of Cloudlet as a local cloud where virtual devices and embedded applications can be virtualized. Then, we design a distributed architecture based on this architectural pattern related to cloud computing and virtualization of resources. These notions allow us to position our work among other approaches to offload mobile applications in a Cloudlet.On the other hand, a network of Cloudlets helps to secure the activity carried out on a mobile device by offloading embedded applications in a running virtual machine in the Cloudlet, and also to monitor users during their movements.These definitions guided us towards writing formal specifications via a higher order processes of algebra. They facilitate the calculation of operational semantics for different case studies based on this Cloudlet concept. These specifications foster a new vision for designing virtual devices suitable to all devices, sensors or actuators. This set of equations constitutes a formal definition relevant not only for prototyping a Cloudlet but also for constructing a timed automata system.Following the structure of our specifications, we built a model of timed automata for a network of Cloudlets. Exploiting the model checking techniques, we have established temporal properties showing that any execution of a mobile application on a mobile device could be offloaded in a Cloudlet depending on a given software architecture. This work resulted in making technical choices leading to a prototype of such a distributed architecture using an OSGi server. A first result leads us to define a software architecture for mobile applications. Secondly, we implement the principle of migration to a Cloudlet neighbor. Our tests validate our initial choices and confirm the hypotheses of our work. They allow taking measures in order to assess the cost of an offloading to a Cloudlet during runtime, as well as keeping track during user’s movements
Avec l’avènement du nomadisme, des périphériques mobiles, de la virtualisation et du Cloud Computing ces dernières années, de nouvelles problématiques sont nées aux vues des considérations écologiques, de la gestion d’énergie, de la qualité de service, des normes sécuritaires et bien d’autres aspects liés à nos sociétés. Pour apporter une solution à ces problèmes, nous avons défini la notion de Cloudlet tel un Cloud local où peuvent se virtualiser des périphériques et ses applications embarquées. Ensuite, nous avons conçu une architecture distribuée basée sur ce pattern d’architecture lié au Cloud Computing et à la virtualisation de ressources. Ces définitions permettent de placer notre travail par rapport aux autres approches de déportation d’applications mobiles.D’autre part, un réseau de Cloudlets permet la protection de l’activité effectuée sur un périphérique mobile par la déportation d’applications embarquées dans une machine virtuelle s’exécutant dans la Cloudlet, ainsi que le suivi des usagers dans leur déplacement.Ces définitions nous ont guidées dans l’écriture de spécifications formelles via une algèbre de processus d’ordre supérieure. Elles autorisent le calcul de la sémantique opérationnelle pour les différentes études de cas basées sur ce concept de Cloudlet. Ces spécifications ont permis de décrire une nouvelle vision de la composition des périphériques virtuels applicables à tous les périphériques, les capteurs ou les actuateurs. L’ensemble des équations obtenues constitue une définition formelle de référence non seulement pour le prototypage d’une Cloudlet mais aussi pour la construction des automates temporisés.En se basant sur la structure de nos spécifications, nous avons construit un modèle d’automates temporisés pour un réseau de Cloudlets. Par l’emploi de technique de model checking, nous avons établi des propriétés temporelles montrant que toute exécution d’une application mobile sur un périphérique mobile pouvait être déportée dans une Cloudlet sous condition d’une structure applicative. Ces travaux ont abouti à des choix techniques donnant lieu à un prototype d’une telle architecture distribuée par l’emploi de serveurs OSGi. D’une part, nous fournissons une architecture logicielle d’application mobile. D’autre part, nous mettons en œuvre le principe de migration vers une Cloudlet voisine et son retour. Ces résultats sont une validation de nos choix initiaux et attestent de la réalité de nos travaux. Ils autorisent la prise de mesure permettant de définir le coût d’une migration vers une Cloudlet pendant une exécution, ainsi que son suivi au cours du déplacement de l’usager
Origine | Version validée par le jury (STAR) |
---|