658 research outputs found

    Contribution à l'approche booléenne de la sureté de fonctionnement : l'atelier logiciel Aralia WorkShop

    Get PDF
    Cette thèse synthétise les travaux conduits et les résultats obtenus dans le cadre de deux projets de recherche soutenus par des partenaires industriels et décrits ci-après: * Le projet Hévéa visait à traduire les séquences des arbres d'événements (AdE) en formules booléennes. La première phase du projet a abouti à une formalisation du problème et à la réalisation d'un logiciel permettant cette traduction. La deuxième phase a permis de trouver des solutions permettant de diminuer les problèmes d'explosion combinatoire du traitement par diagrammes binaires de décision (BDD : Binary Decision Diagram) des formules booléennes ainsi générées. La troisième phase a validé les approximations généralement utilisées lors des Etudes Probabilistes de Sûreté (EPS) des centrales nucléaires au terme d'une étude systématique portant sur deux EPS industrielles. * Le projet Aloès avait pour but d'étudier des problèmes d'allocation d'exigences s'appuyant sur des modèles booléens d'analyse des risques. Après une recherche bibliographique et des discussions avec les partenaires du projet, il a abouti à la création d'un langage générique de description de problèmes d'allocation. Ce langage, ainsi que le logiciel Aloès supportant le langage, sont suffisamment génériques pour être couplé à des moteurs des calculs externes comme Aralia (voir ci-dessous) ou Réséda (outil traduisant un réseau de fiabilité en formule booléenne). Le logiciel offre alors trois algorithmes d'optimisation (descente rapide, Branch & Bound, Simplex) afin de résoudre les problèmes d'allocation. Des expérimentations sur un ensemble de réseaux de fiabilité ont permis de valider le pouvoir d'expression du langage, mais ont conclu sur la nécessité d'améliorer les algorithmes d'optimisation intégrés. L'ensemble de ces travaux a débouché sur la création de l'atelier logiciel Aralia WorkShop de saisie et de traitement des modèles booléens d'analyse des risques (Arbre de défaillance : AdD, Arbre d'événements : AdE, Bloc diagramme de fiabilité : BDF), s'appuyant pour la partie traitement sur le coeur de calcul Aralia. Ce dernier se base sur un codage des formules booléennes en BDD.This thesis presents the results obtained by the author during his participation to two research programs supported by industrial partners: * The Hévéa projet The main objective of this project was to assess event-tree sequences by means of Boolean techniques. During the first stage of this program, the author formalized the problem. He designed the Hévéa software which is dedicated to event-tree assessment. In the second stage, the author introduced several original means to reduce the exponential blow-up of the BDD-based processing of Boolean formulae. During the third stage, he validated by means of a systematic study of two industrial PSA (Probabilistic Safety Analysis) the approximations commonly used in the nuclear framework. * The Aloes project The aim of this project was the study of so-called requirement allocation problems. This project began by an important bibliographic work and ended by the creation of a language suitable for allocation problems. This language, and related software Aloès are generic enough to be connected to external assessment softwares such as Aralia (which encodes boolean formulae by using BDD) and Réséda (which transform a reliability network into boolean formulae). Three optimisation algorithms (steepest descent, branch and bound, simplex) are implemented in the Aloès Software to solve allocation problems. Several experiments on reliability networks validated language. These experiments showed that some of previous embedded optimisation algorithms must be improved. The final result of all these studies is the software set Aralia WorkShop which is devoted to the assessment of Boolean risk analysis models (Faut-tree, Event-tree, Reliability block-diagrams and networks) thanks to the embedded computing software Aralia

    Recherche d'éléments structurés dans les génomes par modèles logiques

    Get PDF
    Le recodage est un processus biologique qui permet une lecture alternative du message génétique. Ainsi, il permet la production de deux protéines distinctes en proportions différentes à partir d'une unique séquence d'ARN messager. Les travaux décrits ici concernent le ''décalage de cadre de lecture en -1'', dit ''frameshift -1'', qui est une des situations de recodage. Dans ce type d'événements, le décalage s'opère au sein d'une zone particulière de la séquence d'ARN en train d'être traduite, qu'on appelle ''fenêtre glissante'', et il est provoqué par une structure secondaire stable de l'ARN, de type pseudo-noeud, présente en aval de la fenêtre glissante. Le ribosome, en train d'effectuer la traduction, vient buter sur la structure, et recule alors d'un nucléotide. Nous avons élaboré une méthode de détection des événements de frameshift-1 basée sur l'utilisation de Logol, un outil de reconnaissance de motifs (pattern matching) développé par notre équipe Dyliss en collaboration avec la plateforme bioinformatique GenOuest. Des modèles Logol ont été élaborés et affinés afin de fournir une modélisation la plus fidèle possible des différents compartiments qui composent le ''motif de frameshift-1'', ce qui a permis au final de détecter avec une bonne précision les événements de décalage de phase en -1 présents dans un jeu de référence. L'approche est originale et se démarque par le fait qu'il n'y ait pas de véritable calcul de stabilité énergétique des structures secondaires recherchées (les pseudo-noeuds). Ces travaux ont amené à utiliser Logol de façon approfondie. Cela a contribué à le faire évoluer, par l'ajout de nouveaux éléments de langage utiles à la modélisation de séquences biologiques. Cela a également contribué à valider l'utilisation de cet outil générique au service de la recherche de motifs biologiques complexes

    Définitions opérationnelles du temps pour l'analyse des données longitudinales : illustration dans le champ des mobilités spatiales

    Get PDF
    International audienceTemporality of human and social phenomena raises theoretical complex issues and specific technical challenges, including analyzing and visualizing of temporal information. This paper proposes an operational typology of three kinds of time: schedule-time, process-time and succession-time. Then it illustrates the usefulness of this typology through three case studies dealing with mobility (residential trajectories, programs of activities and daily trips, routes of freight delivery). These examples are analyzed using longitudinal data and several modes of graphical representation (distribution plot, sequence frequency plot, slide plot). Our approach is willing to enrich and clarify the understanding of time as an attribute into a statistical information system. This approach is inductive and pragmatic: we started with specific thematic and technical issues regarding the analysis and the graphical representation of longitudinal data to move towards theoretical specifications of time. In short, we tried to model an appropriate time to our research objects. This research approach is rendered in reverse in the article: from the theoretical thinking about time to the field of spatial mobility.La temporalité des phénomènes étudiés en sciences humaines et sociales pose des problèmes théoriques complexes et des problèmes techniques spécifiques, notamment d'analyse et de visualisation de l'information temporelle. Cet article propose une typologie opérationnelle distinguant trois types de temps – calendrier, processus et succession – puis il illustre l'intérêt de cette typologie à travers trois cas d'étude qui traitent des mobilités spatiales (parcours résidentiels, programmes d'activités et de déplacements quotidiens, itinéraires d'acheminement de marchandises). Ces exemples sont analysés à partir de données longitudinales et de plusieurs modes de représentation graphique (en chronogramme, en tapis, en coulées). Nous cherchons ainsi à enrichir et clarifier l'appréhension du temps comme attribut dans un système d'information statistique. Notre démarche de recherche a été largement inductive et pragmatique. Nous sommes partis de préoccupations thématiques et techniques particulières, concernant l'analyse et la représentation graphique des données longitudinales, pour aller vers des spécifications théoriques plus générales du temps. Nous avons cherché, en somme, à modeler un temps à la mesure de nos objets de recherche. Cette démarche est restituée en sens inverse dans l'article : de la réflexion théorique à la mise en pratique dans le champ des mobilités spatiales

    Reconstruction de primitives géométriques avec de la lumière non structurée

    Get PDF
    La vision 3D est l'art de remplacer le système de vision humain par un ordinateur. Si des images peuvent aisément être acquises par des caméras, l'analyse de la profondeur et de la forme des objets est une tâche autrement plus complexe. La reconstruction d'un objet en 3D se divise généralement en deux étapes : l'estimation de la profondeur de points discrets de la scène (qui correspondent généralement aux pixels d'une image), puis le traitement de ces points, qui peut prendre différentes formes selon le type d'application. Plusieurs techniques existent pour estimer la profondeur de points, chacune fonctionnant bien sous certaines conditions favorables. Parmi ces conditions, on retrouve souvent l'immobilité des objets à reconstruire et la constance de l'illumination (ou sinon, une structure dans ses variations - la lumière structurée). Ce mémoire présente une technique qui non seulement permet, mais requiert et se base sur de grandes variations d'illumination, comme celles causées par la projection d'une séquence vidéo sur l'objet. Cette technique, que nous avons nommée lumière non structurée (LNS), se base sur la cooccurrence statistique d'événements dans deux séquences vidéo : celle projetée et celle filmée par la caméra. Par la suite, nous utilisons une variante de l'algorithme d'estimation RANSAC pour diviser les points 3D en plusieurs primitives géométriques et estimer la nature de ces primitives (plans, sphères, cylindres, etc.)

    Surveillance dynamique de compositions de services web Ă  l'aide de protocoles de comportement

    Get PDF
    Dans ce travail nous proposons une adaptation du paradigme de la programmation par contrat - contrats exprimés sous forme de protocoles de comportement - au contexte des architectures orientées services, et ce à travers la conception d'un cadre d'applications (framework) supportant l'ensemble du processus de contractualisation, à savoir, la définition des contrats, la surveillance dynamique et la réaction en fonction du respect ou non des règles établies. La solution proposée permet de détecter les ruptures de contrat à chaud, c'est-à-dire en cours d'exécution des compositions de services, ouvrant ainsi la porte à l'instauration de mécanismes dynamiques de compensation. Les contrats surveillés représentent des protocoles de comportements de processus BPEL, ce qui permet de définir des contraintes sur l'ordre d'exécution des opérations publiques des services partenaires. Nous en présentons également une mise en œuvre, BPEL.RPM, qui est adaptable, dans le sens où elle peut aisément intégrer des modules externes de compensation, mais qui est aussi portable, puisqu'elle fonctionne indépendamment de l'environnement d'exécution des services Web. \ud ______________________________________________________________________________ \ud MOTS-CLÉS DE L’AUTEUR : services Web, programmation par contrat, surveillance dynamique, BPEL

    Langage dédié et analyse automatisée pour la détection de patrons au sein de traces d'exécution

    Get PDF
    RÉSUMÉ La complexité des systèmes informatiques distribués et à plusieurs unités de calcul a introduit de nouvelles classes de problèmes. Ces problèmes sont difficiles à reproduire et leur complexité accrue a suggéré l'introduction de nouvelles méthodes de compréhension des systèmes. L'analyse dynamique, à l'aide de traces d'exécution, permet de comprendre les systèmes à partir de leurs données d'exécution. Les traces d'exécution enregistrent, sous forme d'événements, les informations précises et détaillées de l'exécution du système instrumenté. Pour des systèmes comme le noyau d'exploitation de Linux, le traçage fournit des événements de bas niveau (appels systèmes, fautes de pages). De plus, en quelques secondes, le fichier de trace peut enregistrer des millions d'événements. Des visionneuses de trace, telle que Trace Compass, ont été développées dans le but de fournir des analyses de la trace sous différents angles de vue tels que l’allocation des ressources ou l’usage des unités de calcul, et à un haut niveau d'abstraction. Cependant, au-delà des analyses déjà fournies par les visionneuses, les utilisateurs souhaiteraient pouvoir créer des analyses personnalisées qui représenteraient mieux leurs besoins. Par exemple, un utilisateur pourrait tenter de vérifier si le système a subi une attaque particulière. Il faudrait dans ce cas précis pouvoir appliquer à la trace une analyse spécialisée qui permettrait de vérifier la présence d’une séquence d’événements ou d’informations qui décrit l’attaque recherchée. Il existe donc un besoin quant à la nécessité d'identifier des formes particulières ou de retrouver des séquences d'intérêts au sein de la trace. Ce travail propose l'introduction d'un langage déclaratif utilisant les automates finis pour la description de patrons d'intérêts. Les patrons décrits sont ensuite passés à un analyseur élaboré afin de vérifier et repérer leurs présences au sein de traces d’exécution. L'utilisation de machines à états pour la description des patrons permet de décrire des patrons complexes. Ainsi, la mise en place d'un mécanisme de suivi de l'exécution des patrons a été réalisée. Le langage déclaratif proposé est conçu de façon déclarative en XML. Il permet de représenter avec succès tous les types de patrons rencontrés dans la littérature (patrons de détection d'attaques, patrons de test de programmes, patrons d'évaluation de performance, patrons d'agrégations des événements...). La spécification du langage proposé permet de créer des événements synthétiques qui peuvent être traités par l'analyseur au fur et à mesure qu'ils sont créés. La solution proposée dans ce mémoire devrait être capable de traiter les traces de grandes tailles (500MB et plus); la performance en terme de temps d'extraction des données est donc importante. Nous nous assurons qu'elle est au moins aussi bonne que celle des travaux antérieurs du même genre et que la déviation par rapport à la méthode d'extraction standard de Trace Compass reste acceptable. La solution proposée écrit directement les données sur le disque. Elle n’accumule donc pas d’informations en mémoire. L’analyse en terme d’espace en mémoire est donc négligeable. De plus, nous démontrons l'utilité de l'approche proposée à l'aide d'exemples concrets de cas d'utilisation. Une tentative de découverte de la source d'un défaut de requête Web est présentée ainsi qu'un exemple de détection d'attaque dans le système. Enfin, nous proposons à la fin de notre étude une liste de suggestions pour des améliorations possibles à la solution en termes de description des patrons et de réduction du temps de l’analyse.----------ABSTRACT The complexity of distributed and multi-core systems introduced new classes of problems. These problems could be difficult to reproduce and their increasing complexity has suggested the introduction of new methods of systems comprehension. Dynamic analysis, through execution traces, allows to understand the system behavior from its execution data. The execution traces record, in the form of events, accurate and detailed information about the execution of an instrumented system. For systems like the Linux kernel, tracing provides low level events such as system calls and page faults. Moreover, in a few seconds, the trace file can record millions of events. Visualizers, like Trace Compass, were developed to provide analysis of the trace from different points of view such as ressources allocation and CPU usage, and with a high-level of abstraction. However, beyond the analyses that have been already provided by the visualizers, users would like to be able to create custom analyses that better represent their needs. For example, a user could attempt to verify if the system is under a particular attack. It should then be possible to apply to the trace a specialized analysis that would verify the presence of a sequence of events or information that describes the intended attack. Thus, there is a need to be able to identify patterns or to find predefined sequences of events within the trace. This work proposes the introduction of a declarative automata-based pattern description language. The described patterns are then passed to an analyzer designed to efficiently verify and detect their presence within the execution trace. The use of state machines allows to describe complex patterns. Thus, a mechanism to follow the execution of the patterns has been implemented. The proposed language is designed declaratively in XML. It has successfully represented all the types of pattern found in the literature (security attack patterns, testing patterns, system performance patterns, events aggregation patterns, ...). The language specification allows to create synthetic events that can be processed by the analyzer as they are created. This proposal should be able to process large trace files (1GB or more). Thus, performance in terms of time of data extraction is important. We ensure that this solution is at least as good as previous ones of the same kind and that the deviation from the standard extraction method of Trace Compass remains acceptable. The proposed solution writes the data directly to disk. It therefore does not accumulate information in memory. The analysis in terms of memory space is negligible. In addition, we try to demonstrate the usefulness of our approach with some application test cases. An example of an attempt to find the root cause of a web request defect and an example of attack detection in a system are presented. Finally, we propose at the end of this study a list of suggestions for possible improvements of the solution in terms of the description of patterns and reduction of the time of the analysis

    Un modèle pour l'ossature logicielle d'un habitat intelligent

    Get PDF
    Le vieillissement de la population augmente le nombre de personnes qui sont hébergées à cause de déficits cognitifs ou physiques engendrés par la maladie ou le vieillissement normal. L’habitat intelligent a pour but d’augmenter l’autonomie de la personne en adaptant son environnement immédiat pour combler ses incapacités. Maintenir cette population à domicile requiert de lui offrir un environnement qui pallie cette problématique. Réaliser un tel environnement suppose l’analyse d’informations issues de capteurs dans le domicile, de relier les capteurs entre eux, d’envoyer les informations appropriées vers les intervenants et de générer des interventions personnalisées à travers les effecteurs du domicile. C’est cette analyse qui formera l’ossature logicielle de l’habitat intelligent; un des objectifs de ce mémoire ainsi que la construction d’un prototype de l’habitat intelligent. La mission principale de l’habitat intelligent est d’apporter une aide à des activités effectuées par le résident, puis de détecter et d’empêcher des situations dangereuses. Pour le système qui sera créé, ce sont les services généraux offerts, les acteurs utilisateurs, les contraintes de personnalisation du système et les contraintes de sécurité qui formeront l’ossature logicielle. La simulation logicielle est une façon de prouver un concept. Dans ce cas-ci, un prototype est construit et donne les principaux services de l’habitat intelligent. Ces services sont actuellement dans un contexte d’éléments de remplacement. Des spécifications abstraites complètent l’ossature du logiciel
    • …
    corecore