• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 876
  • 321
  • 321
  • 321
  • 321
  • 321
  • 320
  • 284
  • 32
  • 6
  • 3
  • 3
  • 2
  • 1
  • 1
  • Tagged with
  • 1715
  • 1715
  • 1116
  • 1110
  • 664
  • 664
  • 664
  • 406
  • 398
  • 372
  • 253
  • 253
  • 214
  • 200
  • 196
  • 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.
251

Aspect-oriented modelling of software framework interfaces

Dafinov, Emil January 2014 (has links)
Object-oriented software frameworks are a prominent way of software reuse, since they allow for increased developer productivity. However, frameworks often present the user with a steep learning curve before they can be leveraged efficiently. This issue is caused by the fact that frameworks offer rich feature sets, yet their documentation is often incomplete and informal. In the following thesis we propose a method that relies on feature diagrams in order to describe the features offered by a given framework and the relationships between them. The Reusable Aspect Models method is used in order to formally describe the individual features' interfaces. The interfaces' structural and behavioral properties are described using UML class diagrams and UML sequence diagrams, respectively. A complete model of the subset of a given framework's interface that is relevant to a particular client application can be created by composing the models of the framework features used by that application. The individual feature models serve as a basis for generating tutorials showcasing the framework's capabilities, or even portions of the client application code necessary to interface with the framework. In order to test this method, a case study focusing on the Spring framework was conducted. / Les frameworks orientés objet sont un moyen important de la réutilisation de code, car ils permettent d'améliorer la productivité des développeurs. Cependant, les frameworks présentent souvent à l'utilisateur une courbe d'apprentissage abrupte avant qu'ils ne puissent être exploitées efficacement. La cause de ce problème est le fait que les frameworks offrent de nombreuses fonctionnalités, mais leur documentation est souvent incomplète et informelle. Dans la thèse suivante, nous proposons une méthode qui s'appuie sur les feature models afin de décrire les caractéristiques(ou features) offertes par un framework et les relations qu'ils existent entre eux. La méthode Reusable Aspect Models est utilisé pour décrire formellement les interfaces des caractéristiques individuelles. Les propriétés structurelles des interfaces sont définies à l'aide des diagrammes de classes tandis que les propriétés comportementales des interfaces sont définies à l'aide des diagrammes de séquence. La méthode Reusable Aspect Models permette aussi de composer les modèles individuels afin de créer un modèle de la partie de l'interface du framework qui s'applique à l'application cliente. Les modèles permettent de générer des exemples pour l'utilisation du framework. Afin de tester nôtre méthode, une étude de cas basée sur le framework Spring a été réalisée.
252

Integrating protocol modelling into an aspect-oriented multi -view modelling approach

