161 |
Conception et implémentation de systèmes résilients par une approche à composantsStoicescu, Miruna 09 December 2013 (has links) (PDF)
L'évolution des systèmes pendant leur vie opérationnelle est incontournable. Les systèmes sûrs de fonctionnement doivent évoluer pour s'adapter à des changements comme la confrontation à de nouveaux types de fautes ou la perte de ressources. L'ajout de cette dimension évolutive à la fiabilité conduit à la notion de résilience informatique. Parmi les différents aspects de la résilience, nous nous concentrons sur l'adaptativité. La sûreté de fonctionnement informatique est basée sur plusieurs moyens, dont la tolérance aux fautes à l'exécution, où l'on attache des mécanismes spécifiques (Fault Tolerance Mechanisms, FTMs) à l'application. A ce titre, l'adaptation des FTMs à l'exécution s'avère un défi pour développer des systèmes résilients. Dans la plupart des travaux de recherche existants, l'adaptation des FTMs à l'exécution est réalisée de manière préprogrammée ou se limite à faire varier quelques paramètres. Tous les FTMs envisageables doivent être connus dès le design du système et déployés et attachés à l'application dès le début. Pourtant, les changements ont des origines variées et, donc, vouloir équiper un système pour le pire scénario est impossible. Selon les observations pendant la vie opérationnelle, de nouveaux FTMs peuvent être développés hors-ligne, mais intégrés pendant l'exécution. On dénote cette capacité comme adaptation agile, par opposition à l'adaptation préprogrammée. Dans cette thèse, nous présentons une approche pour développer des systèmes sûrs de fonctionnement flexibles dont les FTMs peuvent s'adapter à l'exécution de manière agile par des modifications à grain fin pour minimiser l'impact sur l'architecture initiale. D'abord, nous proposons une classification d'un ensemble de FTMs existants basée sur des critères comme le modèle de faute, les caractéristiques de l'application et les ressources nécessaires. Ensuite, nous analysons ces FTMs et extrayons un schéma d'exécution générique identifiant leurs parties communes et leurs points de variabilité. Après, nous démontrons les bénéfices apportés par les outils et les concepts issus du domaine du génie logiciel, comme les intergiciels réflexifs à base de composants, pour développer une librairie de FTMs adaptatifs à grain fin. Nous évaluons l'agilité de l'approche et illustrons son utilité à travers deux exemples d'intégration : premièrement, dans un processus de développement dirigé par le design pour les systèmes ubiquitaires et, deuxièmement, dans un environnement pour le développement d'applications pour des réseaux de capteurs.
|
162 |
Conception et réalisation d'une architecture tolérant les intrusions pour des serveurs internetSaidane, Ayda 28 January 2005 (has links) (PDF)
La connexion de systèmes critiques à Internet pose de sérieux problèmes de sécurité. En effet, les techniques classiques de protection sont souvent inefficaces, dans ce nouveau contexte. Dans cette thèse, nous proposons une architecture générique tolérant les intrusions pour serveurs Internet. Cette architecture est basée sur les principes de redondance avec diversification afin de renforcer les capacités du système à faire face aux attaques. En effet, une attaque vise généralement une application particulière sur une plateforme particulière et s'avère très souvent inefficace sur les autres. L'architecture comprend plusieurs serveurs Web (COTS) redondants et diversifiés, et un ou plusieurs mandataires mettant en Suvre la politique de tolérance aux intrusions. L'originalité de cette architecture réside dans son adaptabilité. En effet, elle utilise un niveau de redondance variable qui s'adapte au niveau d'alerte. Nous présentons deux variantes de cette architecture destinées à différents systèmes cibles. La première architecture est destinée à des systèmes complètement statiques où les mises à jours sont effectuées hors-ligne. La deuxième architecture est plus générique, elle considère les systèmes complètement dynamiques où les mises à jours sont effectuées en temps réel. Elle propose une solution basée sur un mandataire particulier chargé de gérer les accès à la base de données. Nous avons montré la faisabilité de notre architecture, en implémentant un prototype dans le cadre d'un exemple d'une agence de voyages sur Internet. Les premiers tests de performances ont été satisfaisants, les temps de traitements des requêtes sont acceptables ainsi que le temps de réponse aux incidents.
|
163 |
Elimination des fautes : contribution au test du logicielWaeselynck, Helene 09 December 2011 (has links) (PDF)
Les travaux résumés dans ce mémoire ont pour cadre la sûreté de fonctionnement des systèmes informatiques. Ils portent sur l'élimination des fautes, en s'intéressant plus particulièrement au test du logiciel. Les contributions sont regroupées en quatre chapitres. Le premier chapitre rassemble des travaux pour adapter la conception du test aux technologies de développement logicielles. Deux technologies sont considérées : la technologie orientée-‐objet et la méthode formelle B. Le deuxième chapitre porte sur des associations test et vérification formelle. Il s'agit selon les cas de consolider la vérification d'algorithmes partiellement prouvés, ou de faciliter l'analyse de contrexemples retournés par un model checker. Le troisième chapitre traite de la génération de test par des procédés métaheuristiques, en prenant l'exemple du recuit simulé. L'accent est mis sur l'utilisation de mesures pour guider le paramétrage de la métaheuristique. Enfin, le quatrième chapitre aborde le test de systèmes mobiles. Lestraces d'exécutions sont vérifiées par rapport à un ensemble de propriétés décrites par des scénarios graphiques, en combinant des algorithmes d'appariement de graphes et de calcul d'ordres partiels d'événements.
|
164 |
Low-cost highly-efficient fault tolerant processor design for mitigating the reliability issues in nanometric technologiesYu, Hai 02 December 2011 (has links) (PDF)
Divers domaines d'application des systèmes électroniques, comme par exemple les implants médicaux ou les puces cryptographiques pour les appareils portables, exigent à la fois une très faible puissance consommé et un niveau de fiabilité très élevé. De plus, comme la miniaturisation des technologies CMOS s'approche de ses limites ultimes, ces exigences deviennent nécessaires pour l'ensemble de l'industrie de microélectronique. En effet, en approchant ces limites les problèmes de la dissipation de puissance, du rendement de fabrication et de la fiabilité des composants empirent, rendant la poursuite de miniaturisation nanométriques de plus en plus difficile. Ainsi, avant que ces problèmes bloquent le progrès technologique, des nouvelles solutions au niveau du processus de fabrication et du design sont exigées pour maintenir la puissance dissipée, le rendement de fabrication et la fiabilité à des niveaux acceptables. Le projet de thèse vise le développement des architectures tolérantes aux fautes capables de répondre à ces défis pour les technologies de fabrication CMOS présentes et à venir. Ces architectures devraient permettre d'améliorer le rendement de fabrication et la fiabilité et de réduire en même temps la puissance dissipée des composants électroniques. Elles conduiraient en une innovation majeure, puisque les architectures tolérant aux fautes traditionnelles permettraient d'améliorer le rendement de fabrication et la fiabilité des composants électroniques aux dépens d'une pénalité significative en puissance consommée.
|
165 |
Prévention et détection des interférences inter-aspects : méthode et application à l'aspectisation de la tolérance aux fautesLauret, Jimmy 15 May 2013 (has links) (PDF)
La programmation orientée aspects (POA) sépare les différentes préoccupations composant un système informatique pour améliorer la modularité. La POA offre de nombreux bénéfices puisqu'elle permet de séparer le code fonctionnel du code non-fonctionnel améliorant ainsi leur réutilisation et la configurabilitè des systèmes informatiques. La configurabilité est un élément essentiel pour assurer la résilience des systèmes informatiques, puisqu'elle permet de modifier les mécanismes de sûreté de fonctionnement. Cependant le paradigme de programmation orientée aspect introduit de nouveaux défis pour le test. Dans les systèmes de grande taille où plusieurs préoccupations non fonctionnelles cohabitent, une implémentation à l'aide d'aspects de ces préoccupations peut être problématique. Partageant le même flot de données et le même flot de contrôle les aspects implémentant les différentes préoccupations peuvent écrire dans des variables lues par d'autres aspects ou interrompre le flot de contrôle commun aux différents aspects empêchant ainsi l'exécution de certains d'entre eux.Dans cette thèse nous nous intéressons plus spécifiquement aux interférences entre aspects dans le cadre du développement de mécanismes de tolérance aux fautes implémentés sous forme d'aspects. Ces interférences sont dues à une absence de déclaration de précédence entre les aspects ou à une déclaration de précédence erronée. Afin de mieux maîtriser l'assemblage des différents aspects composant un mécanisme de tolérance aux fautes, nous avons développé une méthode alliant l'évitement à la détection des interférences au niveau du code. Le but de l'évitement est d'empêcher l'introduction d'interférences en imposant une déclaration de précédence entre les aspects lors de l'intégration des aspects. La détection permet d'exhiber lors du test les erreurs introduites dans la déclaration des précédences. Ces deux facettes de notre approche sont réalisées grâce à l'utilisation d'une extension d'AspectJ appelée AIRIA. Les constructions d'AIRIA permettent l'instrumentation et donc la détection des interférences entre aspects, avec des facilités de compilation permettant de mettre en oeuvre l'évitement d'interférences. Notre approche est outillée et vise à limiter le temps de déboguage : le testeur peut se concentrer directement sur les points où une interférence se produit. Nous illustrons notre approche sur une étude de cas : un protocole de réplication duplex. Dans ce contexte le protocole est implémenté en utilisant des aspects à grain fin permettant ainsi une meilleure configurabilité de la politique de réplication. Nous montrons que l'assemblage de ces aspects à grain fin donne lieu à des interférences de flot de données et flot de contrôle qui sont détectées par notre approche d'instrumentation. Nous définissons un ensemble d'aspects interférant pour l'exemple, et nous montrons comment notre approche permet la détection d'interférences.
|
166 |
Proposition d'une architecture de contrôle adaptative pour la tolérance aux fautesDurand, Bastien 15 June 2011 (has links) (PDF)
Les architectures logicielles de contrôles sont le centre névralgique des robots. Malheureusement les robots et leurs architectures souffrent de nombreuses imperfections qui perturbent et/ou compromettent la réalisation des missions qui leurs sont affectés. Nous proposons donc une méthodologie de conception d'architecture de contrôle adaptative pour la mise en oeuvre de la tolérance aux fautes. La première partie de ce manuscrit propose un état de l'art de la sureté de fonctionnement, d'abord générique avant d'être spécifié au contexte des architectures de contrôle. La seconde partie nous permet de détailler la méthodologie proposée permettant d'identifier les fautes potentielles d'un robot et d'y répondre à l'aide des moyens de tolérance aux fautes. La troisième partie présente le contexte expérimental et applicatif dans lequel la méthodologie proposée sera mise en oeuvre et qui constitue la quatrième partie de ce manuscrit. Une expérimentation spécifique mettant en lumière les aspects de la méthodologie est détaillée dans la dernière partie.
|
167 |
Robustesse par conception de circuits implantés sur FPGA SRAM et validation par injection de fautesBen jrad, Mohamed 01 July 2013 (has links) (PDF)
Cette thèse s'intéresse en premier lieu à l'évaluation des effets fonctionnels des erreurs survenant dans la mémoire SRAM de configuration de certains FPGAs. La famille Virtex II Pro de Xilinx est utilisée comme premier cas pratique d'expérimentation. Des expérimentations sous faisceau laser nous ont permis d'avoir une bonne vue d'ensemble sur les motifs d'erreurs réalistes qui sont obtenus par des sources de perturbations réelles. Une méthodologie adaptée d'injection de fautes a donc été définie pour permettre une meilleure évaluation, en phase de conception, de la robustesse d'un circuit implanté sur ce type de technologie. Cette méthodologie est basée sur de la reconfiguration dynamique. Le même type d'approche a ensuite été évalué sur plusieurs cibles technologiques, ce qui a nécessité le développement de plusieurs environnements d'injection de fautes. L'étude a pour la première fois inclus la famille AT40K de ATMEL, qui permet un type de reconfiguration unique et efficace. Le second type de contribution concerne l'augmentation à faible coût de la robustesse de circuits implantés sur des plateformes FPGA SRAM. Nous proposons une approche de protection sélective exploitant les ressources du FPGA inutilisées par l'application. L'approche a été automatisée sur plusieurs cibles technologiques (Xilinx, Altera) et l'efficacité est analysée en utilisant les méthodes d'injection de fautes précédemment développées.
|
168 |
Simulation concurrente de fautes comportementales pour des systèmes à événements discrets : Application aux circuits digitauxCapocchi, Laurent 25 November 2005 (has links) (PDF)
La Simulation Comparative et Concurrente (SCC) permet d'effectuer plusieurs simulations d'un système en une seule<br />exécution. Une des premières applications de la SCC a été la Simulation de Fautes Concurrente (SFC) permettant la simu-<br />lation de fautes au sein des systèmes digitaux décrits au niveau portes logiques. De nos jours, les concepteurs de circuits<br />évitent de travailler sur ces modèles logiques et préfèrent utiliser des descriptions plus abstraites basées sur des langages<br />de description de matériel comme le VHDL (Very high speed integrated circuits Hardware Description Language). Ces<br />langages permettent de modéliser et de simuler le comportement des circuits digitaux mais ils ne sont pas appropriés pour<br />la simulation concurrente des comportements fautifs ou fautes. Les barrières au développement d'un simulateur concurrent<br />de fautes comportementales sont le manque de modèles de fautes réalistes et la difficulté à mettre en œuvre les algorithmes<br />concurrents au sein d'un noyau de simulation.<br /> Pour répondre à cette problématique, nous proposons le formalisme BFS-DEVS (Behavioral Fault Simulator for Discrete<br />EVent system Specification). Ce formalisme permet de modéliser et de simuler les fautes comportementales sur des systèmes<br />à événements discrets comme les circuits digitaux décrits en VHDL. Il dérive du formalisme DEVS (Discrete EVent system<br />Specification) introduit par le professeur B.P. Zeigler à la fin des années 70. Le noyau de simulation BFS-DEVS intègre les<br />algorithmes concurrents de la SFC et il s'appuie sur une technique de propagation de listes de fautes au sein des modèles du<br />système. Cette technique améliore la rapidité du processus de simulation car elle permet la détection simultanée de plusieurs<br />fautes et simplifie également l'observabilité des résultats en fin de simulation.
|
169 |
Techniques de gestion des défaillances dans les grilles informatiques tolérantes aux fautesNdiaye, Ndeye Massata 17 September 2013 (has links) (PDF)
La construction des grilles informatiques est un des axes de recherche majeurs sur les systèmes informatiques en réseau. L'objectif principal de la construction d'une grille informatique, c'est de fournir les concepts et composant logiciels système adéquats pour agréger les ressources informatiques (processeurs, mémoires, et aussi réseau) au sein d'une grille de traitements informatiques, pour en faire (à terme) une infrastructure informatique globale de simulations, traitement de données ou contrôle de procédés industriels. Cette infrastructure est potentiellement utilisable dans tous les domaines de recherche scientifique, dans la recherche industrielle et les activités opérationnelles (nouveaux procédés et produits, instrumentation, etc.), dans l'évolution des systèmes d'information, du Web et du multimédia. Les grilles de qualité production supposent une maitrise des problèmes de fiabilité, de sécurité renforcé par un meilleur contrôle des accès et une meilleur protection contre les attaques, de tolérance aux défaillances ou de prévention des défaillances, toutes ces propriétés devant conduire à des infrastructure de grille informatique sûres de fonctionnement. Dans cette thèse on propose de poursuivre des recherches sur les problèmes de gestion automatisée des défaillances, l'objectif principal étant de masquer le mieux possible ces défaillances, à la limite les rendre transparents aux applications, de façon à ce que, du point de vue des applications, l'infrastructure de grille fonctionne de façon quasi-continue. Nous avons conçu un nouvel algorithme hiérarchique auto-adaptatif pour assurer la tolérance aux fautes dans les grilles informatiques. Ce protocole s'appuie sur l'architecture hiérarchique des grilles informatiques. Dans chaque cluster, nous avons défini un coordonnateur appelé processus leader, dont le rôle consiste à coordonner les échanges intra-cluster et à assurer le rôle d'intermédiaire entre les processus appartenant à des clusters différents. Pour sauvegarder les états des processus inter-cluster, le protocole adaptatif utilise le mécanisme de journalisation pessimiste basé sur l'émetteur. A l'intérieur du cluster, le protocole exécuté dépend de la fréquence des messages. A partir d'un seuil de fréquence maximale déterminée en fonction de la densité des communications, c'est le protocole de point de reprise coordonné non bloquant qui sera utilisé, tandis que si le nombre de messages dans le cluster est faible, les messages sont sauvegardés avec la journalisation pessimiste.
|
170 |
Tolérance aux fautes dans les systèmes répartis à base d'intergiciels réflexifs standardsBennani, Taha 20 June 2005 (has links) (PDF)
Conscient que la réflexivité permet d'améliorer la conception et la maintenance des applications, en séparant leurs aspects fonctionnels et non-fonctionnels, nous explorons dans cette thèse le potentiel réflexif de l'intergiciel CORBA. Afin d'effectuer une analyse en profondeur, nous avons développé une plate-forme à composants fournissant de manière transparente des mécanismes classiques de réplication. Cette plate-forme nous a permis de montrer les limites de la spécification actuelle des intercepteurs CORBA, PIs (Portable Interceptors). Nous avons identifié précisément certaines difficultés de mise en oeuvre, notamment à cause de la dépendance des intercepteurs vis-à-vis du serveur auquel ils sont attachés et la faible contrôlabilité des interactions réparties. À la lumière de ce travail, nous proposons une amélioration du potentiel réflexif de la norme CORBA actuelle afin de la rendre plus adaptée à la mise en oeuvre des mécanismes de tolérance aux fautes.
|
Page generated in 0.0598 seconds