• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 58
  • 20
  • 7
  • 1
  • Tagged with
  • 86
  • 30
  • 30
  • 23
  • 18
  • 16
  • 15
  • 13
  • 13
  • 10
  • 10
  • 10
  • 9
  • 9
  • 9
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
31

Contrôle d'exécution dans une architecture hiérarchisée pour systèmes autonomes

Py, Frederic 20 October 2005 (has links) (PDF)
Il y a un besoin grandissant pour d'autonomie dans des systèmes temps réel complexes tels que les robots ou les satellites. Ceci met en avant un problème non trivial : d'un côté il y a des systèmes complexes - donc difficiles à valider - avec une intervention de l'humain dans la boucle qui se veut minimale, de l'autre nous avons des domaines où il faut que le système ait un comportement sûr fonctionnellement afin d'éviter les coûts financiers et/ou humains d'une perte ou d'une détérioration du système. Ces deux notions mises en vis-à-vis semblent contradictoires. En effet comment être sûr qu'un système autonome avec un pouvoir décisionnel fort, n'aura pas un comportement non nominal qui pourra menacer le bon déroulement de la mission ? Comment être sûr qu'un satellite n'allumera pas ses réacteurs sans avoir protégé ses capteurs fragiles (objectif de la caméra, ...) ? Une réponse partielle à ce type de problèmes pourrait être d'utiliser un planificateur de haut niveau qui ne donnerait que des plans garantis comme sûrs et valides. Toutefois ces planificateurs n'ont pas un modèle complet des actions qu'ils effectuent et de leurs conséquences. En effet, les directives données par ce planificateur sont généralement affinées en sous tâches par un superviseur. Le planificateur n'a donc pas un contrôle complet sur le moyen d'effectuer cette action. Nous présentons ici les travaux effectués afin d'intégrer un système de contrôle d'exécution en ligne dans une architecture hiérarchisée. Nous décrivons ici la nécessité et le rôle d'un tel composant dans ce type d'architecture. Nous introduisons le R2C, notre contrôleur basé sur les hypothèses synchrones, ainsi que l'outil permettant sa génération en exploitant des techniques issues du model-checking symbolique. Enfin nous discutons de la nécessité de prendre en compte les com-posants décisionnels dans le contrôle afin d'interférer le moins possible avec les décisions prises par ceux-ci. Les résultats obtenus durant des expérimentations sur une plate-forme robotique confirment les idées développées au cours de ce travail et permettent d'en tirer les conclusions et perspectives sur la mise en place d'un contrôle pour l'amélioration de la fiabilité globale de tels systèmes.
32

Contrôle d'exécution pour robots mobiles autonomes: architecture, spécification et validation

DE MEDEIROS, Adelardo A.D. 19 February 1997 (has links) (PDF)
Le travail présenté dans le mémoire traite des problèmes liés au contrôle d'exécution des actions des robots mobiles autonomes. Une première partie présente l'architecture de contrôle globale et la compare à d'autres approches. On décrit les niveaux hiérarchiques qui la constituent et leurs rôles dans le fonctionnement du système. Le niveau inférieur, composé d'un ensemble de modules, rassemble les fonctions de perception, de modélisation et d'action du système. La seconde partie présente le niveau exécutif. L'exécutif doit suivre l'exécution des fonctions, résoudre les conflits entre modules, accomplir certaines actions réflexes et maintenir une information sur l'utilisation des ressources non partageables du robot. Il peut être vu comme un ensemble d'automates, qui interagissent et changent d'état selon les requêtes qui arrivent du niveau supérieur et les répliques qui proviennent des modules. La mise en oeuvre de l'exécutif utilise le système à base de règles KHEOPS. La compilation faite par KHEOPS permet, à partir d'un ensemble de variables d'entrée et de sortie et des règles qui les relient, d'obtenir un arbre de décision équivalent et de profondeur connue, ce qui garantit un temps d'exécution borné pour l'exécutif. La compilation permet aussi de garantir certaines propriétés logiques des automates mis en place. La troisième partie présente les relations entre le niveau fonctionnel (modules et exécutif) et la couche immédiatement supérieure, le niveau tache. Ce niveau est basé sur le système PRS, qui transforme des taches de haut niveau d'abstraction en procédures d'actions reconnues par le niveau fonctionnel et surveille leur exécution. Le mémoire présente une équivalence entre un sous-ensemble de PRS et les réseaux de Pétri colorés, ce qui permet de faire une vérification du niveau tache quand l'équivalence existe. Enfin, on présente quelques rés ultats de la mise en oeuvre expérimentale de ces travaux avec le robot Hilare 2.
33