Ayed, Abir January 2014 (has links)
The complexity of modern software makes its development, evolution and maintenance difficult. Object-Oriented software development provides means for reducing the complexity by decomposing software into modules with well-defined responsibilities. Unfortunately, the Object-Oriented paradigm reaches its limitations when it comes to modularizing crosscutting concerns. Aspect-Oriented Programming (AOP) addresses the separation of crosscutting concerns from the business logic on the source code level. Aspect-Oriented Modelling (AOM) allows to do this on a higher level of abstraction where crosscutting concerns are addressed during earlier phases of the software development process. Aspect-oriented modelling approaches advocate to model concerns separately,and then to use model composition to create complex models in which these concerns are intertwined. In such a context, specifying the composition of the models is a non-trivial task, in particular when it comes to specifying the composition of behavioural models. Reusable Aspect Models (RAM) is an aspect-oriented multi-view modelling approach that allows detailed design of a software system. Notations similar to UML class, sequence and state diagrams are used to describe the structure and behaviour of a reusable aspect. Previously a meta-model and a weaver was defined for the structural view (class diagram) and the message views (similar to Sequence Diagrams) to be used in a tool for RAM. However, the state views introduced in RAM were never formally defined. In this thesis we describe how we added the definition of a behavioural view to RAM - the state view - that specifies the allowed invocation protocol of class instances. We discuss why Protocol Modelling, a compositional modelling approach based on state diagrams, is an ideal notation to specify such a state view, and show how we added support for protocol modelling to the RAM metamodel. We present an algorithm to weave state views, and describe how this algorithm is integrated with the weaving algorithms for the structural and message views. We outline an implementation of the weaver in the context of the Eclipse Modelling Framework, and explain how we extended TouchRAM,the multitouch-enabled tool for the RAM approach, with support for creation and weaving of state views. / La complexité des logiciels rend leurs développement, évolution et entretien difficile. Le développement orienté-objet des logiciels offre la possibilité de réduire la complexité en décomposant le logiciel en modules avec des responsabilités bien définies. Malheureusement, le paradigme orienté-objet atteint ses limites quand il est question de modélisation des préoccupations transversales (crosscutting concerns). La Programmation Orientée-Aspect (AOP) adresse la séparation de préoccupations transversales de la logique d'affaire au niveau du code source. La Modélisation Orientée-Aspect (AOM) permet de réaliser cet objectif avec un niveau d'abstraction élevé en adressant ces préoccupations dès le début du processus de développement logiciel. Les approches de modélisation orientée-aspect encourage à modéliser ces fonctionnalités séparément, et à utiliser dans une deuxième étape des techniques de composition des modèles pour créer un modèle complexe dans lequel ces fonctionnalités seront entre mêlées. Dans ce contexte, la tâche de spécifier la composition des modèles n'est pas triviale, surtout quand il s'agit de spécifications comportementales. Reusable Aspect Models (RAM) est une approche multi-vue de modélisation aspect-orientée qui offre une conception détaillée du système logiciel. La structure et le comportement d'un aspect réutilisable sont décrit avec des notations similaires à celles des diagrammes de classe, séquence et état de UML. Antérieurement, un Méta-Modèle et un "tisseur" (ou "Weaver" en Anglais), cadun composant permettant de composer des aspects ensembles, ont été définis pour la vue structurelle (diagramme de classe) et les vues des messages (similaire au diagramme de séquence) pour les utiliser dans l'outil conçu pour RAM. Cependant, les vues d'états introduites théoriquement dans RAM en 2009 n'ont jamais été définies formellement. Dans cette thèse on décrit comment la définition d'une vue comportementale a été ajoutée à RAM - la vue d'état - qui spécifie le protocole d'invocation permise pour les instances d'une classe. Nous présentons pourquoi la Modélisation des Protocoles (Protocol Modelling (PM)), une approche de modélisation de composition basée sur les diagrammes d'état, est une notation idéale pour spécifier une telle vue, et nous décrivons comment nous avons procédé à l'ajout du support de PM au méta-modèle existant de RAM. Un algorithme pour le tissage des vues d'état est détaillé, et un processus générale de fusion, qui inclut tous les vues, a été défini. Le tisseur pour les vues d'état a été développé dans le contexte du Eclipse Modelling Framework (EMF). Finalement, l'outil tactile pour RAM, TouchRAM, a été étendu pour offrir la création et la fusion des vues d'état.
253

Optimizing software-hardware interplay in efficient virtual machines

