• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 422
  • 171
  • 72
  • 2
  • 1
  • 1
  • Tagged with
  • 721
  • 336
  • 296
  • 278
  • 254
  • 246
  • 243
  • 144
  • 133
  • 92
  • 90
  • 82
  • 79
  • 69
  • 68
  • 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.
391

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.
392

Une approche pragmatique pour mesurer la qualité des applications à base de composants logiciels / A pragmatic approach to measure the quality of Component–Based Software Applications

Hamza, Salma 19 December 2014 (has links)
Ces dernières années, de nombreuses entreprises ont introduit la technologie orientée composant dans leurs développements logiciels. Le paradigme composant, qui prône l’assemblage de briques logiciels autonomes et réutilisables, est en effet une proposition intéressante pour diminuer les coûts de développement et de maintenance tout en augmentant la qualité des applications. Dans ce paradigme, comme dans tous les autres, les architectes et les développeurs doivent pouvoir évaluer au plus tôt la qualité de ce qu’ils produisent, en particulier tout au long du processus de conception et de codage. Les métriques sur le code sont des outils indispensables pour ce faire. Elles permettent, dans une certaine mesure, de prédire la qualité « externe » d’un composant ou d’une architecture en cours de codage. Diverses propositions de métriques ont été faites dans la littérature spécifiquement pour le monde composant. Malheureusement, aucune des métriques proposées n’a fait l’objet d’une étude sérieuse quant à leur complétude, leur cohésion et surtout quant à leur aptitude à prédire la qualité externe des artefacts développés. Pire encore, l’absence de prise en charge de ces métriques par les outils d’analyse de code du marché rend impossible leur usage industriel. En l’état, la prédiction de manière quantitative et « a priori » de la qualité de leurs développements est impossible. Le risque est donc important d’une augmentation des coûts consécutive à la découverte tardive de défauts. Dans le cadre de cette thèse, je propose une réponse pragmatique à ce problème. Partant du constat qu’une grande partie des frameworks industriels reposent sur la technologie orientée objet, j’ai étudié la possibilité d’utiliser certaines des métriques de codes "classiques", non propres au monde composant, pour évaluer les applications à base de composants. Parmi les métriques existantes, j’ai identifié un sous-ensemble d’entre elles qui, en s’interprétant et en s’appliquant à certains niveaux de granularité, peuvent potentiellement donner des indications sur le respect par les développeurs et les architectes des grands principes de l’ingénierie logicielle, en particulier sur le couplage et la cohésion. Ces deux principes sont en effet à l’origine même du paradigme composant. Ce sous-ensemble devait être également susceptible de représenter toutes les facettes d’une application orientée composant : vue interne d’un composant, son interface et vue compositionnelle au travers l’architecture. Cette suite de métrique, identifiée à la main, a été ensuite appliquée sur 10 applications OSGi open- source afin de s’assurer, par une étude de leur distribution, qu’elle véhiculait effectivement pour le monde composant une information pertinente. J’ai ensuite construit des modèles prédictifs de propriétés qualité externes partant de ces métriques internes : réutilisation, défaillance, etc. J’ai décidé de construire des modèles qui permettent de prédire l’existence et la fréquence des défauts et les bugs. Pour ce faire, je me suis basée sur des données externes provenant de l’historique des modifications et des bugs d’un panel de 6 gros projets OSGi matures (avec une période de maintenance de plusieurs années). Plusieurs outils statistiques ont été mis en œuvre pour la construction des modèles, notamment l’analyse en composantes principales et la régression logistique multivariée. Cette étude a montré qu’il est possible de prévoir avec ces modèles 80% à 92% de composants fréquemment buggés avec des rappels allant de 89% à 98%, selon le projet évalué. Les modèles destinés à prévoir l’existence d’un défaut sont moins fiables que le premier type de modèle. Ce travail de thèse confirme ainsi l’intérêt « pratique » d’user de métriques communes et bien outillées pour mesurer au plus tôt la qualité des applications dans le monde composant. / Over the past decade, many companies proceeded with the introduction of component-oriented software technology in their development environments. The component paradigm that promotes the assembly of autonomous and reusable software bricks is indeed an interesting proposal to reduce development costs and maintenance while improving application quality. In this paradigm, as in all others, architects and developers need to evaluate as soon as possible the quality of what they produce, especially along the process of designing and coding. The code metrics are indispensable tools to do this. They provide, to a certain extent, the prediction of the quality of « external » component or architecture being encoded. Several proposals for metrics have been made in the literature especially for the component world. Unfortunately, none of the proposed metrics have been a serious study regarding their completeness, cohesion and especially for their ability to predict the external quality of developed artifacts. Even worse, the lack of support for these metrics with the code analysis tools in the market makes it impossible to be used in the industry. In this state, the prediction in a quantitative way and « a priori » the quality of their developments is impossible. The risk is therefore high for obtaining higher costs as a consequence of the late discovery of defects. In the context of this thesis, I propose a pragmatic solution to the problem. Based on the premise that much of the industrial frameworks are based on object-oriented technology, I have studied the possibility of using some « conventional » code metrics unpopular to component world, to evaluate component-based applications. Indeed, these metrics have the advantage of being well defined, known, equipped and especially to have been the subject of numerous empirical validations analyzing the predictive power for imperatives or objects codes. Among the existing metrics, I identified a subset of them which, by interpreting and applying to specific levels of granularity, can potentially provide guidance on the compliance of developers and architects of large principles of software engineering, particularly on the coupling and cohesion. These two principles are in fact the very source of the component paradigm. This subset has the ability to represent all aspects of a component-oriented application : internal view of a component, its interface and compositional view through architecture. This suite of metrics, identified by hand, was then applied to 10 open-source OSGi applications, in order to ensure, by studying of their distribution, that it effectively conveyed relevant information to the component world. I then built predictive models of external quality properties based on these internal metrics : reusability, failure, etc. The development of such models and the analysis of their power are only able to empirically validate the interest of the proposed metrics. It is also possible to compare the « power » of these models with other models from the literature specific to imperative and/or object world. I decided to build models that predict the existence and frequency of defects and bugs. To do this, I relied on external data from the history of changes and fixes a panel of 6 large mature OSGi projects (with a maintenance period of several years). Several statistical tools were used to build models, including principal component analysis and multivariate logistic regression. This study showed that it is possible to predict with these models 80% to 92% of frequently buggy components with reminders ranging from 89% to 98%, according to the evaluated projects. Models for predicting the existence of a defect are less reliable than the first type of model. This thesis confirms thus the interesting « practice » of using common and well equipped metrics to measure at the earliest application quality in the component world.
393