Environnements d'exécution pour applications parallèles communiquant par passage de messages pour les systèmes à grande échelle et les grilles de calcul

Coti, Camille 10 November 2009 (has links) (PDF)
L'environnement d'exécution est un composant clé de l'environnement de programmation et d'exécution d'applications parallèles. Il fournit des services aux processus de l'application parallèle. Parmi ces services, les plus fondamentaux sont la mise en relation des processus entre eux et la transmission des signaux et des entrées-sorties. Cette thèse porte sur l'étude des environnements d'exécution à grande échelle et les services rendus à l'application sur des systèmes de grande taille. La première partie étudie les performances de l'environnement d'exécution à grande échelle et propose une approche centrée sur les topologies pour supporter l'application de manière efficace. La seconde partie étudie un rôle supplémentaire rempli par l'environnement d'exécution dans des systèmes constitué d'un grand nombre de composants avec le support de la tolérance aux défaillances. La troisième et la quatrième partie concernent un type particulier de systèmes à grande échelle avec les grilles de calcul. Ces systèmes présentent des particularités spécifiques à l'utilisation de ressources géographiquement distantes et à l'hétérogénéité de ces ressources. Les problématiques de connectivité sur les grilles de calcul et une extension de l'environnement d'exécution conçue pour y faire face sont présentées dans la troisième partie de cette thèse. La quatrième partie présente une méthode de conception d'applications destinées aux grilles de calcul et des exemples d'applications typiques présentant de bonnes performances.
34

Architecture logicielle pour l'adaptation distribuée : Application à la réplication de données

Zouari, Mohamed 28 June 2011 (has links) (PDF)
L'adaptation dynamique permet de modifier une application en cours d'exécution en fonction des fluctuations de son environnement et des changements des exigences des utilisateurs. De nombreux travaux ont proposé des méthodes et mécanismes pour adapter une application centralisée. Mais, le cas des applications distribuées a été beaucoup moins abordé. En particulier, la distribution du système d'adaptation lui-même est très peu envisagée. Nous proposons dans cette thèse une approche visant à définir une architecture logicielle à base de composants pour permettre la gestion distribuée et coordonnée de l'adaptation dynamique d'applications. Nous définissons un modèle d'architecture logicielle de systèmes d'adaptation qui permet la variabilité des configurations du système et qui inclut des mécanismes spécialisables pour assurer la coordination. Le domaine d'application choisi pour illustrer notre approche d'adaptation est la gestion de données répliquées. Dans ce domaine, nous avons développé un prototype pour la construction de systèmes d'adaptation distribués d'une part, et de systèmes de réplication d'autre part. Le prototype, qui se base sur le modèle de composants Fractal, nous a permis de mener des expérimentations d'adaptation distribuée sur un système de réplication de données en milieu médical pour le suivi d'un patient à domicile.
35

Analyse du temps d'exécution pire-cas de tâches temps-réel exécutées sur une architecture multi-cœurs

Bourgade, Roman 22 October 2012 (has links) (PDF)
Les défaillances des applications embarquées dans les systèmes temps-réel strict peuvent avoir des conséquences graves (catastrophes industrielles, mise en danger de vies humaines). La vérification des contraintes temporelles d'un système temps-réel strict dépend de la connaissance du temps d'exécution pire-cas des tâches constituant l'application embarquée. L'utilisation de processeurs multi-cœurs est l'un des moyens actuellement mis en œuvre afin d'améliorer le niveau de performances des systèmes embarqués. Cependant, la détermination du temps d'exécution pire-cas d'une tâche sur ce type d'architecture est rendue difficile par le partage de certaines ressources par les cœurs, et notamment le bus d'interconnexion permettant l'accès à la mémoire centrale. Ce document propose un nouveau mécanisme d'arbitrage de bus à deux niveaux permettant d'améliorer les performances des ensembles de tâches exécutés tout en garantissant le respect des contraintes temporelles. Les méthodes décrites permettent d'établir un niveau de priorité d'accès au bus optimal pour chacune des tâches exécutées. Elles permettent également de trouver une allocation optimale des tâches aux cœurs lorsqu'il y a plus de tâches à exécuter que de cœurs disponibles. Les résultats expérimentaux montrent une diminution significative des estimations de temps d'exécution pire-cas et de l'utilisation du processeur.
36