Prokopski, Grzegorz January 2009 (has links)
To achieve the best performance, most computer languages are compiled, either ahead of time and statically, or dynamically during runtime by means of a Just-in-Time (JIT) compiler. Optimizing compilers are complex, however, and for many languages such as Ruby, Python, PHP, etc., an interpreter-based Virtual Machine (VM) offers a more flexible and portable implementation method, and moreover represents an acceptable trade-off between runtime performance and development costs. VM performance is typically maximized by use of the basic direct threading interpretation technique which, unfortunately, interacts poorly with modern branch predictors. More advanced techniques, like code-copying have been proposed [RS96,PR98,EG03c,Gag02] but have remained practically infeasible due to important safety concerns. On this basis we developed two cost-efficient, well-performing solutions. First, we designed a C/C++ language extension that allows programmers to express the need for the special safety guarantees of code-copying. Our low-maintenance approach is designed as an extension to a highly-optimizing, industry-standard GNU C Compiler (GCC), and we apply it to Java, OCaml, and Ruby interpreters. We tested the performance of these VMs on several architectures, gathering extensive analysis data for both software and hardware performance. Significant improvement is possible, 2.81 times average speedup for OCaml and 1.44 for Java on Intel 32-bit, but varies by VM and platform. We provide detailed analysis and design guidelines for helping developers predict and evaluate the benefit provided by safe code-copying. In our second approach we focused on alleviating the limited scope of optimizations in code-copying with an ahead-of-time-based (AOT) approach. A source-based approach to grouping bytecode instructions together allows for more extensive cross-bytecode optimizations, and so we develop a caching compilation server / Pour avoir une meilleure performance, la plupart des langages de programmation sont compilés, soit avant leur exécution et statiquement, ou dynamiquement, pendant leur utilisation, à l'aide d'un compilateur "Just-in-Time" (JIT). Cependant, les compilateurs avec desfonctionnalités d'optimisation sont complexes, et plusieurs langages, tel que Ruby, Python, PHP, profitent mieux d'une solution flexible et portable tel qu'une machine virtuelle (MV) interprétée. Cette solution offre un échange acceptable entre la performance d'exécution et les coûts de développement. La performance de la MV est typiquement maximisée par l'utilisation de la technique d'interprétation "direct threading", qui, malheureusement, interagit mal avec les prédicteurs de branches moderne. Des techniques plus avancées, tel que "code-copying" ont été proposées [RS96,PR98,EG03c,Gag02], mais ne sont pas applicable en pratique à cause de préoccupation de sécurité. C'est sur les bases suivantes que nous avons développé deux solutions coût-efficace qui offrent une bonne performance. Premièrement, nous avons développé une extension au langage C qui permet aux programmeurs d'exprimer le besoin pour des garanties spéciales pour la technique de "code-copying". Notre technique, qui requiert très peu de maintenance, est développée comme une extension à un compilateur qui a non seulement des fonctionnalités d'optimisation très élaborées mais qui est aussi un standard d'industrie, le "GNU C Compiler" (GCC). Nous pouvons alors appliquer cette technique sur les interpréteur Java, OCaml et Ruby. Nous avons évalué la performance de ces MV sur plusieurs architectures, en collectionnant de l'information pour analyser la performance logiciel et matériel. La marge d'amélioration possible est très grande, une accélération d'ordre 2.81 pour OCaml et 1.44 pour Java sur l'architecture Intel 32-bit. Il est importan
254

Commutative composition - a conservative approach to aspect weaving

Gélineau, Samuel January 2010 (has links)
Aspect-oriented programming is very good at separating concerns, but a little less at combining them back together; some aspects are simply incompatible, causing unexpected behaviours when used together. To prevent such conflicts, a conservative approach is to construct sets of aspects which are provably guaranteed to be compatible with one another. Surprisingly, to establish that two aspects are compatible, it is enough to show that they yield the same result regardless of the order in which they are woven. This principle can be used to construct, extend and transform sets of useful and compatible aspects. / La programmation orientée aspect a atteint son objectif, la séparation des considérations. Une fois séparées, par contre, ces considérations ne se remboîtent pas toujours parfaitement; certaines, tout simplement incompatibles, se comportent de manière surprenante lorsqu'elles sont utilisées ensemble. Afin de prévenir ces conflits, une approche conservatrice consiste à définir des ensembles d'aspects pour lesquels nous avons la preuve qu'ils sont compatibles les uns avec les autres. Pour obtenir cette preuve, étonnament, il suffit de s'assurer que ces aspects produisent les mêmes effets, qu'ils soient tissés dans un ordre ou dans l'autre. Ce principe est à la base d'une série de preuves permettant de construire, d'étendre et de transformer des ensembles d'aspects à la fois utiles et compatibles.
255

Optimization techniques for distributed logic simulation

