Évolution dynamique des systèmes d'exploitation, une approche par la programmation par aspects - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Thèse Année : 2007

Évolution dynamique des systèmes d'exploitation, une approche par la programmation par aspects

Résumé

With the never ending evolution of communication technologies and of multimedia, the race to integrate new functionalities has lead to a situation where systems are poorly adaptable. The design of extensible software is often difficult and often impact on software performances. Thus, many developers choose to simply distribute software patches that requires users to restart their systems. This situation is not only a disturbance for user but contribute to virus propagation. In this thesis, we try to conciliate software extensibility and performances. Our approach consists in using an aspect oriented system based on binary code rewriting. Binary code instrumentation allows fine-grained code modification without impacting on performance, while aspect oriented programming helps developers to easily express adaptation code. We evaluate the evolution of systems using our aspect oriented framework : Arachne. We evaluate our approach following two axis : the use of aspect language to concisely express adaptation code, and performance impact of binary rewriting code.
Dans un contexte où les technologies de communication évoluent à grande vitesse, la course effrénée à l'intégration de nouvelles fonctionnalités dans les systèmes informatiques est souvent engagée au détriment de solutions stables, extensibles et adaptables, et par conséquent plus pérennes. La réalisation de systèmes adaptables a fait l'objet de nombreuses recherches ayant abouties à des solutions originales. Néanmoins, les propositions reposant sur des architectures adaptables et extensibles se révèlent souvent complexes, peu performantes et rigides ! En effet, il est difficile voir impossible d'anticiper quelles seront les évolutions futures, les interfaces permettant l'extensibilité se révèlent souvent inadaptées aux besoins réels. Contrairement aux architectures extensibles, les solutions permettant la transformation à la volée d'un système ne sont pas limitées par des choix architecturaux et s'avèrent plus performantes. Néanmoins, la complexité de ces approches les limitent à des utilisateurs experts. Dans cette thèse, nous nous sommes fixés comme objectif de réconcilier adaptabilité dyna- mique, performances des systèmes informatiques et simplicité de programmation des évolutions. Pour cela, nous avons combiné deux approches : la réécriture dynamique de code pour fournir les mécanismes performants de transformation de programme; et la programmation par aspects comme moyen d'expression des évolutions logicielles. Nous démontrons la validité de notre approche par des évaluations exhaustives de l'utilisation de notre prototype en réalisant des évolutions concrètes et variées de systèmes informatiques patrimoniaux.
Fichier principal
Vignette du fichier
loriant.thesis.pdf (2.35 Mo) Télécharger le fichier

Dates et versions

tel-00502124 , version 1 (13-07-2010)

Identifiants

  • HAL Id : tel-00502124 , version 1

Citer

Nicolas Loriant. Évolution dynamique des systèmes d'exploitation, une approche par la programmation par aspects. Génie logiciel [cs.SE]. Université de Nantes, 2007. Français. ⟨NNT : ⟩. ⟨tel-00502124⟩
385 Consultations
2370 Téléchargements

Partager

Gmail Facebook X LinkedIn More