Approche déclarative pour la génération de canevas logiciels dédiés à l'informatique ubiquitaire
Résumé
Ubiquitous systems have to cope with more heterogeneous and more dynamic environments than traditional distributed systems. The criticity of application domains related to ubiquitous computing requires to ensure the robustness of applications before their deployment in actual situations. Some approaches handle the dynamicity of ubiquitous environments but propose generic programming frameworks. This genericity is a major obstacle for producing robust applications. Other approaches enable more verifications that ensure, for example, communication integrity. However, as performed by these approaches, these verifications are not compatible with managing constant changes of ubiquitous environments. This thesis proposes a declarative approach to generate software frameworks for ubiquitous computing. Our approach relies on high-level specifications of target applications. These specifications, written in the DIASPEC language, are analyzed, checked and compiled by the DIASPEC compiler which generates dedicated software frameworks, including programming frameworks and simulation frameworks. The generated programming frameworks provide programming support for developing ubiquitous applications while the generated simulation frameworks provide testing support for these applications. Programming frameworks ensure communication integrity while handling the dynamicity of ubiquitous environments. Furthermore, they are generated on top of a generic middleware; the layered architecture of this middleware allows ubiquitous applications to be independent of underlying technologies. The contributions of this thesis are as follows:
• We present the DIAGEN approach which proposes to generate, from specifications of ubiquitous software architectures, programming support and verifications dedicated to the development of ubiquitous applications. These specifications are written in a declarative language, called DIASPEC, which allows to describe all service types composing the target ubiquitous applications. The DIASPEC compiler checks the specification consistency and generates dedicated programming frameworks. These programming frameworks ensure communication integrity of dynamic applications. The underlying middleware has a layered architecture, making programming frameworks independent of software buses. Thus, applications are portable without modification.
• We present the DIASIM simulator that tests, at run time, the behavior of applications developed with DIAGEN. DIASIM allows to test applications without modification and to incrementally integrate actual services in simulation scenarios.
• We show that DIAGEN applications are more concise than existing approaches while enabling more verifications and handling the dynamicity of ubiquitous environments.
• We present the DIAGEN approach which proposes to generate, from specifications of ubiquitous software architectures, programming support and verifications dedicated to the development of ubiquitous applications. These specifications are written in a declarative language, called DIASPEC, which allows to describe all service types composing the target ubiquitous applications. The DIASPEC compiler checks the specification consistency and generates dedicated programming frameworks. These programming frameworks ensure communication integrity of dynamic applications. The underlying middleware has a layered architecture, making programming frameworks independent of software buses. Thus, applications are portable without modification.
• We present the DIASIM simulator that tests, at run time, the behavior of applications developed with DIAGEN. DIASIM allows to test applications without modification and to incrementally integrate actual services in simulation scenarios.
• We show that DIAGEN applications are more concise than existing approaches while enabling more verifications and handling the dynamicity of ubiquitous environments.
Les applications ubiquitaires évoluent dans des environnements plus hétérogènes et plus dynamiques que ceux des systèmes distribués traditionnels. La criticité des domaines applicatifs impliqués et la vocation non intrusive de l'informatique ubiquitaire exigent de garantir la robustesse des applications avant et pendant leur déploiement en situation réelle. Les solutions proposant de gérer la dynamicité des environnements ubiquitaires offrent des canevas de programmation dont la généricité ne permet pas de garantir la fiabilité des applications développées. D'autres solutions permettent davantage de vérifications en assurant, par exemple, l'intégrité des communications. Cependant, ces vérifications, telles que proposées dans ces solutions, empêchent la prise en compte de la dynamicité, indispensable à la mise en oeuvre d'applications ubiquitaires. Dans cette thèse, nous proposons un canevas logiciel visant à concevoir, développer, vérifier et tester les applications ubiquitaires avant leur déploiement en environnements réels. Notre approche repose sur des spécifications haut niveau des applications cibles. Chaque spécification, écrites dans le langage DIASPEC, est analysée, vérifiée et compilée par le compilateur DIASPEC qui génère un canevas logiciel dédié, incluant un canevas de programmation et un canevas de simulation. Les canevas de programmation générés fournissent du support pour la programmation d'applications ubiquitaires. Ils garantissent l'intégrité des communications tout en permettant la gestion de la dynamicité des environnements ubiquitaires. Les canevas de simulation générés fournissent du support pour le test des applications ainsi développées. Les contributions de cette thèse sont les suivantes :
– Nous proposons l'approche DIAGEN qui permet, à partir de spécifications d'architectures logicielles ubiquitaires, de générer du support de programmation et un ensemble de vérifications dédiés au développement d'applications ubiquitaires. Ces spécifications reposent sur un langage déclaratif, appelé DIASPEC, qui permet de décrire les types de services composant les applications ubiquitaires cibles. Le compilateur DIASPEC vérifie la cohérence des spécifications et génère, à partir de celles-ci, des canevas de programmation dédiés. Les canevas de programmation générés garantissent l'intégrité des communications d'applications dynamiques.
– Nous avons développé DIASIM, un simulateur pour tester à l'exécution, le comportement des applications développées avec l'approche DIAGEN. DIASIM permet de tester les applications sans les modifier et d'intégrer incrémentalement des services réels dans les scénarios de simulation.
– Nous avons montré que l'approche DIAGEN permet davantage de vérifications statiques tout en gérant la dynamicité des environnements ubiquitaires et en permettant une plus grande concision des applications développées. Nous avons analysé les canevas de programmation générés pour la gestion de réunion, l'immotique et la téléphonie.
– Nous proposons l'approche DIAGEN qui permet, à partir de spécifications d'architectures logicielles ubiquitaires, de générer du support de programmation et un ensemble de vérifications dédiés au développement d'applications ubiquitaires. Ces spécifications reposent sur un langage déclaratif, appelé DIASPEC, qui permet de décrire les types de services composant les applications ubiquitaires cibles. Le compilateur DIASPEC vérifie la cohérence des spécifications et génère, à partir de celles-ci, des canevas de programmation dédiés. Les canevas de programmation générés garantissent l'intégrité des communications d'applications dynamiques.
– Nous avons développé DIASIM, un simulateur pour tester à l'exécution, le comportement des applications développées avec l'approche DIAGEN. DIASIM permet de tester les applications sans les modifier et d'intégrer incrémentalement des services réels dans les scénarios de simulation.
– Nous avons montré que l'approche DIAGEN permet davantage de vérifications statiques tout en gérant la dynamicité des environnements ubiquitaires et en permettant une plus grande concision des applications développées. Nous avons analysé les canevas de programmation générés pour la gestion de réunion, l'immotique et la téléphonie.
Domaines
Génie logiciel [cs.SE]
Loading...