Xu, Qing January 2011 (has links)
Gate level simulation is a necessary step to verify the correctness of a circuitdesign before fabrication. It is a very time-consuming application, especially in lightof current circuit sizes. Since circuits are continually growing in size and complexity,there is a need for more efficient simulation techniques to keep the circuit verificationtime acceptably small. The use of parallel or distributed simulation is such a technique.When executed on a network of workstations, distributed simulation is alsoa very cost-effective technique. This research focuses on optimization techniques forTime Warp based gate-level logic simulations. The techniques which are described inthis thesis are oriented towards distributed platforms. The first major contributionof this thesis was the creation of an object oriented distributed simulator, XTW. Ituses an optimistic synchronization algorithm and incorporates a number of knownoptimization techniques targeting different aspects of distributed logic simulation.XEQ, an O(1) event scheduling algorithm for this simulator was developed for usein XTW. XEQ enabled us to execute gate level simulations up to 9.4 times fasterthan the same simulator using a skip-list (O(lg n)) event queue. rb-messagea mechanism which reduces the cost of rollback in Time Warp was also developedfor use in XTW. Our experiments revealed that the rb-message mechanism reducedthe number of anti-messages sent in a Time Warp based logic simulation by 76%on average. Moreover, based on the observations that (1)not all circuits should besimulated in parallel and (2) different circuits achieve their best parallel simulationperformance with a different number of compute nodes, an algorithm that uses theK-NN machine learning algorithm was devised to determine the most effective softwareand hardware combination for a logic simulation. After an extensive trainingregime, it was shown to make a correct prediction 99% of the time on whether touse a parallel or sequential simulator. The predicted number of nodes to use on aparallel platform was shown to produce an average execution time which was notmore than 12% of the smallest execution time. The configuration which resulted inthe minimal execution time was picked 61% of the time. A final contribution of thisthesis is an effort to link together commercial single processor simulators making useof Verilog PLI. / La simulation "gate-level" est une tape ncessaire pour vrifier la conformit dela conception d'un circuit avant sa fabrication. C'est un programme qui prendbeaucoup de temps, compte tenu particulirement de la taille actuelle des circuits.Ceux-ci ne cessant de se dvelopper en taille et en complexit, il y a un rel besoin detechniques de simulation plus efficaces afin de maintenir la dure de vrification ducircuit raisonnablement courte. Une de ces techniques consiste utiliser la simulationparallle ou distribue. Quand excute sur un rseau de postes de travail, la simulationdistribue se rvle galement tre une technique trs rentable. Cette recherche se concentresur l'optimisation des techniques de simulations "gate-level" logiques bases surTime Warp. Les techniques qui sont dcrites dans cet expos sont orientes vers lesplateformes distribues. La premire contribution majeure de cet expos a t la crationd'un simulateur distribu orient sur l'objet, XTW. Il utilise un algorithme de synchronisationoptimiste et incorpore un certain nombre de techniques d'optimisationconnues visant diffrents aspects de la simulation distribue logique. XEQ, un algorithmeprogrammateur d'vnements O(1) pour ce simulateur a t dvelopp pour treutilis dans XTW. XEQ nous permet d'excuter des simulations "gate-level" jusqu'9,4 fois plus rapides qu'avec le mme simulateur utilisant une suite d'vnement en"skip-list" (O(lg n)). "rb-message" – un mcanisme qui diminue le co?t de rductiondans Time Warp a galement t mis au point pour tre utilis dans XTW. Nos essaisont rvl que le mcanisme de "rb-message" permettait de diminuer le nombre des antimessagesenvoys au cours d'une simulation logique base sur Time Warp de 76 % enmoyenne. Il a t en outre con?u, en se basant sur les observations que (1) certainscircuits ne devraient pas tre simuls en parallle et (2) que diffrents circuits atteignentleur meilleure performance de simulation parallle avec un nombre diffrent de noeudsde calculs, un algorithme utilisant l'algorithme d'apprentissage de la machine K-NNafin de dterminer quelle tait l'association de logiciel et de matriel la plus efficacedans le cadre d'une simulation logique. l'issue d'un entra?nement approfondi, ilest apparu qu'il pouvait faire un pronostic juste 99 % tablissant quand utiliser unsimulateur parallle ou squentiel. Le nombre annonc de noeuds utiliser sur une plateformeparallle s'est avr permettre une dure d'excution moyenne gale 12 % de la pluscourte dure d'excution. La configuration ayant abouti la dure d'excution minimalea t reprise dans 61 % des cas. Dernire contribution apporte par cet expos, relier lessimulateurs commerciaux processeur unique utilisant Verilog PLI.
256