Contribution à la mise en oeuvre d'un moteur d'exécution de modèles UML pour la simulation d'applications temporisées et concurrentes.

Benyahia, Abderraouf 26 November 2012 (has links) (PDF)
L'Ingénierie Dirigée par les Modèles (IDM) place les modèles au cœur des processus de d'ingénierie logicielle et système. L'IDM permet de maitriser la complexité des logiciels et d'améliorer la rapidité et la qualité des processus de développement. Le Model Driven Architecture (MDA) est une initiative de l'Object Management Group (OMG) définissant un cadre conceptuel, méthodologique et technologique pour la mise-en-œuvre de flots de conception basés sur l'IDM. Le MDA s'appuie particulièrement sur une utilisation intensive des formalismes normalisés par l'OMG pour la mise-en-œuvre des flots IDM (UML pour la modélisation, QVT pour les transformations, etc.). Ce travail s'intéresse à la sémantique d'exécution du langage UML appliqué à l'exécution de modèles des applications temps réel embarquées. Dans ce contexte, l'OMG propose une norme qui définit un modèle d'exécution pour un sous-ensemble d'UML appelé fUML (foundational UML subset). Ce modèle d'exécution définit une sémantique précise non ambigüe facilitant la transformation de modèles, l'analyse, l'exécution de modèles et la génération de code. L'objectif de cette thèse est d'étudier et mettre-en-œuvre un moteur d'exécution de modèles UML pour les systèmes temps réel embarqués en explicitant les hypothèses portant sur la sémantique d'exécution des modèles à un niveau d'abstraction élevé afin de permettre l'exécution d'un modèle le plus tôt possible dans le flot de conception de l'application. Pour cela, nous avons étendu le modèle d'exécution défini dans fUML, en apportant une contribution sur trois aspects importants concernant les systèmes temps réel embarqués : * Gestion de la concurrence: fUML ne fournit aucun mécanisme pour gérer la concurrence dans son moteur d'exécution. Nous répondons à ce problème par l'introduction d'un ordonnanceur explicite permettant de contrôler les différentes exécutions parallèles, tout en fournissant la flexibilité nécessaire pour capturer et simuler différentes politiques d'ordonnancements. * Gestion du temps : fUML ne fixe aucune hypothèse sur la manière dont les informations sur le temps sont capturées ainsi que sur les mécanismes qui les traitent dans le moteur d'exécution. Pour cela, nous introduisons une horloge, en se basant sur le modèle de temps discret, afin de prendre en compte les contraintes temporelles dans les exécutions des modèles. * Gestion des profils : les profils ne sont pas pris en compte par ce standard, cela limite considérablement la personnalisation du moteur d'exécution pour prendre en charge de nouvelles variantes sémantiques. Pour répondre à ce problème, nous ajoutons les mécanismes nécessaires qui permettent l'application des profils et la capture des extensions sémantiques impliquées par l'utilisation d'un profil. Une implémentation de ces différentes extensions est réalisée sous forme d'un plugin Eclipse dans l'outil de modélisation Papyrus UML.
37

Contribution à la mise-en-œuvre d'un moteur d'exécution de modèles UML pour la simulation d'applications temporisées et concurrentes

