thesis

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

Defense date:

Jan. 1, 2007

Edit

Institution:

Nantes

Disciplines:

Directors:

Abstract EN:

With the neverending 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 developpers 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 reconciliate software extensibility and performances. Our approachs consists in using an aspect oriented system based on binary code rewritting. Binary code instrumentation allows fine-grained code modification without impacting on performance, while apsect oriented programming helps developpers to easily express adpatation code. In this thesis, we evaluate the evolution of systems using ou aspect oriented framework: Arachne. We evaluate our approach following two axis: the use of aspect langage to concisely express adaptation code, and performance impact of binary rewritting code.

Abstract FR:

Dans un contexte où les technologies de communication et le multimédia évoluent à grande vitesse, la poursuite effrénée des nouvelles fonctionnalités est souvent engagée au détriment de systèmes informatiques adaptables et extensibles, et donc plus pérennes. La conception de systèmes adaptables étant souvent contraignante et aboutissant généralement à des solutions peu performantes, de nombreux développeurs se contentent de diffuser des versions modifiées des logiciels et d'imposer leurs redémarrages. Néanmoins, ce vecteur de propagation des évolutions n'est pas simplement un désagrément pour les utilisateurs, mais contribue à la prolifération des virus informatiques. Dans cette thèse, nous nous sommes fixés comme objectif de réconcilier adaptabilité dynamique et performances des systèmes informatiques. Pour cela, nous nous sommes orientés vers un système de programmation par aspect par réécriture du code exécutable pour l'adaptabilité et l'extensibilité des systèmes informatiques. La réécriture de code permet l'adaption fine et minimise l'impact sur les performances, tandis que, la programmation par aspect offre une approche langage et une aisance d'utilisation aux développeurs. Cette thèse évalue l'adaptation des systèmes informatiques patrimoniaux. Notre système de programmation par aspect, Arachne, permet le tissage d'aspect par réécriture à la volée du code exécutable. Nous évaluons notre approche sur deux axes : l'utilisation des langages d'aspect pour l'adaptation des systèmes, les performances du tissage d'aspect par réécriture de code.