• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 19
  • 7
  • 4
  • 1
  • 1
  • Tagged with
  • 37
  • 11
  • 10
  • 9
  • 5
  • 5
  • 4
  • 4
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 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.
11

Sketching free-form poses and motions for expressive 3D character animation. / Animation de personnages 3D par le sketching 2D

Guay, Martin 02 July 2015 (has links)
L'animation expressive permet des styles de mouvements exagerés et artistiques comme l'étirement de parties du corps ou encore l'animation de créatures imaginaires comme un dragon. Créer ce genre d'animation nécessite des outils assez flexible afin de déformer les personnages en des poses quelconques, ainsi que de pouvoir contrôler l'animation à tout moment dans le temps. L'approche acutelle pour l'animation expressive est le keyframing: une approche manuelle avec laquelle les animateurs déforment leur personnage un moment spécifique dans le temps en cliquand et glissant la souris sur une partis spécifique du corps---un à la fois. Malgré le fait que cette approche soit flexible, il est difficile de créer des animations de qualité qui suivent les principes artistiques, puisque le keyframing permet seulement qu'un contrôle local spatiallement et temporellement. Lorsqu'ils dessinent des poses ou des mouvements, les artistes s'appuient sur différentes abstractions sous forme de croquis qui facillitent la réalisation de certain principes artistiques. Par example, certains animateurs dessinent des lignes d'action afin de créer une pose plus lisible et expressive. Afin de coordonner un mouvement, les animateurs vont souvent dessiner des abstractions de mouvement comme des demi-cercles pour des sauts, ou des boucles pour des pirouettes---leur permettant de pratiquer la coordination du mouvement. Malheureusement, ces outils artistiques ne font pas partis de l'ensemble d'outils de keyframing actuelle. Le fait que l'on ne puisse pas employer les même outils artistiques pour animater des personnages 3D a une forte conséquence: les outils d'animation 3D ne sont pas employés dans le processus créatif. Aujourd'hui, les animateurs créent sur du papier et utilisent le keyframing seulement à la fin pour réaliser leur animation. La raison pour laquelle nous n'avons pas ces outils artistiques (ligne d'action, abstractions de mouvement) en animation 3D, est parce qu'il manque une compréhension formelle de ceux-ci qui nous permettrais d'exprimer la forme du personnage---potentiellement au cours du temps---en fonction de la forme de ces croquis. Ainsi la contribution principale de cette thèse est une compréhension formelle et mathématique des abstractions de forme et de mouvement courrament employées par des artistes, ainsi qu'un ensemble d'algorithme qui permet l'utilisation de ces outils artistiques pour créer des animations expressives. C'est-à-dire que les outils développés dans cette thèse permettent d'étirer des parties du corps ainsi que d'animer des personnages de différentes morphologies. J'introduis aussi plusieurs extentions à ces outils. Par example, j'explore l'idée de sculpter du mouvement en permettant à l'artiste de dessigner plusieurs couches de mouvement une par dessus l'autre, de twister en 3D les croquis, ou encore d'animer un croquis ligne comme un élastique. Les contributions principales de cette thèse, aussi résumé ci-dessous: -La ligne d'action facilitant la création de poses expressives en dessinant directement le flow complet du personnage. -La courbe spatio-temporelle qui permet de spécifier un mouvement coordoné complet avec un seul geste (en dessinant une seule courbe), applicable à n'importe quel personnage 3D. -Un algorithme de matching rapide et robuste qui permet du ``squash and stretch''. -La ligne d'action élastique avec des attachements dynamiques à la ligne permettant d'animer un personnages à plusieurs jambes (bras) avec une seule ligne 2D animée. / Free-form animation allows for exaggerated and artistic styles of motions such as stretching character limbs and animating imaginary creatures such as dragons. Creating these animations requires tools flexible enough to shape characters into arbitrary poses, and control motion at any instant in time. The current approach to free-form animation is keyframing: a manual task in which animators deform characters at individual instants in time by clicking-and-dragging individual body parts one at a time. While this approach is flexible, it is challenging to create quality animations that follow high-level artistic principles---as keyframing tools only provide localized control both spatially and temporally. When drawing poses and motions, artists rely on different sketch-based abstractions that help fulfill high-level aesthetic and artistic principles. For instance, animators will draw textit{lines of action} to create more readable and textit{expressive} poses. To coordinate movements, animators will sketch textit{motion abstractions} such as semi-circles and loops to coordinate a bouncing and rolling motions. Unfortunately, these drawing tools are not part of the free-form animation tool set today. The fact that we cannot use the same artistic tools for drawing when animating 3D characters has an important consequence: 3D animation tools are not involved in the creative process. Instead, animators create by first drawing on paper, and only later are 3D animation tools used to fulfill the pose or animation. The reason we do not have these artistic tools (the line of action, and motion abstractions) in the current animation tool set is because we lack a formal understanding relating the character's shape---possible over time---to the drawn abstraction's shape. Hence the main contribution of this thesis is a formal understanding of pose and motion abstractions (line of action and motion abstractions) together with a set of algorithms that allow using these tools in a free-form setting. As a result, the techniques described in this thesis allow exaggerated poses and movements that may include squash and stretch, and can be used with various character morphologies. These pose and animation drafting tools can be extended. For instance, an animator can sketch and compose different layers of motion on top of one another, add twist around strokes, or turning the strokes into elastic ribbons. The main contributions of this thesis are summarized as follows: -The line of action facilitating expressive posing by directly sketching the overall flow of the character's pose. -The space-time curve allowing to draft full coordinated movements with a single stroke---applicable to arbitrary characters. -A fast and robust skeletal line matching algorithm that supports squash-and-stretch. -Elastic lines of action with dynamically constrained bones for driving the motion of a multi-legged character with a single moving 2D line.
12

Contributions to large-scale data processing systems / Contributions aux systèmes de traitement de données à grande échelle

Caneill, Matthieu 05 February 2018 (has links)
Cette thèse couvre le sujet des systèmes de traitement de données àgrande échelle, et plus précisément trois approches complémentaires :la conception d'un système pour prédir des défaillances de serveursgrâce à l'analyse de leurs données de supervision; l'acheminement dedonnées dans un système à temps réel en étudiant les corrélationsentre les champs des messages pour favoriser la localité; etfinalement un environnement de développement innovateur pour concevoirdes transformations de donées en utilisant des graphes orientés deblocs.À travers le projet Smart Support Center, nous concevons unearchitecture qui passe à l'échelle, afin de stocker des sériestemporelles rapportées par des moteurs de supervision, qui vérifienten permanence la santé des systèmes informatiques. Nous utilisons cesdonnées pour effectuer des prédictions, et détecter de potentielsproblèmes avant qu'ils ne ne produisent.Nous nous plongeons ensuite dans les algorithmes d'acheminement pourles sytèmes de traitement de données en temps réel, et développons unecouche pour acheminer les messages plus efficacement, en évitant lesrebonds entre machines. Dans ce but, nous identifions en temps réelles corrélations qui apparaissent entre les champs de ces messages,tels les mots-clics et leur localisation géographique, par exempledans le cas de micromessages. Nous utilisons ces corrélations pourcréer des tables d'acheminement qui favorisent la colocation desacteurs traitant ces messages.Pour finir, nous présentons λ-blocks, un environnement dedéveloppement pour effectuer des tâches de transformations de donnéessans écrire de code source, mais en créant des graphes de blocs decode. L'environnement est rapide, et est distribué avec des pilesincluses: libraries de blocs, modules d'extension, et interfaces deprogrammation pour l'étendre. Il est également capable de manipulerdes graphes d'exécution, pour optimisation, analyse, vérification, outout autre but. / This thesis covers the topic of large-scale data processing systems,and more precisely three complementary approaches: the design of asystem to perform prediction about computer failures through theanalysis of monitoring data; the routing of data in a real-time systemlooking at correlations between message fields to favor locality; andfinally a novel framework to design data transformations usingdirected graphs of blocks.Through the lenses of the Smart Support Center project, we design ascalable architecture, to store time series reported by monitoringengines, which constantly check the health of computer systems. We usethis data to perform predictions, and detect potential problems beforethey arise.We then dive in routing algorithms for stream processing systems, anddevelop a layer to route messages more efficiently, by avoiding hopsbetween machines. For that purpose, we identify in real-time thecorrelations which appear in the fields of these messages, such ashashtags and their geolocation, for example in the case of tweets. Weuse these correlations to create routing tables which favor theco-location of actors handling these messages.Finally, we present λ-blocks, a novel programming framework to computedata processing jobs without writing code, but rather by creatinggraphs of blocks of code. The framework is fast, and comes withbatteries included: block libraries, plugins, and APIs to extendit. It is also able to manipulate computation graphs, foroptimization, analyzis, verification, or any other purposes.
13

High level abstractions and visualization of sensor network applications

Pulluri, Sandeep January 1900 (has links)
Master of Science / Department of Computing and Information Sciences / Gurdip Singh / TinyOS is a component based operating system written in nesC programming language. TinyOS provides interfaces and components for common low level abstractions such as packet communication, routing and sensing for node level sensor network application programming. This project aims to provide high level abstractions to users by providing the notion of a virtual node, which represents a set of physical nodes, allowing users to specify global scenarios, and a mechanism to decompose a high level global scenario into local node level scenarios for each of the individual sensor nodes. A global scenario with virtual components, provided by the user, is first converted into a global scenario by eliminating the virtual components from the model by using a mapping information provided the user and replacing these virtual components by their respective physical components. Appropriate algorithm components and the automatically generated adapter components for these algorithm components are then plugged-in to implement inter-node interactions. This global scenario is then converted to the node level local scenarios by introducing the automatically generated proxy components for the remote components and connecting these proxy components using the RMI layer. The Cadena model is modified to include the attribute location for the components to identify the remote components. The make files are then generated for these local scenarios and are ready to be deployed on the physical motes. The framework provides a GUI tool which is used to visualize the data of the sensor network in both simulation and deployment. The framework provides the user with commands that can be issued to the network from the Cadena component model as a set of interfaces to the components and a python script is used to capture this information in an xml file. The Cadena model is modified to include the attribute observable to the interfaces to identify them as the GUI commands. The GUI loads this XML file and the topology file for the actual deployment, can issue commands to the network and displays the results to the user. The GUI tool also enhances the Tossim simulator to model the external effects over the sensor network and to place the motes based on the topology information using the Tython environment.
14

Uma visão sobre a próxima geração de abstrações de processos em sistemas operacionais / An outline for the next generation of process abstractions in operating systems

Jordão, Rodrigo Siqueira 05 February 2019 (has links)
Nas últimas décadas, muitos pesquisadores dedicaram-se a avançar o modelo atual de abstração de processos, seja por meio da adição de camadas extras de segurança, seja em busca de melhorias de desempenho, ou ainda com o objetivo de fornecer suporte para novos recursos de hardware. Tais melhorias são relevantes porque abstrações de processos em SOs de propósito geral representam o ponto de encontro de diversos recursos de interesse dos usuários. Processos representam a convergência entre a aplicação dos usuários, os modelos de programação oferecidos pelo SO e a utilização dos recursos de hardware. Os esforços para expandir as capacidades dos SOs no nível da abstração de processos abrem uma nova área de pesquisa ainda pouco explorada. Nesta dissertação, após um levantamento preliminar dos trabalhos relacionados ao tema, nos concentramos em 9 pesquisas que foram selecionadas levando-se em consideração aspectos como as propostas de implementação adotadas por elas e o seu impacto na literatura da área. Desses trabalhos, derivamos um conjunto de características que consideramos importantes para guiar o desenvolvimento da próxima geração de abstrações de processos. Partindo de tais características, propomos um modelo teórico chamado de bead cujo o objetivo é ilustrar os desafios e vantagem em se expandir as abstrações de processos. Além disso, sugerimos uma coleção de microbenchmarks que podem ser utilizados para revelar parte dos impactos de novas abstrações de processos. Por fim, realizamos uma discussão sobre aplicações de uso cotidiano que podem ser utilizadas para a validação dessas propostas e que também possam delas se beneficiar. / In recent decades, many researchers committed to pushing forward the current model of process abstraction, either by adding extra layers of security or seeking performance improvements or even providing support for new hardware. Such enhancements are relevant because process abstractions in general-purpose OSes represent the meeting point of several aspects of users concern. Processes join together user applications, programming models provided by the OS and hardware resources access. Efforts to expand OS capabilities at the process abstraction level represent a new and underexplored research field. In this thesis, after a preliminary survey of the area, we selected nine works to focus on by considering aspects such as their implementation approach and their impact on the literature. From these works, we extracted a set of characteristics that we consider essential to guide the development of the next generation of process abstractions. Based on such characteristics, we propose a theoretical model called bead, which illustrates the challenges and advantages of expanding process abstractions. Furthermore, we suggest a collection of microbenchmarks that can be used to reveal some of the impacts of new process abstractions. Finally, we discuss real-world applications that can be used to validate these proposals, and that could also benefit from them.
15

The Continuum Architecture: Towards Enabling Chaotic Ubiquitous Computing

Dragoi, Octavian Andrei January 2005 (has links)
Interactions in the style of the ubiquitous computing paradigm are possible today, but only in handcrafted environments within one administrative and technological realm. This thesis describes an architecture (called Continuum), a design that realises the architecture, and a proof-of-concept implementation that brings ubiquitous computing to chaotic environments. Essentially, Continuum enables an ecology at the edge of the network, between users, competing service providers from overlapping administrative domains, competing internet service providers, content providers, and software developers that want to add value to the user experience. Continuum makes the ubiquitous computing functionality orthogonal to other application logic. Existing web applications are augmented for ubiquitous computing with functionality that is dynamically compiled and injected by a middleware proxy into the web pages requested by a web browser at the user?s mobile device. This enables adaptability to environment variability, manageability without user involvement, and expansibility without changes to the mobile. The middleware manipulates self-contained software units with precise functionality (called <i>frames</i>), which help the user interact with contextual services in conjunction with the data to which they are attached. The middleware and frame design explicitly incorporates the possibility of discrepancies between the assumptions of ubiquitous-computing software developers and field realities: multiple administrative domains, unavailable service, unavailable software, and missing contextual information. A framework for discovery and authorisation addresses the chaos inherent to the paradigm through the notion of <i>role assertions</i> acquired dynamically by the user. Each assertion represents service access credentials and contains bootstrapping points for service discovery on behalf of the holding user. A proof-of-concept prototype validates the design, and implements several frames that demonstrate general functionality, including driving discovery queries over multiple service discovery protocols and making equivalences between service types, across discovery protocols.
16

The Continuum Architecture: Towards Enabling Chaotic Ubiquitous Computing

Dragoi, Octavian Andrei January 2005 (has links)
Interactions in the style of the ubiquitous computing paradigm are possible today, but only in handcrafted environments within one administrative and technological realm. This thesis describes an architecture (called Continuum), a design that realises the architecture, and a proof-of-concept implementation that brings ubiquitous computing to chaotic environments. Essentially, Continuum enables an ecology at the edge of the network, between users, competing service providers from overlapping administrative domains, competing internet service providers, content providers, and software developers that want to add value to the user experience. Continuum makes the ubiquitous computing functionality orthogonal to other application logic. Existing web applications are augmented for ubiquitous computing with functionality that is dynamically compiled and injected by a middleware proxy into the web pages requested by a web browser at the user?s mobile device. This enables adaptability to environment variability, manageability without user involvement, and expansibility without changes to the mobile. The middleware manipulates self-contained software units with precise functionality (called <i>frames</i>), which help the user interact with contextual services in conjunction with the data to which they are attached. The middleware and frame design explicitly incorporates the possibility of discrepancies between the assumptions of ubiquitous-computing software developers and field realities: multiple administrative domains, unavailable service, unavailable software, and missing contextual information. A framework for discovery and authorisation addresses the chaos inherent to the paradigm through the notion of <i>role assertions</i> acquired dynamically by the user. Each assertion represents service access credentials and contains bootstrapping points for service discovery on behalf of the holding user. A proof-of-concept prototype validates the design, and implements several frames that demonstrate general functionality, including driving discovery queries over multiple service discovery protocols and making equivalences between service types, across discovery protocols.
17

Implementation methodology for using concurrent and collaborative approaches for theorem provers, with case studies of SAT and LCF style provers

G, Sriipriya January 2013 (has links)
Theorem provers are faced with the challenges of size and complexity, fueled by the increasing range of applications. The use of concurrent/ distributed programming paradigms to engineer better theorem provers merits serious investigation, as it provides: more processing power and opportunities for implementing novel approaches to address theorem proving tasks hitherto infeasible in a sequential setting. Investigation of these opportunities for two diverse theorem prover settings with an emphasis on desirable implementation criteria is the core focus of this thesis. Concurrent programming is notoriously error prone, hard to debug and evaluate. Thus, implementation approaches which promote easy prototyping, portability, incremental development and effective isolation of design and implementation can greatly aid the enterprise of experimentation with the application of concurrent techniques to address specific theorem proving tasks. In this thesis, we have explored one such approach by using Alice ML, a functional programming language with support for concurrency and distribution, to implement the prototypes and have used programming abstractions to encapsulate the implementations of the concurrent techniques used. The utility of this approach is illustrated via proof-of-concept prototypes of concurrent systems for two diverse case studies of theorem proving: the propositional satisfiability problem (SAT) and LCF style (first-order) theorem proving, addressing some previously unexplored parallelisation opportunities for each, as follows:. SAT: We have developed a novel hybrid approach for SAT and implemented a prototype for the same: DPLL-Stalmarck. It uses two complementary algorithms for SAT, DPLL and Stalmarck’s. The two solvers run asynchronously and dynamic information exchange is used for co-operative solving. Interaction of the solvers has been encapsulated as a programming abstraction. Compared to the standalone DPLL solver, DPLL-Stalmarck shows significant performance gains for two of the three problem classes considered and comparable behaviour otherwise. As an exploratory research effort, we have developed a novel algorithm, Concurrent Stalmarck, by applying concurrent techniques to the Stalmarck algorithm. A proof-of-concept prototype for the same has been implemented. Implementation of the saturation technique of the Stalmarck algorithm in a parallel setting, as implemented in Concurrent Stalmarck, has been encapsulated as a programming abstraction. LCF: Provision of programmable concurrent primitives enables customisation of concurrent techniques to specific theorem proving scenarios. In this case study, we have developed a multilayered approach to support programmable, sound extensions for an LCF prover: use programming abstractions to implement the concurrent techniques; use these to develop novel tacticals (control structures to apply tactics), incorporating concurrent techniques; and use these to develop novel proof search procedures. This approach has been implemented in a prototypical LCF style first-order prover, using Alice ML. New tacticals developed are: fastest-first; distributed composition; crossTalk: a novel tactic which uses dynamic, collaborative information exchange to handle unification across multiple sub-goals, with shared meta-variables; a new tactic, performing simultaneous proof-refutation attempts on propositional (sub- )goals, by invoking an external SAT solver (SAT case study), as a counter-example finder. Examples of concrete theorem proving scenarios are provided, demonstrating the utility of these extensions. Synthesis of a variety of automatic proof search procedures has been demonstrated, illustrating the scope of programmability and customisation, enabled by our multilayered approach.
18

Form &amp; Formlessness : Questioning aesthetic abstractions through art projects, cross-disciplinary studies and product design education.

Akner Koler, Cheryl January 2007 (has links)
This research is based on empirical, embodied studies aimed to generate and regenerate aesthetic reasoning through three approaches: an educational approach concerned with developing an aesthetic discipline, supporting a formgiving process aimed to create tangible artifacts. an art-based approach supporting an open exploration of distortion and formlessness a multi-disciplinary exploratory approach concerned with aesthetic experiences shared in laborations demonstrating complexity and transformation.   The overall aim of the thesis is to explore different types of aesthetic abstractions that elaborate aesthetic reasoning about form and formlessness. The thesis develops methods and models for aesthetic investigation that support, challenge and go beyond the normative conceptions of beauty, with high relevance for teaching 3-D formgiving aesthetics and research by design methodologies. A central method applied throughout the entire research project is a cooperative inquiry method engaging students and experienced professionals as co-researchers in embodied/ interactive physical form studies and laborations.   The content of the thesis is presented in three parts relating to the approaches above:  -Part 1 defines an aesthetic nomenclature organized within a taxonomy of form in space. This aesthetic taxonomy is outlined in five levels based on essential aesthetic abstractions, emphasizing structure and inner movement in relation to the intention for the development of a gestalt. It originates from the educational program of Alexander Kostellow and Rowena Reed and has been further developed through an iterative educational process using a Concept-translation-form method, resulting in the Evolution of Form (EoF)-model. This EoF-model reciprocally weaves together geometric structures and organic principles into a sequence of seven-stages. To question the normative principles of beauty inherent in the EoF-model, a bipolar +/- spectrum was introduced at each stage to expand the model, aiming for a more inclusive approach to aesthetics.   -Part 2, both challenges and expands the aesthetic reasoning in part 1 through i) solo sculptural exhibitions exploring properties of distortion and transparency in a constructivist art community ii) collaborative projects with physicists concerning infinity and studies of continuous complex curvatures and iii) explorative studies of material breakdown and non-visual studies with ID masters students at Konstfack.  - Part 3 problematizes the taxonomy of form by applying methods and results from a cross-disciplinary study of complexity and transformation involving artists, physicists, designers and architects. The three year study explored temporal events of changing phenomena and formlessness that did not comply with any traditional aesthetic norms. Based on the experience from 12 laborations, three models were developed: The Transformation-model and Framing the dialogue-model were developed to physically interact with as well as to document and discuss change and transformation through bipolar reasoning. The Aesthetic phase transition-model was developed to capture the particular properties expressed in a transformation and unify stable objects with changing events.     In conclusion, the thesis claims the value of an inclusive aesthetic mode of abstract reasoning in the scientific and design communities.  A provisional 3 modes of abstraction-model is presented placing numeric, linguistic and aesthetic modes of abstraction as interdependent within a spectrum from separation to contextualization. / <p>S. 1-77: sammanfattning, s. 78-255: 10 uppsatser</p>
19

Applying Earth Observation services to detect non-authorised water abstractions in the EU.

Ouvrard, Elsa January 2014 (has links)
In Europe, about 353 km3 of water are abstracted every year from natural resources . Water resources are used for very diverse activities including, energy production, agriculture, domestic uses and industry. Competing uses between the different sectors can lead to overabstraction where demand exceeds resources availability. The 2012 Blueprint to Safeguard Europe’s Water Resources identified non-authorised water abstractions, i.e. water abstractions without permits or exceeding the authorised amounts, as a cause of overabstraction and advocates the surveillance of water abstractions in each Member State . This thesis report aims at studying the potential of Earth Observation technologies to detect non-authorised water abstractions. It briefly introduces the existing legal framework for water abstraction in Europe in order to better understand current challenges for the detection of non-authorised water abstraction and tries to assess the strengths and weaknesses of methods, for the detection of illegal withdrawals, relying on Earth Observation-derived data. The combination of field measurements with Earth Observation-derived information addresses a certain number of issues experienced with the traditional field measurements alone approach (e.g. time and cost efficiency). However, it does not solve other issues related to governance and administrative aspects and heavily relies on weather and climatic conditions, which make Earth Observation methods non compatible with some regions in the European Union (EU). Besides this approach requires having access to a large number of data and major efforts are necessary to ensure a good coordination and communication between the different competent authorities responsible for the management of water abstractions and the entities which own the required data.
20

A Model-Based Approach to Reconfigurable Computing

Taylor, Daniel Kyle 06 January 2009 (has links)
Throughout the history of software development, advances have been made that improve the ability of developers to create systems by enabling them to work closer to their application domain. These advances have given programmers higher level abstractions with which to reason about problems. A separation of concerns between logic and implementation allows for reuse of components, portability between implementation platforms, and higher productivity. Parallels can be drawn between the challenges that the field of reconfigurable computing (RC) is facing today and what the field of software engineering has gone through in the past. Most RC work is done in low level hardware description languages (HDLs) at the circuit level. A large productivity gap exists between the ability of RC developers and the potential of the technology. The small number of RC experts is not enough to meet the demands for RC applications. Model-based engineering principles provide a way to reason about RC devices at a higher level, allowing for greater productivity, reuse, and portability. Higher level abstractions allow developers to deal with larger and more complex systems. A modeling environment has been developed to aid users in creating models, storing, reusing and generating hardware implementation code for their system. This environment serves as a starting point to apply model-based techniques to the field of RC to tighten the productivity gap. Future work can build on this model-based framework to take advantage of the unique features of reconfigurable devices, optimize their performance, and further open the field to a wider audience. / Master of Science

Page generated in 0.1058 seconds