Abderraouf, Benyahia 26 November 2012 (has links) (PDF)
L'Ingénierie Dirigée par les Modèles (IDM) place les modèles au cœur des processus de d'ingénierie logicielle et système. L'IDM permet de maitriser la complexité des logiciels et d'améliorer la rapidité et la qualité des processus de développement. Le Model Driven Architecture (MDA) est une initiative de l'Object Management Group (OMG) définissant un cadre conceptuel, méthodologique et technologique pour la mise-en-œuvre de flots de conception basés sur l'IDM. Le MDA s'appuie particulièrement sur une utilisation intensive des formalismes normalisés par l'OMG pour la mise-en-œuvre des flots IDM (UML pour la modélisation, QVT pour les transformations, etc.). Ce travail s'intéresse à la sémantique d'exécution du langage UML appliqué à l'exécution de modèles des applications temps réel embarquées. Dans ce contexte, l'OMG propose une norme qui définit un modèle d'exécution pour un sous-ensemble d'UML appelé fUML (foundational UML subset). Ce modèle d'exécution définit une sémantique précise non ambigüe facilitant la transformation de modèles, l'analyse, l'exécution de modèles et la génération de code. L'objectif de cette thèse est d'étudier et mettre-en-œuvre un moteur d'exécution de modèles UML pour les systèmes temps réel embarqués en explicitant les hypothèses portant sur la sémantique d'exécution des modèles à un niveau d'abstraction élevé afin de permettre l'exécution d'un modèle le plus tôt possible dans le flot de conception de l'application. Pour cela, nous avons étendu le modèle d'exécution défini dans fUML, en apportant une contribution sur trois aspects importants concernant les systèmes temps réel embarqués : * Gestion de la concurrence: fUML ne fournit aucun mécanisme pour gérer la concurrence dans son moteur d'exécution. Nous répondons à ce problème par l'introduction d'un ordonnanceur explicite permettant de contrôler les différentes exécutions parallèles, tout en fournissant la flexibilité nécessaire pour capturer et simuler différentes politiques d'ordonnancements. * Gestion du temps : fUML ne fixe aucune hypothèse sur la manière dont les informations sur le temps sont capturées ainsi que sur les mécanismes qui les traitent dans le moteur d'exécution. Pour cela, nous introduisons une horloge, en se basant sur le modèle de temps discret, afin de prendre en compte les contraintes temporelles dans les exécutions des modèles. * Gestion des profils : les profils ne sont pas pris en compte par ce standard, cela limite considérablement la personnalisation du moteur d'exécution pour prendre en charge de nouvelles variantes sémantiques. Pour répondre à ce problème, nous ajoutons les mécanismes nécessaires qui permettent l'application des profils et la capture des extensions sémantiques impliquées par l'utilisation d'un profil. Une implémentation de ces différentes extensions est réalisée sous forme d'un plugin Eclipse dans l'outil de modélisation Papyrus UML.
38

Debugging Embedded Multimedia Application Execution Traces through Periodic Pattern Mining / Débogage des traces d’exécution des applications multimédia embarquées en utilisant la recherche de motifs périodiques

Lopez Cueva, Patricia 08 July 2013 (has links)
La conception des systèmes multimédia embarqués présente de nombreux défis comme la croissante complexité du logiciel et du matériel sous-jacent, ou les pressions liées aux délais de mise en marche. L'optimisation du processus de débogage et validation du logiciel peut aider à réduire sensiblement le temps de développement. Parmi les outils de débogage de systèmes embarqués, un puissant outil largement utilise est l'analyse de traces d'exécution. Cependant, l'évolution des techniques de traçage dans les systèmes embarqués se traduit par des traces d'exécution avec une grande quantité d'information, à tel point que leur analyse manuelle devient ingérable. Dans ce cas, les techniques de recherche de motifs peuvent aider en trouvant des motifs intéressants dans de grandes quantités d'information. Concrètement, dans cette thèse, nous nous intéressons à la découverte de comportements périodiques sur des applications multimédia. Donc, les contributions de cette thèse concernent l'analyse des traces d'exécution d'applications multimédia en utilisant des techniques de recherche de motifs périodiques fréquents. Concernant la recherche de motifs périodiques, nous proposons une définition de motif périodique adaptée aux caractéristiques de la programmation parallèle. Nous proposons ensuite une représentation condensée de l'ensemble de motifs périodiques fréquents, appelée Core Periodic Concepts (CPC), en adoptant une approche basée sur les relations triadiques. De plus, nous définissons quelques propriétés de connexion entre ces motifs, ce qui nous permet de mettre en oeuvre un algorithme efficace de recherche de CPC, appelé PerMiner. Pour montrer l'efficacité et le passage à l'échelle de PerMiner, nous réalisons une analyse rigoureuse qui montre que PerMiner est au moins deux ordres de grandeur plus rapide que l'état de l'art. En plus, nous réalisons un analyse de l'efficacité de PerMiner sur une trace d'exécution d'une application multimédia réelle en présentant l'accélération accompli par la version parallèle de l'algorithme. Concernant les systèmes embarqués, nous proposons un premier pas vers une méthodologie qui explique comment utiliser notre approche dans l'analyse de traces d'exécution d'applications multimédia. Avant d'appliquer la recherche de motifs fréquents, les traces d'exécution doivent être traitées, et pour cela nous proposons plusieurs techniques de pré-traitement des traces. En plus, pour le post-traitement des motifs périodiques, nous proposons deux outils : un outil qui trouve des pairs de motifs en compétition ; et un outil de visualisation de CPC, appelé CPCViewer. Finalement, nous montrons que notre approche peut aider dans le débogage des applications multimédia à travers deux études de cas sur des traces d'exécution d'applications multimédia réelles. / Increasing complexity in both the software and the underlying hardware, and ever tighter time-to-market pressures are some of the key challenges faced when designing multimedia embedded systems. Optimizing software debugging and validation phases can help to reduce development time significantly. A powerful tool used extensively when debugging embedded systems is the analysis of execution traces. However, evolution in embedded system tracing techniques leads to execution traces with a huge amount of information, making manual trace analysis unmanageable. In such situations, pattern mining techniques can help by automatically discovering interesting patterns in large amounts of data. Concretely, in this thesis, we are interested in discovering periodic behaviors in multimedia applications. Therefore, the contributions of this thesis are focused on the definition of periodic pattern mining techniques for the analysis of multimedia applications execution traces. Regarding periodic pattern mining contributions, we propose a definition of periodic pattern adapted to the characteristics of concurrent software. We then propose a condensed representation of the set of frequent periodic patterns, called core periodic concepts (CPC), by adopting an approach originated in triadic concept approach. Moreover, we define certain connectivity properties of these patterns that allow us to implement an efficient CPC mining algorithm, called PerMiner. Then, we perform a thorough analysis to show the efficiency and scalability of PerMiner algorithm. We show that PerMiner algorithm is at least two orders of magnitude faster than the state of the art. Moreover, we evaluate the efficiency of PerMiner algorithm over a real multimedia application trace and also present the speedup achieved by a parallel version of the algorithm. Then, regarding embedded systems contributions, we propose a first step towards a methodology which aims at giving the first guidelines of how to use our approach in the analysis of multimedia applications execution traces. Besides, we propose several ways of preprocessing execution traces and a competitors finder tool to postprocess the mining results. Moreover, we present a CPC visualization tool, called CPCViewer, that facilitates the analysis of a set of CPCs. Finally, we show that our approach can help in debugging multimedia applications through the study of two use cases over real multimedia application execution traces.
39

De l’interaction des communications et de l’ordonnancement de threads au sein des grappes de machines multi-cœurs / About the interactions between communication and thread scheduling in clusters of multicore machines

Trahay, François 13 November 2009 (has links)
La tendance actuelle des constructeurs pour le calcul scientifique est à l'utilisation de grappes de machines dont les noeuds comportent un nombre de coeurs toujours plus grand. Le modèle basé uniquement sur MPI laisse peu à peu la place à des modèles mélangeant l'utilisation de threads et de MPI. Ce changement de modèle entraîne de nombreuses problématiques car les implémentations MPI n'ont pas été conçues pour supporter les applications multi-threadées. Dans cette thèse, afin de garantir le bon fonctionnement des communications, nous proposons un module logiciel faisant interagir l'ordonnanceur de threads et la bibliothèque de communication. Ce gestionnaire d'entrées/sorties générique prend en charge la détection des événements du réseau et exploite les multiples unités de calcul présentes sur la machine de manière transparente. Grâce à la collaboration étroite avec l'ordonnanceur de threads, le gestionnaire d'entrées/sorties que nous proposons assure un haut niveau de réactivité aux événements du réseau. Nous montrons qu'il est ainsi possible de faire progresser les communications réseau en arrière-plan et donc de recouvrir les communications par du calcul. La parallélisation de la bibliothèque de communication est également facilité par un mécanisme d'exportation de tâches capable d'exploiter les différentes unités de calcul disponible tout en prenant en compte la localité des données. Les gains obtenus sur des tests synthétiques et sur des applications montre que l'interaction entre la bibliothèque de communication et l'ordonnanceur de threads permet de réduire le coût des communications et donc d'améliorer les performances d'une application. / The current trend of constructors for scientific computation is to build clusters whose node include an increasing number of cores.The classical programming model that is only based on MPI is being replaced by hybrid approaches that mix communication and multi-threading. This evolution of the programming model leads to numerous problems since MPI implementations were not designed for multi-threaded applications. In this thesis, in order to guarantee a smooth behavior of communication, we propose a software module that interact with both the threads scheduler and the communication library. This module, by working closely with the thread scheduler, allows to make communication progress in the background and guarantees a high level of reactivity to network events, even when the node is overloaded. We show that this permits to make communication progress in the background and thus to overlap communication and computation. The parallelization of the communication library is also made easier thanks to a task onloading mechanism that is able to exploit the available cores while taking data locality into account. The results we obtain on synthetic application as well as real-life applications show that the interaction between the thread scheduler and the communication library allows to reduce the overhead of communication and thus to improve the application performance.
40

Supporting resource awareness in managed runtime environment / Soutien efficace pour créer des systèmes «conscient des ressources» sur des environnements d'exécution gérés

Gonzalez Herrera, Inti Yulien 14 December 2015 (has links)
Aujourd'hui, les systèmes logiciels sont omniprésents. Parfois, les applications doivent fonctionner sur des dispositifs à ressources limitées. Toutefois, les applications nécessitent un support d'exécution pour faire face à de telles limitations. Cette thèse aborde le problème de la programmation pour créer des systèmes "conscient des ressources" supporté par des environnements d'exécution adaptés (MRTEs). En particulier, cette thèse vise à offrir un soutien efficace pour recueillir des données sur la consommation de ressources de calcul (par exemple, CPU, mémoire), ainsi que des mécanismes efficaces pour réserver des ressources pour des applications spécifiques. Dans les solutions existantes, nous trouvons deux inconvénients importants. Les solutions imposent un impact important sur les performances à l'exécution des applications. La création d'outils permettant de gérer finement les ressources pour ces abstractions est encore une tâche complexe. Les résultats de cette thèse forment trois contributions : Un cadre de surveillance des ressources optimiste qui réduit le coût de la collecte des données de consommation de ressources ; une méthodologie pour sélectionner les le support d'exécution des composants au moment du déploiement afin d’exécuter la réservation de ressources ; un langage pour construire des profileurs de mémoire personnalisées qui peuvent être utilisés à la fois au cours du développement des applications, ainsi que dans un environnement de production. / Software systems are more pervasive than ever nowadays. Occasionally, applications run on top of resource-constrained devices where efficient resource management is required ; hence, they must be capable of coping with such limitations. However, applications require support from the run-time environment to properly deal with resource limitations. This thesis addresses the problem of supporting resource-aware programming in execution environments. In particular, it aims at offering efficient support for collecting data about the consumption of computational resources (e.g., CPU, memory), as well as efficient mechanisms to reserve resources for specific applications. In existing solutions we find two important drawbacks. First, they impose performance overhead on the execution of applications. Second, creating resource management tools for these abstractions is still a daunting task. The outcomes of this thesis are three contributions: an optimistic resource monitoring framework that reduces the cost of collecting resource consumption data ; a methodology to select components' bindings at deployment time in order to perform resource reservation ; a language to build customized memory profilers that can be used both during applications' development, and also in a production environment.

Page generated in 0.6321 seconds