Vers les applications fiables basées sur des composants dynamiques, Towards Dependable Dynamic Component-based Applications
213 pages
Français

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Vers les applications fiables basées sur des composants dynamiques, Towards Dependable Dynamic Component-based Applications

-

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
213 pages
Français
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Sous la direction de Didier Donsez
Thèse soutenue le 06 octobre 2011: Grenoble
Les logiciels s'orientent de plus en plus vers des architectures évolutives, capables de s'adapter facilement aux changements et d'intégrer de nouvelles fonctionnalités. Ceci est important pour plusieurs classes d'applications qui ont besoin d‘évoluer sans que cela implique d'interrompre leur exécution. Des plateformes dynamiques à composants autorisent ce type d'évolution à l'exécution, en permettant aux composants d'être chargés et exécutés sans requérir le redémarrage complet de l'application en service. Toutefois, la flexibilité d'un tel mécanisme introduit de nouveaux défis qui exigent de gérer les possibles erreurs dues à des incohérences dans le processus de mise à jour, ou en raison du comportement défectueux de composants survenant pendant l'exécution de l'application. Des composants tiers dont l'origine ou la qualité sont inconnus peuvent être considérées à priori comme peu fiables, car ils peuvent potentiellement introduire des défauts d'applications lorsqu'il est combiné avec d'autres composants. Nous sommes intéressés à la réduction de l'impact de ces composants considérés comme non fiables et qui sont susceptibles de compromettre la fiabilité de l'application en cours d'exécution. Cette thèse porte sur l'application de techniques pour améliorer la fiabilité des applications dynamiques à composants. Pour cela, nous proposons l'utilisation des frontières d'isolation pouvant fournir du contingentement de fautes. Le composant ainsi isolé ne perturbe pas le reste de l'application quand il est défaillant. Une telle approche peut être vu sous trois perspectives présentées: (i) l'isolement des composants dynamiques, régi par une politique d'exécution reconfigurable, (ii) l'autoréparation de conteneurs d‘isolement, et (iii) l'utilisation des aspects pour séparer les préoccupations de fiabilité à partir du code fonctionnel.
-Fiabilité
-Développement basé sur des composants
-Auto-réparation
-Isolation des applications
-Programmation orientée aspects
-Applications à composants dynamiques
Software is moving towards evolutionary architectures that are able to easily accommodate changes and integrate new functionality. This is important in a wide range of applications, from plugin-based end user applications to critical applications with high availability requirements. Dynamic component-based platforms allow software to evolve at runtime, by allowing components to be loaded, and executed without forcing applications to be restarted. However, the flexibility of such mechanism demands applications to cope with errors due to inconsistencies in the update process, or due to faulty behavior from components introduced during execution. This is mainly true when dealing with third-party components, making it harder to predict the impacts (e.g., runtime incompatibilities, application crashes) and to maintain application dependability when integrating such third-party code into the application. Components whose origin or quality attributes are unknown could be considered as untrustworthy since they can potentially introduce faults to applications when combined with other components, even if unintentionally. The quality of components is harder to evaluate when components are combined together, especially if it happens on-the-fly. We are interested in reducing the impact that can be brought by untrustworthy components deployed at runtime and that would potentially compromise application dependability. This thesis focuses on applying techniques for moving a step forward towards dependable dynamic component-based applications by addressing different dependability attributes namely reliability, maintainability and availability. We propose the utilization of strong component isolation boundaries, by providing a fault-contained environment for separately running untrustworthy components. Our solution combines three approaches: (i) the dynamic isolation of components, governed by a runtime reconfigurable policy; (ii) a self-healing component isolation container; and (iii) the usage of aspects for separating dependability concerns from functional code.
-Dependability
-Component-based development
-Self-healing
-Application isolation
-Aspect-oriented Programming
-Dynamic component-based applications
Source: http://www.theses.fr/2011GRENM043/document

Sujets

Informations

Publié par
Nombre de lectures 55
Langue Français
Poids de l'ouvrage 4 Mo

Extrait


THÈSE
Pour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ DE GRENOBLE
Spécialité : Informatique
Arrêté ministériel : 7 août 2006



Présentée par
Kiev SANTOS DA GAMA