Conception architecturale des systèmes robotiques orientée services / Architectural design of service-oriented robotic systems

Bueno Ruas de Oliveira, Lucas 30 June 2015 (has links)
La Robotique a connu une évolution remarquable au cours des dernières années, couplée à un intérêt croissant de la société pour ce domaine. Les robots ne sont plus fabriqués exclusivement pour effectuer des tâches répétitives dans les usines, mais ils sont aussi créés pour collaborer avec les humains dans plusieurs domaines d'application d'importance. Les systèmes robotiques qui contrôlent ces robots sont donc de plus en plus larges, complexes et difficiles à développer. Dans ce contexte, l'Architecture Orientée Services (SOA) a été identifiée comme un style d'architecture logicielle prometteur pour concevoir des systèmes robotiques de manière flexible, réutilisable et productive. Cependant, malgré le nombre considérable de Systèmes Robotiques Orientées Services (SORS) existants aujourd'hui, la plupart d'entre eux ont été développés de manière ad hoc. Le peu d'attention et le soutien limité portés à la conception d'architectures logicielles SORS peuvent non seulement masquer les avantages de l'adoption de la SOA, mais aussi réduire la qualité globale des systèmes robotiques, qui sont souvent utilisés dans des contextes de sécurité critiques. Cette thèse vise à améliorer la compréhension et la systématisation de la conception architecturale SORS. Elle décrit une taxonomie des services pour le domaine de la robotique, puis propose un processus ainsi qu'une architecture de référence afin de systématiser la conception d'architectures logicielles SORS. Les résultats obtenus dans les études d'évaluation montrent qu'à la fois le processus et l'architecture de référence peuvent avoir un impact positif sur la qualité des architectures logicielles SORS et, par conséquent, contribuent à l'amélioration des systèmes robotiques / Robotics has experienced an increasing evolution and interest from the society in recent years. Robots are no longer produced exclusively to perform repetitive tasks in factories, they have been designed to collaborate with humans in several important application domains. Robotic systems that control these robots are therefore becoming larger, more complex, and difficult to develop. In this scenario, Service-Oriented Architecture (SOA) has been investigated as a promising architectural style for the design of robotic systems in a flexible, reusable, and productive manner. Despite the existence of a considerable amount of Service-Oriented Robotic Systems (SORS), most of them have been developed in an ad hoc manner. The little attention and limited support devoted to the design of SORS software architectures may not only hamper the benefits of SOA adoption, but also reduce the overall quality of robotic systems, which are often used in safety-critical contexts. This thesis aims at improving the understanding and systematization of SORS architectural design.
394

Compilation formellement vérifiée de code C de bas-niveau / Formally verified compilation of low-level C code

Wilke, Pierre 09 November 2016 (has links)
Cette thèse présente une extension du compilateur CompCert permettant de fournir des garanties formelles de préservation sémantique à des programmes auxquels CompCert n'en donne pas. CompCert est un compilateur pour le langage C vers différentes architectures qui fournit, en plus d'un exécutable compilé, des garanties formelles concernant le comportement du programme assembleur généré. En particulier, tout programme C ayant une sémantique définie selon le standard C est compilé en un programme assembleur équivalent, c'est-à-dire qui a la même sémantique. En revanche, ce théorème n'assure aucune garantie lorsque le programme source n'a pas de sémantique définie : on parle en C de comportement indéfini. Toutefois, des programmes C issus de réels projets largement utilisés contiennent des comportements indéfinis. Cette thèse détaille dans un premier temps un certain nombre d'exemples de programmes C qui déclenchent des comportements indéfinis. Nous argumentons que ces programmes devraient tout de même bénéficier du théorème de préservation sémantique de CompCert, d'abord parce qu'ils apparaissent dans de vrais projets et parce que leur utilisation des comportements indéfinis semble légitime. Dans ce but, nous proposons d'abord un modèle mémoire pour CompCert qui définit l'arithmétique arbitraire de pointeurs et la manipulation de données non initialisées, à l'aide d'un formalisme de valeurs symboliques qui capturent la sémantique d'opérations non définies dans le standard. Nous adaptons l'intégralité du modèle mémoire de CompCert avec ces valeurs symboliques, puis nous adaptons les sémantiques formelles de chacun des langages intermédiaires de CompCert. Nous montrons que ces sémantiques symboliques sont un raffinement des sémantiques existantes dans CompCert, et nous montrons par ailleurs que ces sémantiques capturent effectivement le comportement des programmes sus-cités. Enfin, afin d'obtenir des garanties similaires à celles que CompCert fournit, nous devons adapter les preuves de préservation sémantique à notre nouveau modèle. Pour ce faire, nous généralisons d'importantes techniques de preuves comme les injections mémoire, ce qui nous permet de transporter les preuves de CompCert sur nos nouvelles sémantiques. Nous obtenons ainsi un théorème de préservation sémantique qui traite plus de programmes C. / This thesis presents an extension of the CompCert compiler that aims at providing formal guarantees about the compilation of more programs than CompCert does. The CompCert compiler compiles C code into assembly code for various architectures and provides formal guarantees about the behaviour of the compiled assembly program. It states that whenever the C program has a defined semantics, the generated assembly program behaves similarly. However, the theorem does not provide any guarantee when the source program has undefined semantics, or, in C parlance, when it exhibits undefined behaviour, even though those behaviours actually happen in real-world code. This thesis exhibits a number of C idioms, that occur in real-life code and whose behaviour is undefined according to the C standard. Because they happen in real programs, our goal is to enhance the CompCert verified compiler so that it also provides formal guarantees for those programs. To that end, we propose a memory model for CompCert that makes pointer arithmetic and uninitialised data manipulation defined, introducing a notion of symbolic values that capture the meaning of otherwise undefined idioms. We adapt the whole memory model of CompCert with this new formalism and adapt the semantics of all the intermediate languages. We prove that our enhanced semantics subsumes that of CompCert. Moreover, we show that these symbolic semantics capture the behaviour of the previously undefined C idioms. The proof of semantic preservation from CompCert needs to be reworked to cope with our model. We therefore generalize important proof techniques such as memory injections, which enable us to port the whole proof of CompCert to our new memory model, therefore providing formal guarantees for more programs.
395

Approche langage au développement logiciel : application au domaine des systèmes d’informatique ubiquitaire

Mercadal, Julien 10 October 2011 (has links)
Face à l'augmentation de la taille et de la complexité des systèmeslogiciels, il convient de les décrire à un plus haut niveaud'abstraction (i.e., au-delà du code) avant de concrètement lesimplémenter. Toutefois, l'utilisation de ces descriptions de hautniveau dans les processus de construction et de vérification dessystèmes reste très rudimentaire, ne permettant pas de véritablementguider et faciliter le développement logiciel. Cette thèse propose une nouvelle approche pour rendre plus simple etplus sûr le développement de systèmes logiciels. Cette approche reposesur l'utilisation de langages dédiés et sur un couplage fort entre unecouche de spécification et d'architecture et une couched'implémentation. Elle consiste tout d'abord à décrire à un hautniveau d'abstraction différents aspects, à la fois fonctionnels et nonfonctionnels, d'un système dans la couche de spécification etd'architecture. Ces descriptions sont ensuite analysées et utiliséespour personnaliser la couche d'implémentation, afin de faciliter laconstruction et la vérification du système logiciel. Nous illustrons notre approche dans le domaine de l'informatiqueubiquitaire. À la suite d'une analyse complète du domaine, nous avonsconçu deux langages dédiés à l'orchestration d'objets communicants,Pantaxou et Pantagruel. / The sheer size and complexity of today's software systems posechallenges for both their programming and verification, making itcritical to raise the level of abstraction of software developmentbeyond the code. However, the use of high-level descriptions in thedevelopment process still remains rudimentary, improving and guidingthis process marginally.This thesis proposes a new approach to making software developmentsimpler and safer. This approach is based on the use ofdomain-specific languages and a tight coupling between a specificationand architecture layer, and an implementation layer. It consists ofdescribing functional and non-functional aspects of a software systemat a high level of abstraction, using the specification andarchitecture layer. These high-level descriptions are then analyzedand used to customize the implementation layer, greatly facilitatingthe programming and verification of the software system.We have validated our approach in the domain of pervasive computingsystems development. From a complete domain analysis, we haveintroduced two domain-specific languages, Pantaxou and Pantagruel,dedicated to the orchestration of networked smart devices.
396

Développements HPC pour une nouvelle méthode de docking inverse : applications aux protéines matricielles. / HPC developpements for a new inverse docking method and matrix proteins applications.

Vasseur, Romain 29 January 2015 (has links)
Ce travail de thèse consiste au développement méthodologique et logiciel d'une méthode de docking moléculaire dite inverse. Cette méthode propose à travers le programme AMIDE — Automatic Inverse Docking Engine — de distribuer un grand nombres de simulations d'amarrage moléculaire sur des architectures HPC (clusters de calcul) avec les applications AutoDock 4.2 et AutoDock Vina. Le principe de cette méthode consiste à tester de petites molécules sur un ensemble de protéines cibles potentielles. Les paramètres optimaux ont été définis à partir d'une étude pilote et le protocole a été validé sur des ligands et peptides liants les protéines MMPs et EBP de la matrice extracellulaire. Cette méthode montre qu'elle permet d‘améliorer la recherche conformationnelle lors du calcul de docking sur des structures expérimentales par rapport à des protocoles existants (blind docking). Il est montré que le programme AMIDE permet de discriminer des sites de fixation privilégiés lors d'expériences de criblage inverse de protéines de manière plus performante que par blind docking. Ces résultats sont obtenus par la mise en place de méthodes de partitionnement de l'espace de recherche qui permettent également à travers un système de distribution hybride de déployer un ensemble de tâches indépendantes pour un traitement autorisant le passage d'échelle. / This work is a methodological and software development of so-called inverse molecular docking method. This method offers through an in house program AMIDE — Automatic Reverse Docking Engine — to distribute large numbers of molecular docking simulations on HPC architectures (com- puting clusters) with AutoDock 4.2 and AutoDock Vina applications. The principle of this method is to test small molecules on a set of potential target proteins. The program optimum parameters were defined from a pilot study and the protocol was validated on ligands and peptides binding MMPs and EBP extracellular matrix proteins. This method improves the conformational search in docking computation on experimental structures compared to existing protocols (blind docking). It is shown that the AMIDE program is more efficient to discriminate preferred binding sites in inverse proteins screening experiments than blind docking. These results are obtained by the implemen- tation of methods for partitioning the search space that also allow through a hybrid distribution system to deploy a set of independent embarassingly parallel tasks perfectly scalable.
397

Leveraging model-based product lines for systems engineering / Exploitation des lignes de produits fondées sur les modèles pour l’ingénierie système

Filho, João Bosco Ferreira 03 December 2014 (has links)
Actuellement, de nombreuses entreprises ont besoin de construire des versions\variantes légèrement différentes d'un même système. Ces versions partagent des points communs et des différences, le tout pouvant être géré à l'aide d'une approche ligne de produits (SPL). L'objectif principal d'une SPL est d'exploiter la personnalisation de masse, dans laquelle les produits sont réalisés pour répondre aux besoins spécifiques de chaque client. Pour répondre à ce besoin de personnalisation, les systèmes doivent être étendus de manière efficace, ou modifiés, configurés pour être utilisé dans un contexte particulier. Une approche encourageante consiste à connecter l'approche MDE (l'ingénierie dirigée par les modèles) à l'approche SPL – les SPL basées sur les modèles (MSPL). L'espace de conception, l'environnement du système logiciel que l'on construit (i.e., l'ingénierie du domaine) d'une MSPL est extrêmement complexe à gérer pour un ingénieur. Tout d'abord, le nombre possible des produits d'une MSPL est exponentielle au nombre d'éléments ou de décisions exprimé dans le modèle de variabilité. Ensuite, les modèles de produits dérivés doivent être conformes à de nombreuses règles liées au domaine métier mais aussi aux langages de modélisation utilisés. Troisièmement, le modèle de réalisation qui relie un modèle de variabilité et un modèle de base peut être très expressif. En plus, il faut ajouter que les ingénieurs système utilisent différents langages de modélisation dédiés dans le cadre de projets pour la réalisation de systèmes critiques. Nos contributions sont basées sur le fait qu'une solution générique, pour tous les domaines, et qui dérive des modèles corrects n'est pas réaliste, surtout si on prend en considération le contexte des systèmes complexes décrits précédemment. Nous proposons une approche indépendante du domaine pour générer des contre-exemples de MSPLs, révélant des erreurs de conceptions de modèles et supportant les parties prenantes à construire de meilleures MSPLs et des mécanismes de dérivation plus efficaces. Plus précisément, la première et principale contribution de la thèse est un processus systématique et automatisé, basé sur CVL (common variability language), pour la recherche aléatoire de contre-exemples de MSPL dans un langage donné. La seconde contribution de la thèse est un étude sur les mécanismes pour étendre la sémantique des moteurs de dérivation, offrant une approche basée sur des modèles à fin de personnaliser leurs sémantique opérationnelle. Dans la troisième contribution de la thèse, nous présentons une étude empirique à large échelle sur le langage Java en utilisant notre approche générative. La quatrième et dernière contribution de la thèse est une méthodologie pour intégrer notre travail dans une organisation qui cherche à mettre en œuvre les lignes de produit logiciels basées sur des modèles pour l'ingénierie des systèmes. / Systems Engineering is a complex and expensive activity in several kinds of companies, it imposes stakeholders to deal with massive pieces of software and their integration with several hardware components. To ease the development of such systems, engineers adopt a divide and conquer approach : each concern of the system is engineered separately, with several domain specific languages (DSL) and stakeholders. The current practice for making DSLs is to rely on the Model-driven Engineering (MDE. On the other hand, systems engineering companies also need to construct slightly different versions/variants of a same system; these variants share commonalities and variabilities that can be managed using a Software Product Line (SPL) approach. A promising approach is to ally MDE with SPL – Model-based SPLs (MSPL) – in a way that the products of the SPL are expressed as models conforming to a metamodel and well-formedness rules. The Common Variability Language (CVL) has recently emerged as an effort to standardize and promote MSPLs. Engineering an MSPL is extremely complex to an engineer: the number of possible products is exponential; the derived product models have to conform to numerous well- formedness and business rules; and the realization model that connects a variability model and a set of design models can be very expressive specially in the case of CVL. Managing variability models and design models is a non-trivial activity. Connecting both parts and therefore managing all the models is a daunting and error-prone task. Added to these challenges, we have the multiple different modeling languages of systems engineering. Each time a new modeling language is used for developing an MSPL, the realization layer should be revised accordingly. The objective of this thesis is to assist the engineering of MSPLs in the systems engineering field, considering the need to support it as earlier as possible and without compromising the existing development process. To achieve this, we provide a systematic and automated process, based on CVL, to randomly search the space of MSPLs for a given language, generating counterexamples that can server as antipatterns. We then provide ways to specialize CVL’s realization layer (and derivation engine) based on the knowledge acquired from the counterexamples. We validate our approach with four modeling languages, being one acquired from industry; the approach generates counterexamples efficiently, and we could make initial progress to increase the safety of the MSPL mechanisms for those languages, by implementing antipattern detection rules. Besides, we also analyse big Java programs, assessing the adequacy of CVL to deal with complex languages; it is also a first step to assess qualitatively the counterexamples. Finally, we provide a methodology to define the processes and roles to leverage MSPL engineering in an organization.
398

Conception et évaluation d'Evasion, un logiciel éducatif d'entraînement des capacités d'attention visuelle impliquées en lecture / Design and evaluation of Evasion, an educational software to train the visual attention skills involved in reading

Meyer, Svetlana 22 January 2019 (has links)
Apprendre à lire est une activité complexe qui s'appuie sur différentes capacités cognitives, dont l'attention visuelle. Absente des programmes scolaires, le rôle de l'attention visuelle pour l'apprentissage de la lecture est pourtant largement documenté dans la littérature scientifique. Dans cette thèse, nous avons donc conçu un logiciel éducatif original d'entraînement de l'attention visuelle, Evasion, et évalué l'impact de son utilisation au sein de la classe.Pour ce faire, une revue de littérature a été menée pour identifier plus précisément quelles sont les dimensions de l'attention visuelle impliquées en lecture et comment les entraîner au mieux. Un cadre conceptuel théorique que nous avons développé permet d'interpréter ces éléments et suggère que les dimensions à cibler sont la quantité totale d'attention visuelle et sa dispersion dans l'espace. Ces deux dimensions semblent particulièrement bien entraînées par les jeux vidéo d'action, dont l'effet sur l'attention visuelle a été lui aussi expliqué dans le cadre de notre modèle.Pour les entraîner au mieux au sein d'Evasion, nous avons mêlé les tâches, dont l'effet sur ces dimensions a été validé, avec les propriétés des jeux vidéo d'action. Notre logiciel prend la forme de quatre mini-jeux, dont les propriétés s'ajustent au niveau de l'élève grâce à un algorithme d'adaptation de la difficulté développé par notre équipe. Evasion devait être utilisé en classe pendant 10~h au total, à raison de 3 sessions hebdomadaires de 20 minutes. L'expérimentation a porté sur 730 élèves de CP répartis en deux groupes d’entraînement. Les deux groupes étaient appariés quant à leurs compétences cognitives avant entraînement. En post-entraînement, les performances du groupe Evasion ont été comparées à celles du groupe contrôle, qui recevait un entraînement de la compréhension orale en anglais.Les résultats de cette expérience écologique montrent que les capacités d'attention visuelle et de lecture ne progressent pas davantage suite à l'utilisation d'Evasion que suite à l'utilisation d'un entraînement contrôle. Des analyses supplémentaires révèlent que le protocole a été peu suivi en classe, et que le temps d'entraînement est un facteur expliquant l'amplitude de l'amélioration des dimensions attentionnelles ciblées. Par ailleurs, il semblerait que les entraînements proposés aient été trop faciles. Ces résultats ouvrent de nouvelles perspectives sur les améliorations à apporter à notre logiciel et, plus généralement, sur les conditions de mise en oeuvre d'expériences écologiques dont les besoins sont spécifiques. / Learning to read is a complex activity that relies on different cognitive abilities, including visual attention. The role of visual attention in learning to read is widely documented in the scientific literature but absent from school curricula. In this thesis work, we designed an original educational software, called Evasion, for visual attention training in the classroom and we evaluated its impact on beginning readers' performance.A literature review was first conducted to identify the dimensions of visual attention that are involved in reading and how best to train them. We then propose a conceptual framework which allows us to interpret these results. We conclude that the dimensions to be targeted are the total amount of visual attention resources and attention spatial dispersion. These two facets of attention seem to be particularly well driven by action video games, whose effect on visual attention has also been characterized in our model.To train visual attention resources and dispersion as well as possible within Evasion, we have mixed the tasks known to improve these attentional dimensions with the properties of action video games. Our software includes four training mini-games and an adaptive difficulty algorithm developed by our team to adjust the game properties online to the child needs. The training program was provided in classroom over a period of ten weeks at a rate of three 20-minute sessions a week. It was proposed to a large sample of 730 beggining readers for reading difficulty prevention.The impact of Evasion was assessed before and after training as compared to a control group that used an intervention program conceived to improve oral comprehension in English. The results of this ecological experiment show that visual attention and reading did not improve more following Evasion than control training. Additional analyses revealed that training time was poorly respected while this factor relates to the magnitude of improvement in the attentional dimensions we targeted. The analyses further suggest a problem in the level of difficulty of the mini-games. Overall, our work opens up new perspectives on the improvements to be made to our software and, above all, on the conditions for successful implementation of ecological experiments.
399

développement d'outils d'optimisation pour freefem++ / Optimization tools development for FreeFemm++

Auliac, Sylvain 11 March 2014 (has links)
Cette thèse est consacrée au développement d'outils pour FreeFem++ destinés à faciliter la résolution des problèmes d'optimisation. Ce travail se compose de deux parties principales. La première consiste en la programmation, la validation et l'exploitation d'interfaces permettant l¿utilisation de routines d'optimisation directement dans le logiciel. La seconde comprend le développement de solutions pour le calcul automatisé des dérivées, toujours au sein de FreeFem++, en exploitant les paradigmes de la différentiation automatique. FreeFem++ est un environnement de développement intégré dédié à la résolution numérique d¿équations aux dérivées partielles en dimension 2 et 3. Son langage ergonomique permet à l'utilisateur d'exploiter aisément ses nombreux outils de création de maillages, de résolution de systèmes linéaires, ainsi que ses bibliothèques d'éléments finis, etc... Nous introduisons les nouvelles routines d'optimisation désormais accessibles depuis la bibliothèque de modules du logiciel. En particulier, le logiciel libre d'optimisation sous contraintes IPOPT, qui implémente une méthode de points intérieurs très robuste pour l¿optimisation en grande dimension. Nous appliquons avec succès ces algorithmes à une série de problèmes concrets parmi lesquels la résolution numérique de problèmes de sur- faces minimales, la simulation de condensats de Bose-Einstein, ou encore un problème de positionnement inverse en mécanique des fluides. Une version prototypique de FreeFem++ contenant les outils de différentiation automatique est présentée, après avoir exposé les principes fondamentaux de cette méthode de calcul de dérivées pour le calcul scientifique. / The goal of this Ph.D. thesis was the development of tools for the FreeFem++ software in order to make optimization problems easier to deal with. This has been accomplished following two main directions. Firstly, a set of optimization softwares is interfaced and validated before making use of them. Then, we analyse the field of automatic differentiation as a potential mean of simplification for the users. FreeFem++ is an integrated development environment dedicated to numerically solving partial differential equations. Its high level language allows the user for a comfortable experience while using its mesh generation capabilities, linear system solvers, as well as finite elements capabilities. We describe the newly available optimization features, with a certain emphasis on the open source software IPOPT, which implements a state of the art interior points method for large scale optimization. These optimization tools are then used in a set of quite successful applications, among which minimal surfaces, Bose-Einstein condensate simulation, and an inverse positioning problem in the context of computational fluid dynamics. Finally, after an introduction to the techniques of algorithmic differentiation, we also present an unstable prototype version of FreeFem++ including automatic differentiation features.
400

Développements algorithmiques pour l'analyse et la prédiction de la structure des protéines / Novel computational developments for protein structure analysis and prediction

Pages, Guillaume 12 September 2019 (has links)
Les protéines sont omniprésentes dans les processus biologiques. Identifier leurs fonctions aide à comprendre et éventuellement à contrôler ces processus. Cependant, si la détermination de la séquence protéique est désormais une procédure de routine, il est souvent difficile d'utiliser cette information pour extraire des connaissances fonctionnelles pertinentes sur le système étudié. En effet, la fonction d'une protéine repose sur ses propriétés chimiques et mécaniques, lesquelles sont définies par sa structure. Ainsi, la prédiction, la compréhension et l'analyse de la structure des protéines sont parmi les principaux défis de la biologie moléculaire.La prédiction et l'analyse des repliements de protéines est le sujet central de cette thèse. Cependant, de nombreuses protéines sont organisées selon des assemblages qui sont symétriques dans la plupart des cas et certaines protéines contiennent des répétitions internes. La conception d'une structure avec des répétitions ou d'un assemblage protéique symétrique est souvent le moyen le plus simple pour l'évolution d'atteindre une certaine fonction. Ceci qui nous a poussé à développer des méthodes spécialement conçues pour les assemblages protéiques symétriques et les protéines avec répétitions internes. Une autre motivation derrière cette thèse était d'explorer et de faire progresser le domaine émergent de l'apprentissage profond appliqué aux données atomistiques tridimensionnelle (3D).Cette thèse s'articule autour de deux parties. Dans la première partie, nous proposons des algorithmes pour analyser la structures des assemblages symétriques de protéines. Nous commençons par définir une mesure de symétrie basée sur la distance euclidienne 3D et décrivons un algorithme permettant de calculer efficacement cette mesure et de déterminer les axes de symétrie des assemblages protéiques. Cet algorithme est capable de traiter tous les groupes ponctuels de symétrie, à savoir les symétries cycliques, dièdrales, tétraédriques, octaédriques et icosaédriques, grâce à une heuristique robuste qui perçoit la correspondance entre sous-unités asymétriques. Nous étendons ensuite les limites du problème et proposons une méthode applicable à des cartes de densité 3D. Nous abordons ce problème à l'aide d'un réseau neuronal profond (DNN), et nous proposons une méthode qui prédit l'ordre de symétrie l'axe de symétrie 3D.Ensuite, nous proposons une architecture DNN pour évaluer la qualité de modèles 3D de repliements de protéines. Nous avons entrainé le DNN en utilisant en entrée la géométrie locale autour de chaque résidu dans un modèle de protéine représenté par une carte de densité, et avons prédit les CAD-scores de ces résidus. Le DNN a été créé pour être invariant par rapport à l'orientation du modèle d'entrée. Nous avons également conçu certaines parties du DNN pour reconnaître automatiquement les propriétés des atomes et sélectionner des descripteurs pertinents. Enfin, nous analysons les descripteurs appris par le DNN. Nous montrons que notre architecture apprend effectivement des propriétés des atomes, des acides aminés et des structures moléculaires de niveau supérieur. Certaines propriétés sont déjà bien étudiées comme les éléments chimiques, les charges partielles atomiques, les propriétés des acides aminés, la structure secondaire des protéines et l'exposition au solvant. Nous démontrons également que notre réseau apprend de nouvelles caractéristiques structurelles.Cette étude présente de nouveaux outils pour la biologie structurale. Certains sont déjà utilisés dans la communauté, par les évaluateurs de CASP par example. Elle démontre également la puissance de l'apprentissage profond pour la représentation de la structure des protéines et son applicabilité aux problèmes des données 3D. / Proteins are ubiquitous for virtually all biological processes. Identifying their role helps to understand and potentially control these processes. However, even though protein sequence determination is now a routine procedure, it is often very difficult to use this information to extract relevant functional knowledge about system under study. Indeed, the function of a protein relies on a combination of its chemical and mechanical properties, which are defined by its structure. Thus, understanding, analysis and prediction of protein structure are the key challenges in molecular biology.Prediction and analysis of individual protein folds is the central topic of this thesis. However, many proteins are organized in higher-level assemblies, which are symmetric in most of the cases, and also some proteins contain internal repetitions.In many cases, designing a fold with repetitions or designing a symmetric protein assembly is the simplest way for evolution to achieve a specific function. This is because the number of combinatorial possibilities in the interactions of designed folds reduces exponentially in the symmetric cases. This motivated us to develop specific methods for symmetric protein assemblies and also for individual proteins with internal repeats. Another motivation behind this thesis was to explore and advance the emerging deep neural network field in application to atomistic 3-dimensional (3D) data.This thesis can be logically split into two parts. In the first part, we propose algorithms to analyse structures of protein assemblies, and more specifically putative structural symmetries.We start with a definition of a symmetry measure based on 3D Euclidean distance, and describe an algorithm to efficiently compute this measure, and to determine the axes of symmetry of protein assemblies. This algorithm is able to deal with all point groups, which include cyclic, dihedral, tetrahedral, octahedral and icosahedral symmetries, thanks to a robust heuristic that perceives correspondence between asymmetric subunits. We then extend the boundaries of the problem, and propose a method applicable to the atomistic structures without atom correspondence, internal symmetries, and repetitions in raw density maps. We tackle this problem using a deep neural network (DNN), and we propose a method that predicts the symmetry order and a 3D symmetry axis.Then, we extend the DNN architecture to recognise folding quality of 3D protein models. We trained the DNN using as input the local geometry around each residue in a protein model represented as a density map, and we predicted the CAD-scores of these residues. The DNN was specifically conceived to be invariant with respect to the orientation of the input model. We also designed some parts of the network to automatically recognise atom properties and robustly select features. Finally, we provide an analysis of the features learned by the DNN. We show that our architecture correctly learns atomic, amino acid, and also higher-level molecular descriptors. Some of them are rather complex, but well understood from the biophysical point of view. These include atom partial charges, atom chemical elements, properties of amino acids, protein secondary structure and atom solvent exposure. We also demonstrate that our network learns novel structural features.This study introduces novel tools for structural biology. Some of them are already used in the community, for example, by the PDBe database and CASP assessors. It also demonstrates the power of deep learning in the representation of protein structure and shows applicability of DNNs to computational tasks that involve 3D data.

Page generated in 0.0438 seconds