Spelling suggestions: "subject:"applied ciences -- computer cience"" "subject:"applied ciences -- computer cscience""
171 |
Visual perception of shape from matte, glossy, and mirror surfacesFaisman, Arthur January 2014 (has links)
The human visual system has a remarkable ability to perceive complex 3D shape from a variety of surface types. These surfaces can include ones shaded using the standard Phong model or mirror surfaces which can be rendered using a variety of surrounding environments. This thesis presents four visual perception experiments that examine the perception of local qualitative shape under various conditions. Surfaces were rendered using standard computer graphics models of matte, glossy, and mirror reflectance. For each experiment, the subjects' task was to judge whether a marked point on each surface lay on a local hill or valley. A variety of novel findings were made in these experiments which touch on various aspects of perceptual capabilities of the visual system. In Experiment 1 it was found, contrary to previously known results, that under some circumstances it is more difficult to perceive shape from a glossy rather than a matte surface. In Experiment 3 this finding is re-examined and it's found that glossy surfaces are more easily perceived than matte ones when the highlight falls on local extrema such as hills and valleys, but can be more difficult to perceive when the highlight falls on frontally-oriented portions of the local geometry. A perceptual model is proposed to explain this effect. Experiment 3 expands on this finding by investigating the perception of surfaces when lit from a variety of different angles as well as comparing these lighting types to the ones used in commercial visualization software such as MATLAB and Mathematica. The results of Experiment 1 also indicate that when rendering mirror surfaces an inhomogeneity in the environment map may be exploitable by the visual system as an additional cue to aid in the perception of qualitative local surface shape. Experiment 4 expands on this finding by finding that the orientation of this environmental inhomogeneity has an additional effect on performance. The Appendix generalizes the well-known depth reversal ambiguity to mirrors and highlights. Experiment 2 utilizes this finding to producing the first tests examining how the visual system resolves this ambiguity when viewing mirrors. The findings indicate that the visual system tends to resolve this ambiguity by utilizing a prior for upward-facing surface orientation in the case of surfaces rendered as mirrors, similarly to the known upward-facing surface prior for Phong surfaces. The upward-facing surface prior is found to be weaker for mirror than for Phong surfaces, however, as subjects tended to rely more heavily on perspective cues in the former rendering condition rather than the latter. / Le système visuel humain a une capacité remarquable à percevoir les formes complexes en 3D à partir d'une variété de types de surfaces. Ces surfaces peuvent inclure celles ombragées en utilisant le modèle standard Phong ou bien des surfaces miroir qui peuvent être rendues à l'aide d'une variété de milieux environnants. Cette thèse présente quatre expériences de perception visuelle qui examinent la perception de la forme qualitative locale dans diverses conditions. Les surfaces furent rendues en utilisant des modèles standards informatiques graphiques de mat, de brillant et de réflexion de miroir. Pour chaque expérience, les participants de l'étude devaient juger si un point marqué sur chaque surface se trouvait sur une colline ou sur une vallée. Une variété de nouvelles découvertes ont été faites grâce à ces expériences qui touchent à différents aspects des capacités perceptives du système visuel. Dans l'expérience 1 il a été constaté, contrairement aux résultats déjà connus, que dans certaines circonstances il est plus difficile de percevoir la forme d'une surface brillante que celle d'une surface matte. Dans l'expérience 3 cette constatation est réexaminée et il se trouve que les surfaces brillantes sont plus facilement perçues que celles qui sont mattes lorsque le reflet spéculaire tombe sur les extrema locaux tels que les collines et les vallées, mais peuvent être plus difficiles à percevoir quand le reflet spéculaire est situé sur les portions de la géométrie locale qui sont orientées frontalement. Un modèle perceptif est proposé pour expliquer cet effet. L'expérience 3 élabore sur cette conclusion en étudiant la perception des surfaces lorsqu'elles sont allumées à partir d'une variété d'angles différents ainsi qu'en comparant ces types d'éclairage à ceux utilisés dans les logiciels de visualisation commerciaux tels que MATLAB et Mathematica. Les résultats de l'expérience 1 indiquent également que, lors du rendu des surfaces, miroir un manque d'homogénéité dans le plan de l'environnement peut être exploitable par le système visuel comme un repère supplémentaire pour aider à la perception de la forme de la surface locale qualitative. L'expérience 4 développe cette constatation en remarquant que l'orientation de cette hétérogénéité de l'environnement a un effet supplémentaire sur la performance. L'annexe généralise l'ambiguïté bien connue sur l'inversion de la profondeur à des miroirs et des reflets spéculaire. L'expérience 2 utilise ce résultat pour produire les premières expérimentations sur la manière selon laquelle le système visuel résout cette ambiguïté lorsqu'il perçoit des miroirs. Les résultats indiquent que le système visuel essaye souvent de résoudre cette ambiguïté en utilisant une hypothèse que la surface est orientée vers le haut dans le cas de surfaces miroir, ressemblant à l'hypothèse connue des surfaces orientées vers le haut pour les surfaces Phong. Pourtant, l'hypothèse de la surface orientée vers le haut est jugée plus faible pour les surfaces miroir que pour les surfaces Phong, puisque les participants avaient tendance à s'appuyer d'avantage sur des indices de perspective dans le cas des surfaces miroir que des surfaces Phong.
|
172 |
Behavior integration for Prometheus using real world ant colony algorithmNatanasihamani, Hariharan January 2014 (has links)
Prometheus aims to explore artificial intelligence in a controlled but flexible environment by mimicking the properties of the real world using a swarm intelligence implementation. Swarm Intelligence has been used for solving problems in the domain of self organization, complexity and collective intelligence for a group of agents. The collective behavior of the entity considered here - ants, are modeled as a decentralized and self-organized system in which the ants communicate indirectly and thrive by modifying the environment. This novel approach combines the widely established stigmergy theory with real-time fluid dynamics by using Pheromones and the Navier-Stokes equations respectively to subject the environment to natural conditions like wind, and spread and decay of smell thus making the environment more suitable to real time conditions. The chosen real-time fluid dynamics method proves to be computationally fast, robust and far more realistic than traditional approaches. Also, for evaporation, instead of choosing a random fixed value for every timestep, we take into consideration the effect of temperature, vapor pressure, wind and humidity on evaporation and consequences of that. It is hoped that this model will be a step closer to achieving results substantially closer to the real world and also, observing the changes that the aforementioned natural properties might impose on the experimental world. / Le projet d'intelligence artificielle Prometheus vise à explorer, dans un environnement contrôlé mais flexible, les propriétés du monde réel sur une intelligence en essaim. L'intelligence distribuée a été utilisée afin de résoudre les problèmes dans le domaine de l'auto-organisation, la complexité et l'intelligence collective d'un groupe d'agents. Le comportement collectif de l'entité considérée, ici la fourmi, est modélisé comme un système décentralisé et auto-organisé dans lequel les fourmis communiquent indirectement et prospèrent en modifiant l'environnement. Celle nouvelle approche combine la théorie de stigmergie avec la mécanique des fluides, utilisant respectivement les phéromones et les équations de Navier-Stokes, afin de soumettre à l'environnement des conditions naturelles comme le vent ou encore la propagation et la désintégration de l'odeur. Ainsi l'environnement correspond mieux à des conditions réelles. La méthode de mécanique des fluides en temps réel choisie, s'avère être rapidement calculable, robuste et beaucoup plus réaliste que les approches traditionnelles. De plus, pour modéliser l'évaporation, au lieu de choisir une valeur aléatoire fixée pour chaque itération, nous prenons en compte l'effet de la température, de la pression de la vapeur, du vent, de l'humidité de l'évaporation et leurs conséquences. Nous pensons que ce modèle contribuera à l'obtention de résultats nettement plus proches du monde réel et à l'observation des changements que les propriétés naturelles susmentionnées pourraient imposer à l'environnement expérimental.
|
173 |
Efficient robotic walking by learning gaits and terrain propertiesManjanna, Sandeep January 2014 (has links)
In this thesis, we investigate the question of how a legged robot can walk efficiently, and take advantage of its ability to alter its gait. This work targets the issue of increasing the efficiency of legged vehicles on different challenging terrains. We decompose the problem into three sub-problems: walking gait problem, physical adaptation problem, and terrain identification and gait adaptation problem. In the walking gait sub-problem, we investigate the effects of gait parameters on the performance of the robot. In particular, we assess the ground speed, power efficiency and terrain sensibility of the robot at varying leg cycle frequencies. In the physical adaptation sub-problem, we investigate the effects of different kinds of legs on the robot's performance. We also look at the influence of leg-compliance on walking behavior. In the terrain identification and gait adaptation sub-problem, we design a gait adaptation algorithm to identify the terrain by initially classifying the proprioceptive information collected over different terrains and then adapt its gait accordingly. Identifying the terrain in real-time helps the robot plan its gait on that terrain and effectively increase the walking efficiency in real-time. We use a cost-based unsupervised learning algorithm to classify the terrain data. In our experiments, we use proprioceptive sensor data collected by running the robot on four different terrains. We also use synthetic data for verifying our algorithm. We conclude with an analysis of the data and validate the performance of our algorithm. / Dans cette thèse, nous étudions les problèmes liés à l'efficacité de marche des robots à pattes et construisons des solutions algorithmiques et physiques pour les régler. Ce travail vise à accroître l'efficacité, en termes de mobilité, des véhicules à pattes sur différents terrains difficiles. Cette problématique est décomposée en trois sous-problèmes: la façon de marcher, l'adaptation physique, et l'identification de terrains associée à l'adaptation de la démarche des robots. Dans le premier cas (la façon de marcher), nous étudions les effets des paramètres de la démarche sur la performance du robot. Nous évaluons plus particulièrement la vitesse au sol, le rendement énergétique et la sensibilité du robot vis-à-vis du terrain et ce, en fonction de la vitesse de déplacement des jambes. Dans le cas du deuxième sous-problème, soit l'adaptation physique, nous étudions les effets de différents types de jambes sur la performance du robot. Nous examinons également l'influence de la flexibilité des jambes sur la marche du robot. Troisièmement, le sous-problème d'identification de terrains et d'adaptation de la démarche des robots est l'un des problèmes les plus importants pour les véhicules capables de marcher. Identifier le terrain en temps réel permet au robot de planifier sa démarche sur ce terrain et d'augmenter efficacement son rendement de marche. Nous concevons un algorithme permettant d'identifier le terrain en classant d'abord les informations proprioceptives recueillies sur différents terrains pour ensuite adapter la démarche en conséquence. Dans nos expériences, nous utilisons un algorithme d'apprentissage non supervisé pour classer les données de terrain, de même que les données issues de capteurs proprioceptifs collectées en employant le robot sur quatre types de terrains différents. Nous utilisons également des données synthétiques afin de vérifier notre algorithme d'identification. Dans les résultats, nous présentons une analyse des données et validons les performances de notre algorithme.
|
174 |
An exploration of complex matrix factorization as a tool for single-channel musical source separationBronson, James January 2014 (has links)
Since the introduction of non-negative matrix factorization (NMF) as a tool for single-channel musical source separation (SC-MSS) in the early part of the 21st century, it has steadily increased both in practicality and popularity, and continues to be a major area of focus within the signal processing community. It is acknowledged in the literature, however, that the fundamental assumption of the mixture model for the spectral representation of the acoustic sources, to which NMF is applied, violates the true nature of the superposition of acoustic signals by disregarding the phase relationship between overlapping sources. It is also recognized that NMF-based source separation procedures require additional post-processing, in order to reincorporate the phase information back into the spectral representation of the sources, once the factorization is complete. This thesis explores Complex Matrix Factorization (CMF), a recently proposed variant of NMF, which incorporates the phase information of the acoustic sources into the matrix factorization framework, allowing for the development of source separation procedures founded on a mixture model rooted in the complex-spectrum domain (in which the superposition of overlapping sources is preserved). CMF has the additional benefit of integrating the estimation of the phase of the constituent sources directly into the factorization algorithm, eliminating the need for post-factorization phase estimation. Three experiments were conducted, investigating the behaviour of CMF, as it compares to NMF, when applied to simple test mixtures constructed from overlapping acoustic instruments. The main contribution of this thesis is the development of a physically motivated phase-based constraint, which restricts the relation between the phase parameter estimates over time. The CMF-based separation procedure, armed with this novel phase constraint, is demonstrated to offer promising results when employed as a tool for SC-MSS on the simple acoustic test case considered. / Depuis l'introduction de la factorisation en matrices non-négatives (NMF) en tant qu'outil pour la séparation de sources musicales monophoniques (SC-MSS) au début du 21e siècle, son utilité et sa popularité ont augmenté de façon régulière et elle continue d'être un grand domaine d'intérêt au sein de la communauté de traitement du signal. Cependant, il est reconnu dans la littérature sur le sujet que l'hypothèse fondamentale du modèle de mélange pour la représentation spectrale de la source acoustique, à laquelle la NMF est appliquée, enfreint la véritable nature de la superposition des signaux acoustiques en ignorant la combinaison de phase entre sources superposées. Il est aussi reconnu que les procédures de type NMF pour la séparation de sources nécessitent des procédures de post-traitement additionnelles pour réintégrer l'information de phase à la représentation spectrale des sources une fois la factorisation complétée. Cette thèse explore la factorisation de matrices complexes (CMF), une variante de la NMF récemment proposée qui intègre l'information de phase des sources acoustiques dans le cadre de la factorisation de matrices. Ceci permet le développement de procédures de séparation de sources fondées sur un modèle de mixage ancré dans le domaine des spectres complexes (dans lequel le mélange de sources qui se superposent est préservée). La CMF apporte aussi l'avantage d'intégrer l'estimation de la phase des sources constituantes directement à l'algorithme de factorisation, ce qui élimine le besoin d'estimation de phase a posteriori. Trois expériences ont été réalisées afin d'étudier le comportement de la CMF comparé à la NMF lorsqu'appliqué à des mélanges simples fait à partir d'instruments acoustiques qui se superposent. La principale contribution de cette thèse est la formalisation d'une contrainte de phase, fondée sur des propriétés physiques, qui impose des liens entre ses estimations au court du temps. Nous montrons que l'algorithme de la CMF, armée de cette nouvelle contrainte de phase, donne des résultats prometteurs lorsqu'il est utilisé sur des signaux acoustiques simples dans le cadre de la SC-MSS.
|
175 |
A flexible tool for the visualization and manipulation of musical mapping networksKrajeski, Aaron January 2014 (has links)
Most digital musical instruments (DMIs) gather gestural input from musicians by way of electronic sensors and transform these data into sound through separate synthesis engines. The mapping of control inputs to synthesis parameters is arbitrary, multi-faceted and extremely important for the effectiveness of DMIs. Software tools exist to aid in this process and attempt to render the task of musical mapping more transparent, swift and configurable. This thesis presents MapperGUI, a cross-platform graphical tool for the manipulation of musical mapping networks. The libmapper software library, developed at the Input Devices and Music Interaction Laboratory, creates a standard framework for DMIs to communicate data on a distributed network and map their signals collaboratively in real-time. MapperGUI presents a graphical user interface for libmapper networks, allowing non-expert users to manipulate the text-based system. The interface aims to be flexible, such that it can accommodate the vast array of musical networks and tasks that must be performed when mapping. To this end, it provides multiple independent visualizations and interaction modes within a single framework. This document explores some of the issues challenging the field of musical mapping and describes the motivations behind the MapperGUI project in this context. Relevant research in the fields of data visualization and interface design is summarized and applied to the task of creating a graphical user interface for libmapper networks. Prior graphical interfaces for libmapper are examined for successful features that can be incorporated into MapperGUI. Specific implementation challenges and features of the final program are described. Insight gained from interviews with users of MapperGUI is presented, along with future work and possible extensions for the interface.MapperGUI is available for free download as a standalone application at www.libmapper.org/downloads. All code is open-source and can be accessed at https://github.com/mysteryDate/webmapper. / La plupart des instruments de musique numériques (IMN) assemble les données gestuelles des musiciens par des capteurs électroniques et transforme ces données en son à travers de programmes de synthèse séparés. Le mappage d'entrées de commandes aux paramètres de synthèse est arbitraire, à multiples facettes et extrêmement important pour l'efficacité des IMN. Les outils logiciels existent pour aider ce processus et tentent de rendre la tâche du mappage musical plus transparente, rapide et configurable. Cette thése présente MapperGUI, un outil graphique multiplateforme pour la manipulation des réseaux de mappage musicaux.La bibliothèque logiciel libmapper, développée au Input Devices and Music Interaction Laboratory, crée un cadre standard pour que les IMN communiquent les données sur un réseau réparti et map leurs signaux en collaboration en temps réel. MapperGUI présente une interface utilisateur pour les réseaux libmapper, ce qui permet aux utilisateurs non-experts de manipuler ce système textuel. L'interface a pour but d'être flexible, en sorte qu'elle puisse accommoder la vaste gamme de réseaux et de tâches musicales qui doivent être complétées en mappant. À cette fin, elle offre plusieurs visualisations et modes d'interactions indépendantes à l'intérieur d'un seul cadre. Ce document porte sur quelques un des enjeux qui affrontent le domaine du mappage musical et décrit les motivations qui sous-tendent le projet MapperGUI dans ce contexte. De la recherche pertinente dans les domaines de la visualisation des données et la conception d'interface sont résumées et appliquées à la tâche de créer une interface d'utilisateur graphique pour les réseaux de libmapper. Des interfaces graphiques précédentes pour libmapper sont examinées pour leurs caractéristiques réussies qui peuvent être incorporées à MapperGUI. Des difficultés de mise en oeuvre précises et des caractéristiques du programme final sont décrites. Les connaissances tirées d'entrevues avec des utilisateurs de MapperGUI sont présentées, ainsi que des travaux futurs et des extensions possibles pour l'interface.MapperGUI est disponible pour téléchargement gratuit en tant qu'application autonome à www.libmapper.org/downloads. Tout le code est code source libre et peut être accédé à https://github.com/mysteryDate/webmapper.
|
176 |
Efficient imitation learning and inverse reinforcement learning with application to navigation in human environmentsKim, Beomjoon January 2014 (has links)
A key skill for mobile robots is the ability to navigate efficiently through their environment. In the case of social or assistive robots, this involves navigating through human crowds. Typical performance criteria, such as reaching the goal using the shortest path, are not appropriate in such environments, where it is more important for the robot to move in a socially adaptive manner such as respecting comfort zones of the pedestrians. This thesis investigates the Learning from Demonstration framework to address the socially adaptive path planning problem. Learning from Demonstration is a practical framework for learning complex policies using demonstration trajectories produced by an expert. We propose two approaches based on Learning from Demonstrations. First approach is based on Inverse Reinforcement Learning, in which we compactly represent the socially adaptive path planning behaviours as a cost function that we learn. The second approach is based on imitation learning, in which we use supervised learning to learn such behaviours, and then provide theoretical guarantees on its performance. We evaluate our approach by deploying it on a real robotic wheelchair platform in various scenarios, and comparing the robot trajectories to human trajectories. / Une compétence essentielle au bon fonctionnement des robots mobiles est la capacité à naviguer efficacement dans leur environnement. Ainsi, pour les robots sociaux ou d'assistance, il est essentiel de pouvoir naviguer parmi des foules humaines. Les critres de performance typiques, tels qu'atteindre un endroit ciblé par le chemin le plus court, ne sont pas appropriés dans de tels environnements, où il est plutôt important de se déplacer d'une manire socialement adaptée en respectant, par exemple, les zones de confort des piétons. Cette thèse examine un système d'apprentissage par démonstration ayant pour but de résoudre le problème de planification de trajectoire adaptée à un environment humain. L'apprentissage par démonstration est un cadre pratique permettant l'acquisition de controlleurs complexes en utilisant des trajectoires de démonstration provenant d'un expert. Nous proposons deux approches basées sur l'apprentissage par démonstration. La première approche est basée sur l'apprentissage par renforcement inverse, dans lequel nous représentons de façon compacte les comportements de planification de trajectoire socialement adaptative en fonction des cots appris. La deuxième approche est fondée sur l'apprentissage par imitation, où nous utilisons l'apprentissage supervisé pour aquérir ces comportements, et fournissons subséquemment des garanties théoriques sur sa performance. Nous évaluons notre approche en la déployant sur un véritable fauteuil roulant robotisé dans différents scénarios et la comparons à des trajectoires humaines.
|
177 |
Aspect-oriented modelling of software framework interfacesDafinov, 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.
|
178 |
Integrating protocol modelling into an aspect-oriented multi -view modelling approachAyed, 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.
|
179 |
Optimizing software-hardware interplay in efficient virtual machinesProkopski, 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
|
180 |
Commutative composition - a conservative approach to aspect weavingGé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.
|
Page generated in 0.0882 seconds