1000 resultados para PROGRAMACIÓN PARALELA (COMPUTADORES)
Resumo:
En este trabajo se describe el uso de un sistema de evaluación automática como herramienta de apoyo para el aprendizaje y seguimiento continuado de los alumnos de la asignatura de Fundamentos de Programación del primer curso de las titulaciones de los grados de Ingeniería en Tecnologías Industriales y de Ingeniería Química impartidos en la Escuela Técnica Superior de Ingenieros Industriales de la Universidad Politécnica de Madrid (ETSII-UPM) desde el curso 2010-11. El sistema de evaluación se implementa mediante uno de los módulos de la plataforma AulaWeb desarrollada en la UPM. Se analizan además los resultados obtenidos considerando que las calificaciones obtenidas en los ejercicios programados pueden tenerse en cuenta en la calificación final de la asignatura como parte de la evaluación continuada durante el periodo académico de acuerdo con la metodología propuesta en el Proceso de Bolonia para los estudios universitarios.
Resumo:
Programación de un software para el prediseño del sistema de potencia de un satélite de órbita baja. satellite power simulator
Resumo:
Estas notas que se publican a continuación corresponden a un curso de postgrado impartido durante el primer semestre del año 1983. El interés mostrado por los asistentes a dicho curso nos ha animado a escribir un resumen de las clases. Este libro supone un conocimiento te6rico de las ideas básicas del método de los elementos finitos. No obstante en una primera lección se resumen y ordenan aquellos aspectos mas importantes, que serán utilizados en lecciones sucesivas. En estas se desarrolla un programa de computador muy sencillo -sin complicaciones informáticas que obscurezcan la simplicidad del método- y se analiza de un modo detallado -en forma de organigramas y listados comentados- las distintas rutinas en lenguaje FORTRAN de este programa. Asimismo, y respetando el carácter elemental de la exposición se abren algunas posibilidades de ampliación y nuevos desarrollos del método. Algunos ejercicios y ejemplos al final de cada capítulo se espera permitan clarificar los puntos mas conflictivos del método. Finalmente se reúne en un apéndice, los distintos programas que se han mostrado en las sucesivas lecciones y que con objeto de que puedan ser procesados en microcomputadores se han traducido al lenguaje BASIC. Creemos y la experiencia del curso así nos la ha confirmado, que el método de elementos finitos se debe enseñar y aprender mediante la praxis y presentar los sucesivos desarrollos del método de un modo motivado como solución a problemas numéricos e informáticos que aparecen en su desarrollo. Si las lecciones que aquí se presentan permiten transmitir mejor estas ideas, los autores se sentirán más que recompensados por el trabajo que ha supuesto dar a luz a esta publicación.
Resumo:
El presente documento aborda la problemática surgida en torno al desarrollo de una plataforma para gestionar las guías docentes de la Universidad Politécnica de Madrid, centrándose en el uso de las tecnologías Javascript, así como de lo algoritmos, plugins y bibliotecas auxiliares creadas y utilizadas. Por último, se muestran los resultados obtenidos del análisis y puesta en práctica de lo expuesto en el documento, así como conclusiones y sugerencias de futuras líneas de trabajo para este mismo proyecto. ---ABSTRACT---This document explains the problems found when developing a web service whose purpose is the management of learning guides at \Universidad Politecnica de Madrid". This final thesis focus on the use of Javascript technologies and the plugins, algorithms and auxiliar libraries used and developed. Finally, results of the analysis, development of the ideas exposed in this document, and conclusions and future working lines are presented.
Resumo:
Este trabajo fin de grado, presenta una herramienta para experimentar con técnicas de la Programación Genética Guiada por Gramáticas. La mayor parte de los trabajos realizados hasta el momento en esta área, son demasiado restrictivos, ya que trabajan con gramáticas, y funciones fitness predefinidas dentro de las propias herramientas, por lo que solo son útiles sobre un único problema. Este trabajo se plantea el objetivo de presentar una herramienta mediante la cual todos los parámetros, gramáticas, individuos y funciones fitness, sean parametrizables. Es decir, una herramienta de carácter general, valida para cualquier tipo de problema que sea representable mediante una gramática libre de contexto. Para abordad el objetivo principal propuesto, se plantea un mecanismo para construir el árbol de derivación de los individuos de acuerdo a una gramática libre de contexto, y a partir de ahí, aplicar una serie de operadores genéticos guiados por gramáticas para ofrecer un resultado final, de acuerdo a una función fitness, que el usuario puede seleccionar antes de realizar la ejecución. La herramienta, también propone una medida de similitud entre los individuos pertenecientes a una determinada generación, que permite comparar los individuos desde el punto de vista de la información semántica que contienen. Con el objetivo de validar el trabajo realizado, se ha probado la herramienta con una gramática libre de contexto ya predefinida, y se exponen numerosos tipos de resultados de acuerdo a distintos parámetros de la aplicación, así como su comparación, para poder estudiar la velocidad e convergencia de los mismos. ---ABSTRACT---This final project presents a tool for working with algorithms related to Genetic Grammar Guided Programming. Most of the work done so far in this area is too restrictive, since they only work with predefined grammars, and fitness functions built within the tools themselves, so they are only useful on a single problem. The main objective of this tool is that all parameters, grammars, individuals and fitness functions, are can be easily modified thought the interface. In other words, a general tool valid for any type of problem that can be represented by a context-free grammar. To address the main objective proposed, the tool provides a mechanism to build the derivation tree of individuals according to a context-free grammar, and from there, applying a series of grammar guided genetic operators to deliver a final result, according to a fitness function, which the user can select before execution. The tool also offers a measure of similarity between individuals belonging to a certain generation, allowing comparison of individuals from the point of view of semantic information they contain. In order to validate the work done, the tool has been tested with a context-free grammar previously defined, and numerous types test have been run with different parameters of the application. The results are compared according to their speed convergence
Resumo:
En el presente artículo se muestran las ventajas de la programación en paralelo resolviendo numéricamente la ecuación del calor en dos dimensiones a través del método de diferencias finitas explícito centrado en el espacio FTCS. De las conclusiones de este trabajo se pone de manifiesto la importancia de la programación en paralelo para tratar problemas grandes, en los que se requiere un elevado número de cálculos, para los cuales la programación secuencial resulta impracticable por el elevado tiempo de ejecución. En la primera sección se describe brevemente los conceptos básicos de programación en paralelo. Seguidamente se resume el método de diferencias finitas explícito centrado en el espacio FTCS aplicado a la ecuación parabólica del calor. Seguidamente se describe el problema de condiciones de contorno y valores iniciales específico al que se va a aplicar el método de diferencias finitas FTCS, proporcionando pseudocódigos de una implementación secuencial y dos implementaciones en paralelo. Finalmente tras la discusión de los resultados se presentan algunas conclusiones. In this paper the advantages of parallel computing are shown by solving the heat conduction equation in two dimensions with the forward in time central in space (FTCS) finite difference method. Two different levels of parallelization are consider and compared with traditional serial procedures. We show in this work the importance of parallel computing when dealing with large problems that are impractical or impossible to solve them with a serial computing procedure. In the first section a summary of parallel computing approach is presented. Subsequently, the forward in time central in space (FTCS) finite difference method for the heat conduction equation is outline, describing how the heat flow equation is derived in two dimensions and the particularities of the finite difference numerical technique considered. Then, a specific initial boundary value problem is solved by the FTCS finite difference method and serial and parallel pseudo codes are provided. Finally after results are discussed some conclusions are presented.
Resumo:
En la actualidad se estudia en numerosos campos cómo automatizar distintas tareas ejecutadas por aeronaves con tripulación humana. Estas tareas son en todos los casos muy costosos, debido al gran consumo de combustible, gran coste de adquisición y mantenimiento de la propia aeronave, todo ello sin contar el riesgo para los mismos tripulantes. Como ejemplo de estas tareas se puede incluir la vigilancia policial y fronteriza, revisiones de tendidos de alta tensión, la alerta temprana de incendios forestales y la medición de parámetros contaminantes. El objetivo de este proyecto es el diseño y la construcción de un prototipo electrónico empotrado basado en microcontrolador con núcleo C8051 de Silicon labs, que sea capaz de gobernar una aeronave de radiocontrol de forma transparente, de manera que en un futuro se pueda sustituir el propio aeromodelo, con la modificación de algunos parámetros, para poder incorporar sistemas de video o distintos medios de detección de variables. El prototipo seguirá una ruta confeccionada y transferida como un archivo de texto con un formato determinado que contendrá los datos necesarios para poder navegar mediante GPS. El trabajo con los modelos de motorización térmica (motores de combustión interna tipo glow, en este caso) resulta peligroso debido a la gran energía que son capaces de alcanzar. A fin de mantener la máxima seguridad durante la evolución del proyecto, se ha diseñado un proceso de tres partes independientes que permitan la correcta familiarización de los distintos componentes que se emplearán. Las fases son las siguientes: 1. Test y modelado de todos los componentes mediante pequeños montajes con protoboard de inserción y programas individuales. Se realizará mediante una tarjeta multipropósito que contendrá un microcontrolador similar en características, aunque de menor complejidad, al del prototipo final. 2. Integración de todos los componentes mediante una tarjeta especialmente diseñada que servirá de interfaz entre la tarjeta multipropósito y todo el hardware necesario para el control de un vehículo terrestre de iguales características (actuadores y motorización) al aeromodelo. 3. Diseño de un sistema embebido que concentre todos los subsistemas desarrollados en las fases anteriores y que integre todos los componentes necesarios para el gobierno de una aeronave de ala fija. ABSTRACT. Nowadays, the way of automating different tasks done by manned vehicles is studied. These tasks are any case very expensive, due to large fuel consumption, costs of aircraft buying, without taking into account the risk for human crew. As an example of these tasks, we can include policing or border surveillance, maintenance of high voltage lines, early warning of forest fire and measuring of pollution parameters. The target of this project is the design and construction of an embedded electronic prototype, based on a microcontroller with C8051 core from Silicon labs, and it will be able to controlling an aircraft transparently, in order that in the future the flying model could be changed with the modification of some parameters, and video or any variables detection systems could be added. The prototype will follow a designed and transferred path as an plain text file with a given format, that will contain all the necessary data for GPS navigation. Working with heat engine models (internal combustion engine, glow type, in this case) becomes dangerous due to the large energy that can be able to acquire. In order to keep the maximum safety level during the project evolution a three independent stages process have been designed, this allows familiarizing properly with the parts that will be used. The stages are as follows: 1. Test and modeling of all of the parts by little assemblies with through-hole protoboard and stand alone programs. It will be done with a multipurpose card which contains a microcontroller of similar characteristics, although less complex, of the final prototype. 2. Integrating of all of parts through a dedicated design card that will serve as interface between multipurpose card and all the necessary hardware for controlling a ground vehicle with the same characteristics (actuators and engine) of the flying model. 3. Embedded system designing that contains all the developed subsystems in the previous stages and integrates all the necessary parts for controlling a fixed-wing aircraft.
Resumo:
Este trabajo trata de la aplicación de los códigos detectores y correctores de error al diseño de los Computadores Tolerantes a Fallos, planteando varias estrategias óptimas de detección y corrección para algunos subsistemas. En primer lugar,"se justifica la necesidad de aplicar técnicas de Tolerancia a Fallos. A continuación se hacen previsiones de evolución de la tecnología de Integración, así como una tipificación de los fallos en circuitos Integrados. Partiendo de una recopilación y revisión de la teoría de códigos, se hace un desarrollo teórico cuya aplicación permite obligar a que algunos de estos códigos sean cerrados respecto de las operaciones elementales que se ejecutan en un computador. Se plantean estrategias óptimas de detección y corrección de error para sus subsistemas mas Importantes, culminando en el diseño, realización y prueba de una unidad de memoria y una unidad de proceso de datos con amplias posibilidades de detección y corrección de errores.---ABSTRACT---The present work deals with the application of error detecting and correctíng codes to the désign of Fault Tolerant Computers. Several óptimo» detection and correction strategies are presented to be applied in some subsystems. First of all, the necessity of applying Fault Tolerant techniques is explained. Later, a study on íntegration technology evolution and typification of Integrated circuit faults 1s developed. Based on a compilation and revisión of Coding Theory, a theoretical study is carried out. It allows us to force some of these codes to be closed over elementary operations. Optimum detection and correction techniques are presented for the raost important subsystems. Flnally, the design, building and testing of a memory unit and a processing unit provided with wlde error detection and correction posibilities 1s shown.
Resumo:
La regulación sobre la inclusión de medios de apoyo (subtítulos, audiodescripción y lengua de signos) en medios de comunicación audiovisual normalmente responde a cuestiones sobre cuánta programación debe incluir estos medios de apoyo y cómo deben ser sus características técnicas y funcionales. Sin embargo, deja al arbitrio del prestador del servicio la elección de cuáles son los contenidos concretos a los que aplicar los medios de apoyo. El presente trabajo pretende definir una serie de criterios para escoger los programas a los que aplicar los medios de apoyo. Dada la indefinición legal existente en ese aspecto en España, se parte de la forma de resolver este problema en otros territorios, de donde se abstraen una serie de criterios comunes y se clasifican en categorías más generales.
Resumo:
La tesis propone el concepto y diseño de una arquitectura cognitiva para representación de conocimiento profesional especializado en clases de dominios relacionados con el mundo físico. Constituye una extensión de los trabajos de B.Chandrasekaran, potenciando el concepto de arquitectura basada en tareas genéricas propuesta por dicho autor. En base a la arquitectura propuesta, se ha desarrollado un entorno como herramienta de construcción de sistemas expertos de segunda generación, así como un lenguaje para programación cognitiva (DECON)- Dicho entorno, programado en lenguaje C sobre UNIX, ha sido utilizado para el desarrollo de un sistema para predicción de avenidas en la Cuenca Hidrográfica del Jucar, en el marco del proyecto SAIH. Primeramente, la tesis plantea el problema de la modelización del comportamiento de los sistemas físicos, reflejando las limitaciones de las formas clásicas de representación del conocimiento para abordar dicho problema, así como los principales enfoques más recientes basados en el concepto de arquitectura cognitiva y en las técnicas de simulación cualitativa. Se realiza después una síntesis de la arquitectura propuesta, a nivel del conocimiento, para detallar posteriormente su desarrollo a nivel simbólico y de implementación, así como el método general para la construcción de modelos sobre la arquitectura. Se muestra también un resumen de los principales aspectos del desarrollo de software. Finalmente, en forma de anejos, se presenta un caso de estudio, el sistema SIRAH (Sistema Inteligente de Razonamiento Hidrológico), junto con la gramática formal del lenguaje de soporte para la definición de modelos.---ABSTRACT---The thesis proposes the concept and design of a cognitive architecture for professional knowledge representation, specialized in domain classes related to the physical world. It is an extensión of the Chandrasekaran's work, improving the concept of Generic Task based architecture introduced by this author. Based on the proposed architecture, an environment has been developed, as a case of second generation building expert systems tool, as well as a language for cognitive programming (DECON). The environment, programmed in C lenguage on UNIX operating system, has been used to develop a system for flood prediction in the Jucar watershed, inside of the SAIH project. Firstly, the behavior modeling problem of physical systems is discussed, showing the limitations of the classical representations to tackle it, beside the most recent approaches based on cognitive architecture concepts and qualitative simulation technique. An overview of the architecture at the knowledge level is then made, being followed by its symbolic and implementation level description, as well as a general guideline for building models on top of the architecture. The main aspects of software development are also introduced. Finaly, as annexes, a case of study -the SIRAH system (Sistema Inteligente de RAzonamiento Hidrológico)- is introduced, along with the formal grammar of the support language for model definition.
Resumo:
En el contexto de las técnicas de validación de programas, de las estructuras de axiomatización de la programación planteadas por Hoare y del desarrollo de la Lógica de la Programación que Dijkstra realiza con el operador wp, hemos dotado a los elementos esenciales que intervienen en dicho desarrollo de una estructura que permite su estudio en el ámbito de las categorias. En este trabajo se demuestra que el conjunto de precondiciones de un fragmento de programa anotado tiene estructura de N-categoría y que sucede lo mismo con el conjunto de postcondiciones. Más aún, se ha puesto de manifiesto (y probado) que el operador wp actúa como un funtor entre estos pares de N-categorías. Además, los conjuntos de guardas surgen de un modo natural en la lógica de la programación, han sido tratados desde el punto de vista de la semántica denotacional (Wlrth para el PASCAL y Scott y otros, después, en un enfoque más general) y presentados por Manes y Arbib en su semántica parcialmente aditiva. Pues bien, en este trabajo se demuestra que los conjuntos de guardas tienen también estructura de N-categoría y gue cualguier N-categoría dotada de una suma definida adecuadamente tiene estructura de conjunto de guardas, de tal modo, además, gue el preorden inducido por la suma en el conjunto de guardas coincide con la flecha de la N-categoría. Esta suma es, en concreto, la disyunción exclusiva, lo que adicionalmente supone una sorprendentemente sencilla definición alternativa a la suma de las categorías parcialmente aditivas definida por Manes y Arbib. Con todo esto, se aportan herramientas conceptuales para entender mejor y resolver más eficientemente los problemas que tiene planteados la lógica de la programación, pues se dispone de un punto de vista distinto y nuevo y de toda una familia de instrumentos adicionales.---ABSTRACT---In the context of program validation techniques, Hoare's systems for programming and Dijkstra's development of the logic of programming, based on the operator wp, we have endowed the essential features of this development with a structure that permits to study them in the frame of category theory. In this thesis we show that the set of preconditions of an annotated program segment is an N-category, and the same happens for the set of postconditions. Even more, it is shown that the operator wp acts as a functor between those pairs of Ncategories. Furthermore, guard sets come out in a natural way in the logic of programming, they have been considered from a denotational semantics point of view (Wirth for Pascal and afterwards Scott and al. in a more general setting) and they have been embodied by Manes and Arbib in their partially additive semantics. Then, it is shown in this thesis that the above mentioned guard sets also have the structure of an N-category and that any N-category with an appropiately defined sum has the structure of a guard set in such a way that, besides, the preorder defined in the guard set by the sum operation coincides with the arrows of the N-category. This sum is just the exclusive or of Boolean Logic and this fact adds a surprisingly simple alternative definition for the sum operation in Manes and Arbib partially additive categories. The present work, in summary, makes a contribution of conceptual tools for a better understanding and a more efficient solution of the problems posed to the logic of programming and it does so by providing a new different point of view and a whole family of additional techniques.
Resumo:
En el trabajo que aquí presentamos se incluye la base teórica (sintaxis y semántica) y una implementación de un framework para codificar el razonamiento de la representación difusa o borrosa del mundo (tal y como nosotros, seres humanos, entendemos éste). El interés en la realización de éste trabajo parte de dos fuentes: eliminar la complejidad existente cuando se realiza una implementación con un lenguaje de programación de los llamados de propósito general y proporcionar una herramienta lo suficientemente inteligente para dar respuestas de forma constructiva a consultas difusas o borrosas. El framework, RFuzzy, permite codificar reglas y consultas en una sintaxis muy cercana al lenguaje natural usado por los seres humanos para expresar sus pensamientos, pero es bastante más que eso. Permite representar conceptos muy interesantes, como fuzzificaciones (funciones usadas para convertir conceptos no difusos en difusos), valores por defecto (que se usan para devolver resultados un poco menos válidos que los que devolveríamos si tuviésemos la información necesaria para calcular los más válidos), similaridad entre atributos (característica que utilizamos para buscar aquellos individuos en la base de datos con una característica similar a la buscada), sinónimos o antónimos y, además, nos permite extender el numero de conectivas y modificadores (incluyendo modificadores de negación) que podemos usar en las reglas y consultas. La personalización de la definición de conceptos difusos (muy útil para lidiar con el carácter subjetivo de los conceptos borrosos, donde nos encontramos con que cualificar a alguien de “alto” depende de la altura de la persona que cualifica) es otra de las facilidades incluida. Además, RFuzzy implementa la semántica multi-adjunta. El interés en esta reside en que introduce la posibilidad de obtener la credibilidad de una regla a partir de un conjunto de datos y una regla dada y no solo el grado de satisfacción de una regla a partir de el universo modelado en nuestro programa. De esa forma podemos obtener automáticamente la credibilidad de una regla para una determinada situación. Aún cuando la contribución teórica de la tesis es interesante en si misma, especialmente la inclusión del modificador de negacion, sus multiples usos practicos lo son también. Entre los diferentes usos que se han dado al framework destacamos el reconocimiento de emociones, el control de robots, el control granular en computacion paralela/distribuída y las busquedas difusas o borrosas en bases de datos. ABSTRACT In this work we provide a theoretical basis (syntax and semantics) and a practical implementation of a framework for encoding the reasoning and the fuzzy representation of the world (as human beings understand it). The interest for this work comes from two sources: removing the existing complexity when doing it with a general purpose programming language (one developed without focusing in providing special constructions for representing fuzzy information) and providing a tool intelligent enough to answer, in a constructive way, expressive queries over conventional data. The framework, RFuzzy, allows to encode rules and queries in a syntax very close to the natural language used by human beings to express their thoughts, but it is more than that. It allows to encode very interesting concepts, as fuzzifications (functions to easily fuzzify crisp concepts), default values (used for providing results less adequate but still valid when the information needed to provide results is missing), similarity between attributes (used to search for individuals with a characteristic similar to the one we are looking for), synonyms or antonyms and it allows to extend the number of connectives and modifiers (even negation) we can use in the rules. The personalization of the definition of fuzzy concepts (very useful for dealing with the subjective character of fuzziness, in which a concept like tall depends on the height of the person performing the query) is another of the facilities included. Besides, RFuzzy implements the multi-adjoint semantics. The interest in them is that in addition to obtaining the grade of satisfaction of a consequent from a rule, its credibility and the grade of satisfaction of the antecedents we can determine from a set of data how much credibility we must assign to a rule to model the behaviour of the set of data. So, we can determine automatically the credibility of a rule for a particular situation. Although the theoretical contribution is interesting by itself, specially the inclusion of the negation modifier, the practical usage of it is equally important. Between the different uses given to the framework we highlight emotion recognition, robocup control, granularity control in parallel/distributed computing and flexible searches in databases.
Resumo:
El objetivo de esta tesis doctoral es la investigación del nuevo concepto de pinzas fotovoltaicas, es decir, del atrapamiento, ordenación y manipulación de partículas en las estructuras generadas en la superficie de materiales ferroeléctricos mediante campos fotovoltaicos o sus gradientes. Las pinzas fotovoltaicas son una herramienta prometedora para atrapar y mover las partículas en la superficie de un material fotovoltaico de una manera controlada. Para aprovechar esta nueva técnica es necesario conocer con precisión el campo eléctrico creado por una iluminación específica en la superficie del cristal y por encima de ella. Este objetivo se ha dividido en una serie de etapas que se describen a continuación. La primera etapa consistió en la modelización del campo fotovoltaico generado por iluminación no homogénea en substratos y guías de onda de acuerdo al modelo de un centro. En la segunda etapa se estudiaron los campos y fuerzas electroforéticas y dielectroforéticas que aparecen sobre la superficie de substratos iluminados inhomogéneamente. En la tercera etapa se estudiaron sus efectos sobre micropartículas y nanopartículas, en particular se estudió el atrapamiento superficial determinando las condiciones que permiten el aprovechamiento como pinzas fotovoltaicas. En la cuarta y última etapa se estudiaron las configuraciones más eficientes en cuanto a resolución espacial. Se trabajó con distintos patrones de iluminación inhomogénea, proponiéndose patrones de iluminación al equipo experimental. Para alcanzar estos objetivos se han desarrollado herramientas de cálculo con las cuales obtenemos temporalmente todas las magnitudes que intervienen en el problema. Con estas herramientas podemos abstraernos de los complicados mecanismos de atrapamiento y a partir de un patrón de luz obtener el atrapamiento. Todo el trabajo realizado se ha llevado a cabo en dos configuraciones del cristal, en corte X ( superficie de atrapamiento paralela al eje óptico) y corte Z ( superficie de atrapamiento perpendicular al eje óptico). Se ha profundizado en la interpretación de las diferencias en los resultados según la configuración del cristal. Todas las simulaciones y experimentos se han realizado utilizando como soporte un mismo material, el niobato de litio, LiNbO3, con el f n de facilitar la comparación de los resultados. Este hecho no ha supuesto una limitación en los resultados pues los modelos no se limitan a este material. Con respecto a la estructura del trabajo, este se divide en tres partes diferenciadas que son: la introducción (I), la modelización del atrapamiento electroforético y dielectroforético (II) y las simulaciones numéricas y comparación con experimentos (III). En la primera parte se fijan las bases sobre las que se sustentarán el resto de las partes. Se describen los efectos electromagnéticos y ópticos a los que se hará referencia en el resto de los capítulos, ya sea por ser necesarios para describir los experimentos o, en otros casos, para dejar constancia de la no aparición de estos efectos para el caso en que nos ocupa y justificar la simplificación que en muchos casos se hace del problema. En esta parte, se describe principalmente el atrapamiento electroforético y dielectroforético, el efecto fotovoltaico y las propiedades del niobato de litio por ser el material que utilizaremos en experimentos y simulaciones. Así mismo, como no debe faltar en ninguna investigación, se ha analizado el state of the art, revisando lo que otros científicos del campo en el que estamos trabajando han realizado y escrito con el fin de que nos sirva de cimiento a la investigación. Con el capítulo 3 finalizamos esta primera parte describiendo las técnicas experimentales que hoy en día se están utilizando en los laboratorios para realizar el atrapamiento de partículas mediante el efecto fotovoltaico, ya que obtendremos ligeras diferencias en los resultados según la técnica de atrapamiento que se utilice. En la parte I I , dedicada a la modelización del atrapamiento, empezaremos con el capítulo 4 donde modelizaremos el campo eléctrico interno de la muestra, para a continuación modelizar el campo eléctrico, los potenciales y las fuerzas externas a la muestra. En capítulo 5 presentaremos un modelo sencillo para comprender el problema que nos aborda, al que llamamos Modelo Estacionario de Separación de Carga. Este modelo da muy buenos resultados a pesar de su sencillez. Pasamos al capítulo 6 donde discretizaremos las ecuaciones que intervienen en la física interna de la muestra mediante el método de las diferencias finitas, desarrollando el Modelo de Distribución de Carga Espacial. Para terminar esta parte, en el capítulo 8 abordamos la programación de las modelizaciones presentadas en los anteriores capítulos con el fn de dotarnos de herramientas para realizar las simulaciones de una manera rápida. En la última parte, III, presentaremos los resultados de las simulaciones numéricas realizadas con las herramientas desarrolladas y comparemos sus resultados con los experimentales. Fácilmente podremos comparar los resultados en las dos configuraciones del cristal, en corte X y corte Z. Finalizaremos con un último capítulo dedicado a las conclusiones, donde resumiremos los resultados que se han ido obteniendo en cada apartado desarrollado y daremos una visión conjunta de la investigación realizada. ABSTRACT The aim of this thesis is the research of the new concept of photovoltaic or optoelectronic tweezers, i.e., trapping, management and manipulation of particles in structures generated by photovoltaic felds or gradients on the surface of ferroelectric materials. Photovoltaic tweezers are a promising tool to trap and move the particles on the surface of a photovoltaic material in a monitored way. To take advantage of this new technique is necessary to know accurately the electric field created by a specifc illumination in the crystal surface and above it. For this purpose, the work was divided into the stages described below. The first stage consisted of modeling the photovoltaic field generated by inhomogeneous illumination in substrates and waveguides according to the one-center model. In the second stage, electrophoretic and dielectrophoretic fields and forces appearing on the surface of substrates and waveguides illuminated inhomogeneously were studied. In the third stage, the study of its effects on microparticles and nanoparticles took place. In particular, the trapping surface was studied identifying the conditions that allow its use as photovoltaic tweezers. In the fourth and fnal stage the most efficient configurations in terms of spatial resolution were studied. Different patterns of inhomogeneous illumination were tested, proposing lightning patterns to the laboratory team. To achieve these objectives calculation tools were developed to get all magnitudes temporarily involved in the problem . With these tools, the complex mechanisms of trapping can be simplified, obtaining the trapping pattern from a light pattern. All research was carried out in two configurations of crystal; in X section (trapping surface parallel to the optical axis) and Z section (trapping surface perpendicular to the optical axis). The differences in the results depending on the configuration of the crystal were deeply studied. All simulations and experiments were made using the same material as support, lithium niobate, LiNbO3, to facilitate the comparison of results. This fact does not mean a limitation in the results since the models are not limited to this material. Regarding the structure of this work, it is divided into three clearly differentiated sections, namely: Introduction (I), Electrophoretic and Dielectrophoretic Capture Modeling (II) and Numerical Simulations and Comparison Experiments (III). The frst section sets the foundations on which the rest of the sections will be based on. Electromagnetic and optical effects that will be referred in the remaining chapters are described, either as being necessary to explain experiments or, in other cases, to note the non-appearance of these effects for the present case and justify the simplification of the problem that is made in many cases. This section mainly describes the electrophoretic and dielectrophoretic trapping, the photovoltaic effect and the properties of lithium niobate as the material to use in experiments and simulations. Likewise, as required in this kind of researches, the state of the art have been analyzed, reviewing what other scientists working in this field have made and written so that serve as a foundation for research. With chapter 3 the first section finalizes describing the experimental techniques that are currently being used in laboratories for trapping particles by the photovoltaic effect, because according to the trapping technique in use we will get slightly different results. The section I I , which is dedicated to the trapping modeling, begins with Chapter 4 where the internal electric field of the sample is modeled, to continue modeling the electric field, potential and forces that are external to the sample. Chapter 5 presents a simple model to understand the problem addressed by us, which is called Steady-State Charge Separation Model. This model gives very good results despite its simplicity. In chapter 6 the equations involved in the internal physics of the sample are discretized by the finite difference method, which is developed in the Spatial Charge Distribution Model. To end this section, chapter 8 is dedicated to program the models presented in the previous chapters in order to provide us with tools to perform simulations in a fast way. In the last section, III, the results of numerical simulations with the developed tools are presented and compared with the experimental results. We can easily compare outcomes in the two configurations of the crystal, in section X and section Z. The final chapter collects the conclusions, summarizing the results that were obtained in previous sections and giving an overview of the research.
Resumo:
En este proyecto se ha estudiado el abanico de posibilidades que las plataformas web y móviles ofrecen para aprender lenguajes de programación compilados. A continuación, se ha realizado el diseño y la implementación de una plataforma para el aprendizaje de lenguajes de programación desde dispositivos móviles, con posibilidad de compilación remota desde la aplicación desarrollada, analizando el proceso y las elecciones de desarrollo tomadas. Así, se ha desarrollado una app mediante la plataforma de desarrollo Cordova, que puede ser distribuida para todas las plataformas móviles que esta soporta, incluyendo las más populares: iOS y Android. Para la parte servidora se ha utilizado un servidor Apache (PHP) y el sistema NoSQL MongoDB para la base de datos. Para mayor facilidad en la gestión del contenido de la app, se ha desarrollado en paralelo un gestor web de la base de datos, el cual permite añadir, editar y eliminar contenido de la misma a través de una interfaz agradable y funcional. ABSTRACT. In this project I have studied the range of possibilities that web and mobile platforms offer to learn compiled programming languages. Next, I have designed and implemented a platform for learning programming languages from mobile devices, giving the possibility of remote compilation within the developed application. In this terms, I have developed an app with the Cordova development platform, which can be distributed for all the mobile platforms Cordova supports, including the most popular ones: iOS and Android. For the server part, I have used an Apache (PHP) server and the NoSQL database system MongoDB. In order to offer a more usable system and a better database management, I have also developed a web manager for the database, from which database content can be added, edited and removed, through a clear and functional interface.
Resumo:
Debido al gran incremento de datos digitales que ha tenido lugar en los últimos años, ha surgido un nuevo paradigma de computación paralela para el procesamiento eficiente de grandes volúmenes de datos. Muchos de los sistemas basados en este paradigma, también llamados sistemas de computación intensiva de datos, siguen el modelo de programación de Google MapReduce. La principal ventaja de los sistemas MapReduce es que se basan en la idea de enviar la computación donde residen los datos, tratando de proporcionar escalabilidad y eficiencia. En escenarios libres de fallo, estos sistemas generalmente logran buenos resultados. Sin embargo, la mayoría de escenarios donde se utilizan, se caracterizan por la existencia de fallos. Por tanto, estas plataformas suelen incorporar características de tolerancia a fallos y fiabilidad. Por otro lado, es reconocido que las mejoras en confiabilidad vienen asociadas a costes adicionales en recursos. Esto es razonable y los proveedores que ofrecen este tipo de infraestructuras son conscientes de ello. No obstante, no todos los enfoques proporcionan la misma solución de compromiso entre las capacidades de tolerancia a fallo (o de manera general, las capacidades de fiabilidad) y su coste. Esta tesis ha tratado la problemática de la coexistencia entre fiabilidad y eficiencia de los recursos en los sistemas basados en el paradigma MapReduce, a través de metodologías que introducen el mínimo coste, garantizando un nivel adecuado de fiabilidad. Para lograr esto, se ha propuesto: (i) la formalización de una abstracción de detección de fallos; (ii) una solución alternativa a los puntos únicos de fallo de estas plataformas, y, finalmente, (iii) un nuevo sistema de asignación de recursos basado en retroalimentación a nivel de contenedores. Estas contribuciones genéricas han sido evaluadas tomando como referencia la arquitectura Hadoop YARN, que, hoy en día, es la plataforma de referencia en la comunidad de los sistemas de computación intensiva de datos. En la tesis se demuestra cómo todas las contribuciones de la misma superan a Hadoop YARN tanto en fiabilidad como en eficiencia de los recursos utilizados. ABSTRACT Due to the increase of huge data volumes, a new parallel computing paradigm to process big data in an efficient way has arisen. Many of these systems, called dataintensive computing systems, follow the Google MapReduce programming model. The main advantage of these systems is based on the idea of sending the computation where the data resides, trying to provide scalability and efficiency. In failure-free scenarios, these frameworks usually achieve good results. However, these ones are not realistic scenarios. Consequently, these frameworks exhibit some fault tolerance and dependability techniques as built-in features. On the other hand, dependability improvements are known to imply additional resource costs. This is reasonable and providers offering these infrastructures are aware of this. Nevertheless, not all the approaches provide the same tradeoff between fault tolerant capabilities (or more generally, reliability capabilities) and cost. In this thesis, we have addressed the coexistence between reliability and resource efficiency in MapReduce-based systems, looking for methodologies that introduce the minimal cost and guarantee an appropriate level of reliability. In order to achieve this, we have proposed: (i) a formalization of a failure detector abstraction; (ii) an alternative solution to single points of failure of these frameworks, and finally (iii) a novel feedback-based resource allocation system at the container level. Finally, our generic contributions have been instantiated for the Hadoop YARN architecture, which is the state-of-the-art framework in the data-intensive computing systems community nowadays. The thesis demonstrates how all our approaches outperform Hadoop YARN in terms of reliability and resource efficiency.