Dyna learning with deep belief networks

Faulkner, Ryan January 2011 (has links)
The objective of reinforcement learning is to find "good" actions in an environment where feedback is provided through a numerical reward, and the current state (i.e. sensory input) is assumed to be available at each time step. The notion of "good" is defined as maximizing the expected cumulative returns over time. Sometimes it is useful to construct models of the environment to aid in solving the problem. We investigate Dyna-style reinforcement learning, a powerful approach for problems where not much real data is available. The main idea is to supplement real trajectories with simulated ones sampled from a learned model of the environment. However, in large state spaces, the problem of learning a good generative model of the environment has been open so far. We propose to use deep belief networks to learn an environment model. Deep belief networks (Hinton, 2006) are generative models that have been effective in learning the time dependency relationships among complex data. It has been shown that such models can be learned in a reasonable amount of time when they are built using energy models. We present our algorithm for using deep belief networks as a generative model for simulating the environment within the Dyna architecture, along with very promising empirical results. / L'objectif de l'apprentissage par renforcement est de choisir de bonnes actions dansun environnement où les informations sont fournies par une récompense numérique, etl'état actuel (données sensorielles) est supposé être disponible à chaque pas de temps. Lanotion de "correct" est définie comme étant la maximisation des rendements attendus cumulatifsdans le temps. Il est parfois utile de construire des modèles de l'environnementpour aider à résoudre le problème. Nous étudions l'apprentissage par renforcement destyleDyna, une approche performante dans les situations où les données réelles disponiblesne sont pas nombreuses. L'idée principale est de compléter les trajectoires réelles aveccelles simulées échantillonnées partir d'un modèle appri de l'environnement. Toutefois,dans les domaines à plusieurs états, le problème de l'apprentissage d'un bon modèlegénératif de l'environnement est jusqu'à présent resté ouvert. Nous proposons d'utiliserles réseaux profonds de croyance pour apprendre un modèle de l'environnement. Lesréseaux de croyance profonds (Hinton, 2006) sont des modèles génératifs qui sont efficaces pourl'apprentissage des relations de dépendance temporelle parmi des données complexes. Ila été démontré que de tels modèles peuvent être appris dans un laps de temps raisonnablequand ils sont construits en utilisant des modèles de l'énergie. Nous présentons notre algorithmepour l'utilisation des réseaux de croyance profonds en tant que modèle génératifpour simuler l'environnement dans l'architecture Dyna, ainsi que des résultats empiriquesprometteurs.
257

Backward pertubation analysis of least squares problems

Titley-Péloquin, David January 2010 (has links)
This thesis is concerned with backward perturbation analyses of the linear least squares (LS) and related problems. Two theoretical measures are commonly used for assessing the backward errors that arise in the approximate solution of such problems. These are called the normwise relative backward error (NRBE) and the minimal backward error (MBE). An important new relationship between these two measures is presented, which shows that the two are essentially equivalent. New upper bounds on the NRBE and MBE for the LS problem are given and related to known bounds and estimates. One important use of backward perturbation analysis is to design stopping criteria for iterative methods. In this thesis, minimum-residual iterative methods for solving LS problems are studied. Unexpected convergence behaviour in these methods is explained and applied to show that commonly used stopping criteria can in some situations be much too conservative. More reliable stopping criteria are then proposed, along with an efficient implementation in the iterative algorithm LSQR. In many applications the data in the LS problem come from a statistical linear model in which the noise follows a multivariate normal distribution whose mean is zero and whose covariance matrix is the scaled identity matrix. A description is given of typical convergence of the error that arises in minimum-residual iterative methods when the data come from such a linear model. Stopping criteria that use the information from the linear model are then proposed and compared to others that appear in the literature. Finally, some of these ideas are extended to the scaled total least squares problem. / Nous effectuons une analyse de l'erreur rétrograde des problèmes de moindres carrés. Nous analysons deux méthodes habituellement utilisées pour mesurer l'erreur rétrograde et démontrons que celles-ci sont en fait équivalentes. Nous présentons de nouvelles estimations de l'erreur rétrograde des problèmes de moindres carrés, et nous les comparons aux estimations connues. L'un des usages de ce type d'analyse consiste à établir des critères d'arrêt pour les méthodes itératives. Nous expliquons des phénomènes de convergence inattendus que nous avons observés dans les méthodes itératives de type résidu minimal. Nous démontrons ensuite que les critères d'arrêt habituellement utilisés avec ces méthodes peuvent être trop prudents dans certaines circonstances. Nous proposons donc de nouveaux critères d'arrêt plus fiables, et présentons une implémentation efficace de ceux-ci dans l'algorithme LSQR. La méthode des moindres carrés est souvent utilisée en statistique lorsque les données proviennent d'un modèle linéaire et que le bruit est distribué selon une loi normale dont l'espérance est zéro et la variance est la matrice identité proportionnée. Nous décrivons la convergence de l'erreur qui résulte de ce type de données et proposons des critères d'arrêt adaptés à cette situation. Enfin, nous appliquons une partie de cette analyse aux problèmes de moindres carrés proportionnés.
258

Impact of wind energy on the operation of power systems

Restrepo Hernandez, Jose Fernando January 2011 (has links)
This dissertation identifies and proposes mitigating solutions for some of the adverse economical and technical impacts of integrating wind generation into existing power systems. The main focus is on the short-term operation looking seconds to hours ahead, and on day-ahead scheduling looking 12 to 36 hours ahead. First a thorough review illustrates how wind power uncertainty affects the operation of power systems composed of conventional fossil, nuclear and hydro power sources. Then, the impact of wind power variability is studied in the short-term operations (with a time frame of less than an hour) by estimating: 1) The probability distribution of power systems frequency deviations caused by the residual demand variability; 2) The additional operational cost of following the intra-hour wind power variability through existing centralized Automatic Generation Control mechanisms. The main innovative parts of this thesis develop a hybrid deterministic/probabilistic Unit Commitment which models the day-ahead prediction of wind power and demand as random quantities. This formulation guarantees that the scheduled reserve and generation levels meet the demand with a probability above a minimum threshold, while satisfying all conventional generation and transmission constraints. The new hybrid UC schedules less reserve than the conventional deterministic method while keeping its solution less computationally intensive than a formulation based on stochastic programming. The case studies illustrate the effects of integrating wind generation in power systems dominated by nuclear and fossil fuel generation. The evolution of long-term economical and operational quantities such as costs, energy incremental costs, $\mrm{CO_2}$ emissions, reserve levels, and wind curtailment are estimated for different levels of installed wind power by simulating the operation of a realistic power system over one year. / Cette thèse identifie des solutions atténuant certaines des difficultés technico-économiques relatives à l'intégration de production éolienne dans les réseaux électriques existants. L'emphase est mise sur l'exploitation court-terme - de l'ordre des secondes aux heures - et la planification de l'opération des unités de production 12 à 36 heures à l'avance. D'abord une revue littéraire détaillée illustre comment la puissance éolienne affecte l'exploitation des réseaux électriques où sont présentes des sources de production fossiles, nucléaires et hydro-électriques. Ensuite, nous étudions l'impact de la variabilité de la puissance éolienne sur l'exploitation court terme - horizon inferieur à 1 heure – en évaluant: 1) La distribution de probabilités des déviations de fréquence des réseaux électriques causées par la variabilité résiduelle de la demande; 2) Le coût additionnel d'exploitation par des mécanismes de Contrôle Automatique de Production suivant une variabilité dans l'heure de puissance éolienne. Le principal aspect novateur de cette thèse est le développement d'un méthode de planification d'opération des unités de production hybride déterministe/probabiliste modélisant la prévision un jour à l'avance de la puissance éolienne et de la demande en tant que quantités aléatoires. Cette formulation garantie que les niveaux de réserve et de production planifiés rencontrent la demande avec une probabilité au-delà d'un seuil, tout en satisfaisant les contraintes conventionnelles de production et transport. Les études de cas illustrent les effets d'intégrer la production éolienne dans des réseaux électriques dominés par la production nucléaire et combustibles fossiles. L'évolution long-terme des quantités économiques et d'exploitation, comme les coûts de production, les coûts incrémentaux de l'énergie, les émissions de CO2, les niveaux de réserve et le déversement d'énergie éolienne sont estimés par simulation d'une année d'exploitation d'un réseau électrique réaliste pour différents niveaux de puissance éolienne installée.
259

A multi-paradigm foundation for model transformation language engineering

Syriani, Eugene January 2011 (has links)
Systems developed today are increasing in complexity. Model-Driven Engineering (MDE) attempts to solve the issues related to complexity through the use of models to describe systems at different levels of abstraction. Multi-Paradigm Modelling (MPM) promotes modelling all parts of the system, at the most appropriate level(s) of abstraction, using the most appropriate formalism(s), to reduce accidental complexity. MPM principles state that transformations too should be modelled explicitly. Model transformations are at the very heart of MDE. Transformations allow one to execute, analyse, synthesize code, optimize, compose, synchronize, and evolve models. Despite a robust theoretical foundation, model transformation still suffers from scaling and correctness problems. The growing interest in model transformation has lead to a plethora of model transformation languages. They provide tremendous value for developers, but in all existing implementations, the transformation language is hard-coded. This thesis contributes to the engineering of model transformation languages at the foundation level, following MPM principles. It proposes a framework for designing transformation languages tailored to the problem to be solved. As a result, model transformation languages engineered in this framework maximally constrain the modeller to only use the constructs needed. The aim is to increase the modeller's productivity, by raising the level of abstraction at which transformations can be specified and by lowering the mismatch between model transformation languages and their application domain.After thoroughly analyzing the uses of model transformation and their supporting languages, we extract what is common to approaches and express model transformation at the level of their primitive building blocks. We introduce T-Core, a collection of transformation language primitives for model transformation. A Python implementation of T-Core is developed. It offers an API of primitive transformation operations that act on models represented as graphs. This opens the door for non-MDE developers to "properly" interact and manipulate models, making the link between the programming world and the modelling world. In the framework developed, model transformation languages are modelled explicitly. This supports developers in creating custom-built transformation languages. The approach semi-automatically generates model transformation languages adapted to the application domain. MoTif is another model transformation language engineered with this framework. Its syntax and semantics are completely modelled, as well as its execution engine. MoTif is the result of merging T-Core with DEVS, a discrete-event simulation formalism. It thus introduces the notion of time in model transformation. This allows one to easily model reactive systems and consequently optimize and calibrate them. Finally, the notion of exception handling in model transformation is explored to strengthen the robustness and dependability of the software built using this technology. / Les systèmes développés aujourd'hui sont de plus en plus complexes. Pour résoudre les problèmes liés à la complexité, l'Ingénierie Dirigée par les Modèles (IDM) utilise des modèles qui décrivent les systèmes à différents niveaux d'abstraction. La Modélisation à Paradigmes Multiples (MPM) renchérie cette approche en modélisant toutes les composantes du système, aux niveaux d'abstraction les plus appropriés, tout en utilisant les formalismes les plus adéquats, afin de réduire toute complexité accidentelle. Les principes MPM stipulent que les transformations doivent aussi être modélisées explicitement. Les transformations de modèles sont au coeur de l'IDM. Elles permettent d'exécuter, d'analyser, de générer le code, d'optimiser, de composer, de synchroniser et de faire évoluer les modèles. Bien que la transformation de modèles soit basée sur de solides théories, les problèmes de mise à l'échelle et de validité restent néanmoins encore à résoudre. Vu l'intérêt suscité par la transformation de modèles, on observe de nos jours une vaste sélection de langages de transformation de modèles. Bien qu'ils apportent une énorme plus-value au développeur, l'implémentation de ces langages de transformation demeure cependant codée en dur. Cette thèse contribue aux fondements de l'ingénierie de langages de transformation de modèles, tout en suivant les principes MPM. Elle propose un système qui permet la conception de langages de transformation adaptés au problème à résoudre. Ces langages de transformation restreignent au maximum le modélisateur à n'utiliser que les concepts nécessaires. Le but est d'accroître la productivité du modélisateur, en élevant le niveau d'abstraction auquel les transformations sont spécifiées, tout en réduisant l'inadéquation du langage de transformation de modèles avec son domaine d'application. Après avoir analysé les différents usages des transformations de modèles et de leurs langages, nous avons identifié et extrait la partie commune à toutes les approches. Ceci permet alors de définir les transformations de modèles à partir des concepts essentiels qui les composent. Nous présentons alors T-Core, une collection d'opérateurs primitifs pour la transformation de modèles. T-Core est implémentée en Python, offrant ainsi une API disponible aux opérations primitives de transformation de modèles qui agissent sur des modèles représentés sous forme de graphes. Ceci permet à des programmeurs de « proprement » interagir avec des modèles et de les manipuler, faisant ainsi le lien entre le monde de la programmation et celui de la modélisation. Le système établi dans cette thèse modélise de manière explicite les langages de transformation de modèles et permet alors de créer des langages de transformation personnalisés. L'approche génère semi-automatiquement des langages de transformation adaptés au domaine d'application. MoTif est un autre langage de transformation de modèles construit à partir de ce système. Sa syntaxe, sa sémantique et son moteur d'exécution sont entièrement modélisés. MoTif est le résultat de la fusion entre T-Core et DEVS, un formalisme de simulation à événements discrets. MoTif permet alors d'introduire la notion de temps dans les transformations de modèles, ce qui permet de facilement modéliser des systèmes réactifs et, par conséquent, les optimiser et les calibrer. Finalement, nous explorons la notion de gestion d'exception au sein des transformations de modèles, afin de renforcer la fiabilité des logiciels bâtis à l'aide de cette technologie.
260

State estimation for an underwater robot using visual and inertial cues

Shkurti, Florian January 2012 (has links)
This thesis addresses the problem of 3D position and orientation (pose) estimation using measurementsfrom a monocular camera and an inertial measurement unit (IMU). While the algorithmic formulation of the problem is generic enough to be applied to any intelligent agent that moves in 3D and possessesthe sensor modalities mentioned above, our implementation of the solution is particularly targeted to robots operating in underwater environments. The algorithmic approach used in this work is based on statistical estimators, and in particular the extended Kalman filter (EKF) formulation, which combines measurements from the camera and the IMU into a unique position and orientation estimate, relative to thestarting pose of the robot. Aside from estimating the relative 3D trajectory of the robot, the algorithm estimatesthe 3D structure of the environment. We present implementation trade-offs that affect estimation accuracy versus real-time operation of the system, and we also present an error analysis that describes how errors induced from any component of the system affect the remaining parts. To validate the approach we present extensive experimental results, both in simulation and in datasets of real-world underwater environments accompanied by ground truth, which confirm that this is a viable approach in terms of accuracy. / Cette thèse aborde le problème d'estimation de la position et de l'orientation 3D (pose) en utilisant des mesuresprovenant d'une caméra monoculaire et d'une unité de mesure inertielle (IMU). Tandis que la formulation algorithmique de ce problème est suffisamment générique pour être appliquée aux tous les agents intelligents qui se déplacent en 3D et possèdent les mêmes capteurs mentionnés ci-dessus,notre implémentation s'addresse en particulier des robots fonctionnant dans des environnements sous-marins. L'approche algorithmique utilisée dans ce thèse est basée sur des estimateurs statistiqueset en particulier le Extended Kalman Filter (EKF), qui combine les mesures provenant de la caméra et de l'IMU dans une estimation de position et d'orientation unique, relative à la pose de départ du robot. En plus de l'estimation de la trajectoire relative du robot en 3D, l'algorithme estime la structure 3D de l'environnement. Nous présentons des compromis d'implementation qui affectent la précision d'estimation en fonction de l'utilisationdu système en temps réel, et nous présentons aussi une analyse des erreurs qui décrit comment les erreurs introduites par un composant du système affectent les parties restantes. Pour valider l'approche, nous présentons des nombreux résultats expérimentaux, tant en matière de simulation et de banque de données des environnements sous-marins accompagnée de réalité de terrain, qui confirme que cette approche est viable en termes de précision.

Page generated in 0.0672 seconds