Thèse dirigée par Didier DONSEZ


préparée au sein du Laboratoire d’Informatique de Grenoble
dans l'École Doctorale Mathématiques, Sciences et
Technologies de l’Information, Informatique (MSTII)


Towards Dependable Dynamic
Component-based Applications


Thèse soutenue publiquement le « 6 Octobre 2011»,
devant le jury composé de :
Mme Claudia RONCANCIO
Professeur, Ensimag - Grenoble INP, Président
M Gilles MULLER
Directeur de Recherche, INRIA, Rapporteur
M Lionel SEINTURIER
Professeur, Université de Lille & IUF, Rapporteur
M Ivica CRNKOVIC
Professor, Mälardalen University, Membre
M Didier DONSEZ
Professeur, Université Joseph Fourier, Membre
M Gaël THOMAS
Maître de Conférences, Université Pierre et Marie Curie, Membre
M Peter KRIENS
Technical Director, OSGi Alliance, Invité
tel-00633320, version 1 - 18 Oct 2011
tel-00633320, version 1 - 18 Oct 2011ABSTRACT
Software is moving towards evolutionary architectures that are able to easily accommodate
changes and integrate new functionality. This is important in a wide range of applications, from
plugi-nbased end user applications to critical awipplith cahigtio h ns availability requirements.
Dynamic component-based platforms allow software to evolve at runtime, by allowing components
to be loaded, and executewitdh out forcinag pplicats itoon be restarte . dHowever, the flexibility of
such mechanism demands applications to cope with errors due to inconsistencies in the update
process, or due to faulty behavior from components introduceduring exd ecution. Thims aiins ly true
when dealing with th-irdparty components, making it harder to predict the im, runtipacts me (e.g.
incompatibilities, application crtoas hmes)ai natandin a pplication dependability when integrating
such third -party code into the appliCca omtioponnents. whose origin or quality attributes are
unknown could be considered as untrustworthy insce they can potentially introduce faults to
applications when combined with other componeevntse,n if unintentionalyl. The quality of
components is harderto evaluawhte en components are combined together, especially if it happens
on -the-fly. We are intereinst edre ducing the impact that can be brought by untrustworthy
components deployed at runtime and that would potentially compromise application d ependability.
This thesis focuses on applying techniques for moving a step forward towards dependable
dynamic component-based applications by addredssiffing erent dependabilitay ttributes namely
reliabili , mtyaintainabili antdy availabili. We ty propose the utilization ofcom stpronoeng nt isolation
boundaries, by providing a -confatault ined environment for separately unning r untrustworthy
components. Our solution combines three approa: ch(esi) the dynamic isolation of components,
governed by a runtime reconfigurable poiili) acy; se lf(-healing component isolation container; and
(iii) the usage of aspects for separadeptin endag bility concerns from functional co de.
Keywords: Dependability, Compon-ebantsed development, Self -healing, Application isolation,
Aspect-oriented Programming, Dynamic component-based applicatio ns


RÉSUM É
Les logiciels s'orientent de plus en s plusdes vearcrhitectures évolutives, capables de s'adapter
facilement aux changements et d'intégrer de nouvelles fonctionnalités. Ceci est important pour
plusieurs classes d'applications qui ont besoin d‘évoluer sans que cela implique d’interrompre leur
exécution.
Des plateformes dynamiques à composants autorisent ce type d'évolution à l'exécution, en
permettant aux composants d'être chargés et exécutés sans requérir le redémarrage complet de
l’application en service. Toutefois, la flexibilité d'un tel mécanisme introduit de nouveaux défis qui
exigent de gérer les possibles erreurs dues à des incohérences dans le processus de mise à jour, ou en
raison du comportement défectueux de composants survenant pendant l'exécution de l’application.
Des composants tiers ntd ol'origine ou la qualité sonot nnuis ncpeuvent être considérées a priori
comme peu fiables, car ils peuvent potentiellement introduire des défauts d'applications lorsqu'il est
combiné avec d'autres composants. Nous sommes intéressés à la réduction de mpal'ict de ces
composants considérés comme non fiables et qui sont susceptibles de compromettre la fiabilité de
l’application en cours d’exécution.
Cette thèse porte sur l'application de techniques pour améliorer la fiabilité des applications
dynamiques à composants. Pour cela, nous proposons l'utilisation des frontières d'isolation pouvant
fournir du contingentement de fautes. Le composant ainsi isolé ne perturbe pas le reste de
l’application quand il est défaillant. Une telle approche peut être vu sous trois perspectives
présentées: (i) l'isolement des composants dynamiques, régi par une politique d'exécution
reconfigurable, (ii) l'autoréparation de conteneurs d‘isolement, et (iii) l'utilisation des aspects pour
séparer les préoccupations de fiabiliartir té à dpu code fonction nel.
Mots -clés : Fiabilité, Développement basé sur des composants, Autoréparation, Isolation des
applications, Programmation orientée aspects, Plateforme dynamiques à composants.
tel-00633320, version 1 - 18 Oct 2011!
tel-00633320, version 1 - 18 Oct 2011اﺍ
Acknowledgements
I would like to thank the membef rs theo jury for accepting to evaluate my work: Gilles Muller
et Lionel Seinturier for being rapporteurs, which means a significant amount of work. I also thank
Claudia Roncancio, Ivica Crnkovic and Gaël Thomas for accepting to participate as examiners of my
thesis. Thanks also to Peter Kriens, who could tom apanarticipage te thrvideough oconferencing
software since he had to be at California at that time (which force him to wake up at 4 AM).

Remerciements
Je voudrais remercier les directeurs de l’équipe Adèle, Jacky Estublier et Philippe Lalanda,
pour m’avoir accueilli dans l’équipe. Et, bien sûr, mon directeur de thèse Didier Donsez pour son
aide dans des diverses aspec ts.
Je remercie tous les membres de l’équipe Adèle pour leur amiti. Jée tiens paièrrtieme culnt à
remercier Walter Rudametki, n JohanBno urcier et JonathaBan rdin pour des nombreuses discussions
qui m’ont beaucoup aidé, spécialement les dernières discussions avec Walter et Jo pendant la
rédaction de ma thèse.Mer ci à Yoann Maurel qui m’a aussi aidé à donner une meilleu re perspective
dans quelques aspects de mon travail. Merci à Stéphanie, Vincent et German pour m’avoir aidé à
raffiner le discours et la pron édsene mtaes ti diapos. Merci aussi aux autremis asvec qui j’ai travaillé
et beaucoup discuté sur des choses pas utjours dans le domaine de ma th : èseLionel Touseau,
Gabriel Pedraza et Thoma sLévêque . Un grand merci à tous les autres avec qui je n’ai pas directement
travailNolé:é Torit, oDian,a El Mehdi, Anto nin , Eric, Idrissa, Pierre B. , P. Alain, Bassem, Marc, Joao,
Ozan Hipne, Etienne, Clé mént ainsi que tous les treas uqui avaient pass’é équpa ipe r lpendant que
j’étais là.
Pendant mon doctorat ’jaipu aussi exercer des activités ’ensedignement comme moniteur à
l’Ensimag, et je remercie à Claudiapour avoir accepté ’êtrde ma tutrice de monit.o raEllte m ’a
beaucoup aidé dans ce tra, jet etm ’a même trouvé des heures de travaaveil c elle danls ’équipe BD.
M erci aussi à tous les enseignants avec qui je travaillé penda.n t cette période
Je tien à sremercierL aurent Daynès pour son aide au début de cette thèse, et à Olivier Gattaz
pour m’avoir rassuré qu’il existe un intérêt de ce travail dans un contexte industriel. Je remercie aussi
André Bottaro et Oliveri Beyler pour m’avoir permit de présenter chez Orange mes travaux de
recherche, et ’avoi dr un avis critique donné par son équipe lors de cet exp. osé
Pendant la rédaction j’ai eu l’aide de Nicolas Palix, et mes amis manauaraJas nder et Raquel qui
ont pu faire des relectures de quelques chapitres de mon manuscrit en med ed onthnaènse,t des
suggestions et des petites correcMertioci à ns. vous tous.
Je remercie tàoute ma famille et mes d’ici amiset du Brésil pour leur support leset mots
d’encouragement. Plus directement lié au travail de ce,tte je thrercièseme

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents