113 resultados para COMPUTACIÓN
Resumo:
Las Redes de Procesadores Evolutivos-NEP propuestas en [Mitrana et al., 2001], son un modelo computacional bio-inspirado a partir de la evolución de poblaciones de células, definiendo a nivel sintáctico algunas propiedades biológicas. En este modelo, las células están representadas por medio de palabras que describen secuencias de ADN. Informalmente, en algún instante de tiempo, el sistema evolutivo está representado por una colección de palabras cada una de las cuales representa una célula. El espacio genotipo de las especies, es un conjunto que recoge aquellas palabras que son aceptadas como sobrevivientes (es decir, como \correctas"). Desde el punto de vista de la evolución, las células pertenecen a especies y su comunidad evoluciona de acuerdo a procesos biológicos como la mutación y la división celular. éstos procesos representan el proceso natural de evolución y ponen de manifiesto una característica intrínseca de la naturaleza: el paralelismo. En este modelo, estos procesos son vistos como operaciones sobre palabras. Formalmente, el modelo de las NEP constituyen una arquitectura paralela y distribuida de procesamiento simbólico inspirada en la Máquina de conexión [Hillis, 1981], en el Paradigma de Flujo Lógico [Errico and Jesshope, 1994] y en las Redes de Procesadores Paralelos de Lenguajes (RPPL) [Csuhaj-Varju and Salomaa, 1997]. Al modelo NEP se han ido agregando nuevas y novedosas extensiones hasta el punto que actualmente podemos hablar de una familia de Redes de Procesadores Bio-inspirados (NBP) [Mitrana et al., 2012b]. Un considerable número de trabajos a lo largo de los últimos años han demostrado la potencia computacional de la familia NBP. En general, éstos modelos son computacionalmente completos, universales y eficientes [Manea et al., 2007], [Manea et al., 2010b], [Mitrana and Martín-Vide, 2005]. De acuerdo a lo anterior, se puede afirmar que el modelo NEP ha adquirido hasta el momento un nivel de madurez considerable. Sin embargo, aunque el modelo es de inspiración biológica, sus metas siguen estando motivadas en la Teoría de Lenguajes Formales y las Ciencias de la Computación. En este sentido, los aspectos biológicos han sido abordados desde una perspectiva cualitativa y el acercamiento a la realidad biológica es de forma meramente sintáctica. Para considerar estos aspectos y lograr dicho acercamiento es necesario que el modelo NEP tenga una perspectiva más amplia que incorpore la interacción de aspectos tanto cualitativos como cuantitativos. La contribución de esta Tesis puede considerarse como un paso hacia adelante en una nueva etapa de los NEPs, donde el carácter cuantitativo del modelo es de primordial interés y donde existen posibilidades de un cambio visible en el enfoque de interés del dominio de los problemas a considerar: de las ciencias de la computación hacia la simulación/modelado biológico y viceversa, entre otros. El marco computacional que proponemos en esta Tesis extiende el modelo de las Redes de Procesadores Evolutivos (NEP) y define arquitectura inspirada en la definición de bloques funcionales del proceso de señalización celular para la solución de problemas computacionales complejos y el modelado de fenómenos celulares desde una perspectiva discreta. En particular, se proponen dos extensiones: (1) los Transductores basados en Redes de Procesadores Evolutivos (NEPT), y (2) las Redes Parametrizadas de Procesadores Evolutivos Polarizados (PNPEP). La conservación de las propiedades y el poder computacional tanto de NEPT como de PNPEP se demuestra formalmente. Varias simulaciones de procesos relacionados con la señalización celular son abordadas sintáctica y computacionalmente, con el _n de mostrar la aplicabilidad e idoneidad de estas dos extensiones. ABSTRACT Network of Evolutionary Processors -NEP was proposed in [Mitrana et al., 2001], as a computational model inspired by the evolution of cell populations, which might model some properties of evolving cell communities at the syntactical level. In this model, cells are represented by words which encode their DNA sequences. Informally, at any moment of time, the evolutionary system is described by a collection of words, where each word represents one cell. Cells belong to species and their community evolves according to mutations and division which are defined by operations on words. Only those cells accepted as survivors (correct) are represented by a word in a given set of words, called the genotype space of the species. This feature is analogous with the natural process of evolution. Formally, NEP is based on an architecture for parallel and distributed processing inspired from the Connection Machine [Hillis, 1981], the Flow Logic Paradigm [Errico and Jesshope, 1994] and the Networks of Parallel Language Processors (RPPL) [Csuhaj-Varju and Salomaa, 1997]. Since the date when NEP was proposed, several extensions and variants have appeared engendering a new set of models named Networks of Bio-inspired Processors (NBP) [Mitrana et al., 2012b]. During this time, several works have proved the computational power of NBP. Specifically, their efficiency, universality, and computational completeness have been thoroughly investigated [Manea et al., 2007, Manea et al., 2010b, Mitrana and Martín-Vide, 2005]. Therefore, we can say that the NEP model has reached its maturity. Nevertheless, although the NEP model is biologically inspired, this model is mainly motivated by mathematical and computer science goals. In this context, the biological aspects are only considered from a qualitative and syntactical perspective. In view of this lack, it is important to try to keep the NEP theory as close as possible to the biological reality, extending their perspective incorporating the interplay of qualitative and quantitative aspects. The contribution of this Thesis, can be considered as a starting point in a new era of the NEP model. Then, the quantitative character of the NEP model is mandatory and it can address completely new different types of problems with respect to the classical computational domain (e.g. from the computer science to system biology). Therefore, the computational framework that we propose extends the NEP model and defines an architecture inspired by the functional blocks from cellular signaling in order to solve complex computational problems and cellular phenomena modeled from a discrete perspective. Particularly, we propose two extensions, namely: (1) Transducers based on Network of Evolutionary Processors (NEPT), and (2) Parametrized Network of Polarized Evolutionary Processors (PNPEP). Additionally, we have formally proved that the properties and computational power of NEP is kept in both extensions. Several simulations about processes related with cellular signaling both syntactical and computationally have been considered to show the model suitability.
Resumo:
La computación distribuida ha estado presente desde hace unos cuantos años, pero es quizás en la actualidad cuando está contando con una mayor repercusión. En los últimos años el modelo de computación en la nube (Cloud computing) ha ganado mucha popularidad, prueba de ello es la cantidad de productos existentes. Todo sistema informático requiere ser controlado a través de sistemas de monitorización que permiten conocer el estado del mismo, de tal manera que pueda ser gestionado fácilmente. Hoy en día la mayoría de los productos de monitorización existentes limitan a la hora de visualizar una representación real de la arquitectura de los sistemas a monitorizar, lo que puede dificultar la tarea de los administradores. Es decir, la visualización que proporcionan de la arquitectura del sistema, en muchos casos se ve influenciada por el diseño del sistema de visualización, lo que impide ver los niveles de la arquitectura y las relaciones entre estos. En este trabajo se presenta un sistema de monitorización para sistemas distribuidos o Cloud, que pretende dar solución a esta problemática, no limitando la representación de la arquitectura del sistema a monitorizar. El sistema está formado por: agentes, que se encargan de la tarea de recolección de las métricas del sistema monitorizado; un servidor, al que los agentes le envían las métricas para que las almacenen en una base de datos; y una aplicación web, a través de la que se visualiza toda la información. El sistema ha sido probado satisfactoriamente con la monitorización de CumuloNimbo, una plataforma como servicio (PaaS), que ofrece interfaz SQL y procesamiento transaccional altamente escalable sobre almacenes clave valor. Este trabajo describe la arquitectura del sistema de monitorización, y en concreto, el desarrollo de la principal contribución al sistema, la aplicación web. ---ABSTRACT---Distributed computing has been around for quite a long time, but now it is becoming more and more important. In the last few years, cloud computing, a branch of distributed computing has become very popular, as its different products in the market can prove. Every computing system requires to be controlled through monitoring systems to keep them functioning correctly. Currently, most of the monitoring systems in the market only provide a view of the architectures of the systems monitored, which in most cases do not permit having a real view of the system. This lack of vision can make administrators’ tasks really difficult. If they do not know the architecture perfectly, controlling the system based on the view that the monitoring system provides is extremely complicated. The project introduces a new monitoring system for distributed or Cloud systems, which shows the real architecture of the system. This new system is composed of several elements: agents, which collect the metrics of the monitored system; a server, which receives the metrics from the agents and saves them in a database; and a web application, which shows all the data collected in an easy way. The monitoring system has been tested successfully with Cumulonimbo. CumuloNimbo is a platform as a service (PaaS) which offers an SQL interface and a high-scalable transactional process. This platform works over key-value storage. This project describes the architecture of the monitoring system, especially, the development of the web application, which is the main contribution to the system.
Resumo:
Los lenguajes de programación son el idioma que los programadores usamos para comunicar a los computadores qué queremos que hagan. Desde el lenguaje ensamblador, que traduce una a una las instrucciones que interpreta un computador hasta lenguajes de alto nivel, se ha buscado desarrollar lenguajes más cercanos a la forma de pensar y expresarse de los humanos. Los lenguajes de programación lógicos como Prolog utilizan a su vez el lenguaje de la lógica de 1er orden de modo que el programador puede expresar las premisas del problema que se quiere resolver sin preocuparse del cómo se va a resolver dicho problema. La resolución del problema se equipara a encontrar una deducción del objetivo a alcanzar a partir de las premisas y equivale a lo que entendemos por la ejecución de un programa. Ciao es una implementación de Prolog (http://www.ciao-lang.org) y utiliza el método de resolución SLD, que realiza el recorrido de los árboles de decisión en profundidad(depth-first) lo que puede derivar en la ejecución de una rama de busqueda infinita (en un bucle infinito) sin llegar a dar respuestas. Ciao, al ser un sistema modular, permite la utilización de extensiones para implementar estrategias de resolución alternativas como la tabulación (OLDT). La tabulación es un método alternativo que se basa en memorizar las llamadas realizadas y sus respuestas para no repetir llamadas y poder usar las respuestas sin recomputar las llamadas. Algunos programas que con SLD entran en un bucle infinito, gracias a la tabulación dán todas las respuestas y termina. El modulo tabling es una implementación de tabulación mediante el algoritmo CHAT. Esta implementación es una versión beta que no tiene implementado un manejador de memoria. Entendemos que la gestión de memoria en el módulo de tabling tiene gran importancia, dado que la resolución con tabulación permite reducir el tiempo de computación (al no repetir llamadas), aumentando los requerimientos de memoria (para guardar las llamadas y las respuestas). Por lo tanto, el objetivo de este trabajo es implementar un mecanismo de gestión de la memoria en Ciao con el módulo tabling cargado. Para ello se ha realizado la implementación de: Un mecanismo de captura de errores que: detecta cuando el computador se queda sin memoria y activa la reinicialización del sitema. Un procedimiento que ajusta los punteros del modulo de tabling que apuntan a la WAM tras un proceso de realojo de algunas de las áreas de memoria de la WAM. Un gestor de memoria del modulo de tabling que detecta c realizar una ampliación de las áreas de memoria del modulo de tabling, realiza la solicitud de más memoria y realiza el ajuste de los punteros. Para ayudar al lector no familiarizado con este tema, describimos los datos que Ciao y el módulo de tabling alojan en las áreas de memoria dinámicas que queremos gestionar. Los casos de pruebas desarrollados para evaluar la implementación del gestor de memoria, ponen de manifiesto que: Disponer de un gestor de memoria dinámica permite la ejecución de programas en un mayor número de casos. La política de gestión de memoria incide en la velocidad de ejecución de los programas. ---ABSTRACT---Programming languages are the language that programmers use in order to communicate to computers what we want them to do. Starting from the assembly language, which translates one by one the instructions to the computer, and arriving to highly complex languages, programmers have tried to develop programming languages that resemble more closely the way of thinking and communicating of human beings. Logical programming languages, such as Prolog, use the language of logic of the first order so that programmers can express the premise of the problem that they want to solve without having to solve the problem itself. The solution to the problem is equal to finding a deduction of the objective to reach starting from the premises and corresponds to what is usually meant as the execution of a program. Ciao is an implementation of Prolog (http://www.ciao-lang.org) and uses the method of resolution SLD that carries out the path of the decision trees in depth (depth-frist). This can cause the execution of an infinite searching branch (an infinite loop) without getting to an answer. Since Ciao is a modular system, it allows the use of extensions to implement alternative resolution strategies, such as tabulation (OLDT). Tabulation is an alternative method that is based on the memorization of executions and their answers, in order to avoid the repetition of executions and to be able to use the answers without reexecutions. Some programs that get into an infinite loop with SLD are able to give all the answers and to finish thanks to tabulation. The tabling package is an implementation of tabulation through the algorithm CHAT. This implementation is a beta version which does not present a memory handler. The management of memory in the tabling package is highly important, since the solution with tabulation allows to reduce the system time (because it does not repeat executions) and increases the memory requirements (in order to save executions and answers). Therefore, the objective of this work is to implement a memory management mechanism in Ciao with the tabling package loaded. To achieve this goal, the following implementation were made: An error detection system that reveals when the computer is left without memory and activate the reinizialitation of the system. A procedure that adjusts the pointers of the tabling package which points to the WAM after a process of realloc of some of the WAM memory stacks. A memory manager of the tabling package that detects when it is necessary to expand the memory stacks of the tabling package, requests more memory, and adjusts the pointers. In order to help the readers who are not familiar with this topic, we described the data which Ciao and the tabling package host in the dynamic memory stacks that we want to manage. The test cases developed to evaluate the implementation of the memory manager show that: A manager for the dynamic memory allows the execution of programs in a larger number of cases. Memory management policy influences the program execution speed.
Resumo:
En la actualidad se está viviendo el auge del Cloud Computing (Computación en la Nube) y cada vez son más las empresas importantes en el sector de las Tecnologías de la Información que apuestan con fuerza por estos servicios. Por un lado, algunas ofrecen servicios, como Amazon y su sistema IaaS (Infrastructure as a Service) Amazon Web Services (AWS); por otro, algunas los utilizan, como ocurre en el caso de este proyecto, en el que Telefonica I+D hace uso de los servicios proporcionados por AWS para sus proyectos. Debido a este crecimiento en el uso de las aplicaciones distribuidas es importante tener en cuenta el papel que desempeñan los desarrolladores y administradores de sistemas que han de trabajar y mantener todas las máquinas remotas de uno o varios proyectos desde una única máquina local. El ayudar a realizar estas tareas de la forma más cómoda y automática posible es el objetivo principal de este proyecto. En concreto, el objetivo de este proyecto es el diseño y la implementación de una solución software que ayude a la productividad en el desarrollo y despliegue de aplicaciones en un conjunto de máquinas remotas desde una única máquina local, teniendo como base una prueba de concepto realizada anteriormente que prueba las funcionalidades más básicas de las librerías utilizadas para el desarrollo de la herramienta. A lo largo de este proyecto se han estudiado las diferentes alternativas que se encuentran en el mercado que ofrecen al menos parte de la soluci6n a los problemas abordados, pese a que los requisitos de la empresa indicaban que la herramienta debía implementarse de forma completa. Se estudió a fondo después la prueba de concepto de la que se partía para, con los conocimientos adquiridos sobre el tema, mejorarla cumpliendo los objetivos marcados. Tras el desarrollo y la implementaci6n completa de la herramienta se proponen posibles caminos a seguir en el futuro. ---ABSTRACT---Nowadays we are experiencing the rise of Cloud Computing and every day more and more important IT companies are betting hard for this kind of services. On one hand, some of these companies offer services such as Amazon IaaS (Infrastructure as a Service) system Amazon Web Services (AWS); on the other hand, some of them use these services, as in the case of this project, in which Telefonica I+D uses the services provided by AWS in their projects. Due this growth in the use of distributed applications it is important to consider the developers and system administrators' roles, who have to work and do the maintenance of all the remote machines from one or several projects from a single local machine. The main goal of this project is to help with these tasks making them as comfortable and automatically as possible. Specifically, the goal of this project is the design and implementation of a software solution that helps to achieve a better productivity in the development of applications on a set of remote machines from a single local machine, based on a proof of concept developed before, in which the basic functionality of the libraries used in this tool were tested. Throughout this project the different alternatives on the market that offer at least part of the solution to the problem addressed have been studied, although according to the requirements of the company, the tool should be implemented from scratch. After that, the basic proof of concept was thoroughly studied and improved with the knowledge acquired on the subject, fulfilling the marked goals. Once the development and full implementation of the tool is done, some ways of improvement for the future are suggested.
Resumo:
Debido a la creciente relevancia de la computación en la nube y de los sistemas distribuidos, cobran también creciente interés las herramientas que ayudan a los desarrolladores y administradores a desempeñar sus funciones con la mayor eficacia posible. Por ello el objetivo principal de este trabajo es el desarrollo de una herramienta capaz de crear y controlar un entorno de almacenamiento de claves distribuidas desde una máquina local e independiente, aumentando la productividad mediante la automatización de todas las tareas. La herramienta desarrollada tiene la capacidad necesaria para integrarse tanto en proyectos que se encuentren en marcha como para proyectos que aún no hayan comenzado y proveer una solución sencilla, eficaz, y, sobre todo, útil. A lo largo del trabajo se ha realizado una gran tarea de análisis para determinar cuáles serán, de entre las posibilidades existentes, las más apropiadas para su implementación, teniendo en cuenta las tecnologías líderes disponibles en el estado del arte. Ello ha requerido también la obtención de una mejor comprensión de su funcionamiento interno. Se han realizado diferentes diseños que se han analizado y discutido en detalle para encontrar la solución que mejor se adaptaba a los objetivos propuestos. Y finalmente se ha desarrollado una herramienta ligera y sencilla, pero con un gran potencial para la administración. ---ABSTRACT---Due to the growing relevance of cloud computing and distributed systems it seems interesting to take into account the importance of the administration tools that help developers and administrators fulfill their duties in the most efficient ways. Because of this motivation, the main objective of this project is the development of a tool capable of creating and controlling a distributed key storing environment from a local and independent machine, improving the productivity thanks to the automation of all the involved tasks. The developed tool is able to integrate itself into already running projects as well as in not-yet-started ones, providing a simple, efficient and overall useful solution. During this project big tasks of research and analysis have taken place in order to determine, from the existent possibilities, the most suitable for its implementation, taking into account the leading technologies in the sector, which are described in the state of the art section. This has required the acquisition of a better insight of their inner workings. Some different designs have been made and have been discussed in detail with the intention of finding the solution that best suits the proposed objectives. And finally a lightweight and simple tool has been developed, which presents a very big potential for administration tasks.
Resumo:
Este libro sirve de texto para estudiantes de las Escuelas Técnicas, pero es de utilidad inmediata también para el profesional que busca comprender las raíces de los métodos de cálculo actuales y/o disponer de una herramienta que le permita resolver problemas inabordables con los métodos no computerizados (descripción de la editorial). Estas notas están dirigidas a personas que comiencen su aprendizaje en los métodos modernos de cálculo de estructuras. Se ha procurado mantener un tono elemental y sólo en muy contadas ocasiones se han avanzado temas que pueden requerir un tiempo de reflexión superior al que dedica a sus asignaturas un estudiante medio. En general, se ha pretendido desarrollar ideas, más que técnicas de computación, para que el lector se convenza de la potencia del modelo de razonamiento utilizado por los métodos proyectivos, cuya generalidad permite su aplicación a áreas muy distintas de la ciencia y de la técnica. No obstante, siguiendo la filosofía de la colección en la que se publica la obra, se ha dedicado también una parte sustancial del texto a la descripción de ciertos manejos informáticos y de un sencillo programa de ordenador que ha sido documentado cuidadosamente para que el principiante no encuentre inconveniente en desentrañar el procedimiento. Se espera con ello romper el sentimiento de misterio, mezcla de prevención y asombro, con que se ha intentado en ocasiones rodear un método de cálculo cuyas bases son absolutamente clásicas y cuya metodología entronca con la mejor tradición mecánica (extracto del prólogo).
Resumo:
Se plantea el problema de conseguir un método que, partiendo de una malla inicial en elementos finitos, genere una malla próxima a la óptima, conservando el mismo número de grados de libertad y, por consiguiente, sin penalizar los tiempos de análisis por ordenador. La bondad de una malla se mide por un funcional determinado (Energía Potencial Total, Error Cuadrático Medio, etc.) La Técnica de gradiente descendente, aplicada al funcional de Energía Potencial Total (1) permite, a partir de una inicial dada, obtener una malla mejorada. No obstante, este método requiere un esfuerzo de computación muy grande. Como consecuencia de la aplicación del método del gradiente descendente a numerosos casos, se ha observado que la geometría que adopta la malla mejorada, se aproxima a la de una malla tal que sus nudos se sitúen sobre las líneas isostáticas (envolventes de las tensiones principales) y generen elementos regulares (de lados iguales) o cuasirregulares. La conclusión más importante es, precisamente, que a partir de una malla inicial, razonablemente regular, se puede realizar un único análisis y definir las isostáticas correspondientes a este modelo. Ajustando una malla, con el mismo número de nudos que la inicial, a las líneas isostáticas con nudos situados de forma regular, se obtiene otra que está próxima a la óptima. A la malla así obtenida, se la denomina isostática isométrica. Esta conclusión se ha probado que es válida para los diferentes funcionales que se utilizan para evaluar la bondad de la malla en elementos finitos.
Resumo:
Estas notas, que se publican en dos volúmenes, surgen como resultado de las clases de doctorado que, durante el curso académico 1979-80, impartió Avelino Samartín en la Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos de la Universidad de Santander. El objetivo del curso era ambicioso ya que se intentaban presentar, de un modo panorámico, los distintos procedimientos analíticos y semianalíticos de Cálculo de Estructuras así como su aplicación al análisis efectivo de diferentes casos prácticos: vigas, placas y láminas. La publicación que se presenta es el volumen uno, que corresponde a la primera parte del curso, referente a los métodos generales de cálculo y su aplicación a casos sencillos : estructuras 1-D y 2-D. También se incluye, en el capítulo 5, una combinación natural de elementos 2-D - laja y placa-, correspondiente a la lámina plegada. Se deja para un segundo volumen el estudio de otras estructuras laminares específicas, así como la introducción a la teoría general de láminas. A lo largo del curso -y en estas notas se refleja- se ha intentado mostrar la identidad de la metodología existente en todo el cálculo estructural , desde la estructura más simple -columna- a la más compleja -lámina-, tanto en su planteamiento como en su resolución. Con esta publicación se desea -aparte de cubrir un evidente vacío bibliográfico, en nuestra lengua, sobre el tema- impulsar el uso de los diferentes métodos analíticos que actualmente existen y que, por causas bien conocidas - facilidad de computación - han sido, en opinión de los autores, inmerecidamente relegados al olvido, cuando podrían, muchas veces, sustituir , o al menos complementar, otras técnicas numéricas más potentes.
Resumo:
The research group is currently developing a biological computing model to be implemented with Escherichia Coli bacteria and bacteriophages M13, but it has to be modelled and simulated before any experiment in order to reduce the amount of failed attempts, time and costs. The problem that gave rise to this project is that there are no software tools which are able to simulate the biological process underlying that com- putational model, so it needs to be developed before doing any experimental implementation. There are several software tools which can simulate most of the biological processes and bacterial interactions in which this model is based, so what needs to be done is to study those available simulation tools, compare them and choose the most appropriate in order to be improved adding the desired functionality for this design. Directed evolution is a method used in biotechnology to obtain proteins or nucleic acids with properties not found in nature. It consists of three steps: 1) creating a library of mutants, 2) selecting the mutants with the desired properties, 3) replicating the variants identified in the selection step. The new software tool will be verified by simulating the selection step of a process of directed evolution applied to bacteriophages. ---ABSRACT---El grupo de investigación está desarrollando un modelo de computación biolóogica para ser implementado con bacterias Escherichia Coli y bacteriofagos M13, aunque primero tiene que ser modelizado antes de realizar cualquier experimento, de forma que los intentos fallidos y por lo tanto los costes se verán reducidos. El problema que dio lugar a este proyecto es la ausencia de herramientas software capaces de simular el proceso biológico que subyace a este modelo de computación biológica, por lo que dicha herramienta tiene que ser desarrollada antes de realizar cualquier implementación real. Existen varias herramientas software capaces de simular la mayoría de los procesos biológicos y las interacciones entre bacterias en los que se basa este modelo, por lo que este trabajo consiste en realizar un estudio de dichas herramientas de simulación, compararlas y escoger aquella más apropiada para ser mejorada añadiendo la funcionalidad deseada para este diseño. La evolución dirigida es un método utilizado en biotecnología para obtener proteínas o ácidos nucleicos con propiedades que no se encuentran en la naturaleza. Este método consiste en tres pasos: 1) crear una librería de mutantes, 2) seleccionar los mutantes con las propiedades deseadas, 3) Replicar los mutantes deseados. La nueva herramienta software será verificada mediante la simulación de la selección de mutantes de un proceso de evolución dirigida aplicado a bacteriofagos.
Resumo:
En el marco del proyecto europeo FI-WARE, en el CoNWet Lab (laboratorio de la ETSI Informáticos de la UPM) se ha implementado la plataforma Web Wstore que es una implementación de referencia del Store Generic Enabler perteneciente a dicho proyecto. El objetivo de FI-WARE es crear la plataforma núcleo del Internet del Futuro (IoF) con la intención de incrementar la competitividad global europea en el mundo de las TI. El proyecto introduce una infraestructura innovadora para la creación y distribución de servicios digitales en internet. WStore ofrece a los proveedores de servicios la plataforma donde publicar sus ofertas y desde la cual los clientes podrán acceder ellas. Estos proveedores ofrecen servicios Web, aplicaciones, widgets y data sets del mismo modo que Google ofrece aplicaciones en la tienda online Google Play o Apple en el App Store. WStore está implementada actualmente como una plataforma Web, por lo que una organización que desee ofrecer el servicio de la store necesita instalar el software en un servidor propio y disponer de un dominio para ofrecer sus productos. El objetivo de este trabajo es migrar WStore a un entorno de computación en la nube de manera que con una única instancia se ofrezca el servicio a las organizaciones que deseen disponer de su propia plataforma, de la cual tendrán total control como si se encontrase en su propia infraestructura. Para esto se implementa una versión de WStore que será desplegada en una infraestructura cloud y ofrecida como Software as a Service. La implementación incluye una serie de módulos de código que se podrán añadir opcionalmente en el proceso de instalación si se desea que la instancia instalada sea Multitenant. Además, en este trabajo se estudian y prueban las herramientas que ofrece MongoDB para desplegar la plataforma Wstore Multitenant en una infraestructura cloud. Estas herramientas son replica sets y sharding que permiten desplegar una base de datos escalable y de alta disponibilidad. ---ABSTRACT---In the context of the European project FI-WARE, the CoNWeT Lab (IT Lab from ETSIINF UPM university) has been implemented the web platform WStore. WStore is a reference implementation of the Generic Enabler Store from FI-WARE project. The FI-WARE goal is to create the core platform of the Future Internet (IoF) with the intention of enhancing Europe's global competitiveness in IT technologies. FI-WARE introduces an innovative infrastructure for the creation and distribution of digital services over the Internet. WStore offers to service providers a platform to publicate offerings and where customers can access them. The providers offer web services, applications, widgets and data sets in the same way that Google offers online applications on Google Play or Apple on App Store plataforms. WStore is currently implemented as a web platform, so if an organization wants to offer the store service, it need to install the software on it’s own serves and have a domain to offer their products. The objective of this paper is to migrate WStore to a cloud computing environment where a single instance of the WStore is offered as a web service to organizations who want their own store. Customers (tenants) of the WStore web service will have total control over the software and WStore administration. The implementation includes several code modules that can be optionally added in the installation process to build a Multitenant instance. In addition, this paper review the tools that MongoDB provide for scalability and high availability (replica sets and sharding) with the purpose of deploying multi-tenant WStore on a cloud infrastructure.
Resumo:
El principal objetivo de este trabajo es aportar conocimiento para contestar la pregunta: ¿hasta que punto los ensayos en túnel aerodinámico pueden contribuir a determinar las características que afectan la respuesta dinámica de los aerogeneradores operando en terreno complejo?. Esta pregunta no es nueva, de hecho, el debate en la comunidad científica comenzó en el primer tercio del siglo pasado y aún está intensamente vivo. El método generalmente aceptado para enfrentar el mencionado problema consiste en analizar un caso de estudio determinado en el cual se aplican tanto ensayos a escala real como análisis computacionales y ensayos en túnel aerodinámico. Esto no es ni fácil ni barato. Esta es la razón por la cual desde el experimento de Askervein en 1988, los modelizadores del flujo atmosférico tuvieron que esperar hasta 2007 a que el experimento de Bolund fuese puesto en marcha con un despliegue de medios técnicos equivalentes (teniendo en cuenta la evolución de las tecnologías de sensores y computación). El problema contempla tantos aspectos que ambas experiencias fueron restringidas a condiciones de atmósfera neutra con efectos de Coriolis despreciables con objeto de reducir la complejidad. Este es el contexto en el que se ha desarrollado la presente tesis doctoral. La topología del flujo sobre la isla de Bolund ha sido estudiada mediante la reproducción del experimento de Bolund en los túneles aerodinámicos A9 y ACLA16 del IDR. Dos modelos de la isla de Bolund fueron fabricados a dos escalas, 1:230 y 1:115. El flujo de entrada en el túnel aerodinámico simulando la capa límite sin perturbar correspondía a régimen de transición (transitionally rough regime) y fue usado como situación de referencia. El modelo a escala 1:230 fue ensayado en el túnel A9 para determinar la presión sobre su superficie. La distribución del coeficiente de presión sobre la isla proporcionó una visualización y estimación de una región de desprendimiento sobre el pequeño acantilado situado al frente de la misma. Las medidas de presión instantánea con suficiente grado de resolución temporal pusieron de manifiesto la no estacionariedad en la región de desprendimiento. El modelo a escala 1:115 fue ensayado utilizando hilo caliente de tres componentes y un sistema de velocimetría por imágenes de partículas de dos componentes. El flujo fue caracterizado por el ratio de aceleración, el incremento normalizado de energía cinética turbulenta y los ángulos de inclinación y desviación horizontal. Los resultados a lo largo de la dirección 270°y alturas de 2 m y 5 m presentaron una gran similitud con los resultados a escala real del experimento de Bolund. Los perfiles verticales en las localizaciones de las torres meteorológicas mostraron un acuerdo significativo con los resultados a escala real. El análisis de los esfuerzos de Reynolds y el análisis espectral en las localizaciones de los mástiles meteorológicos presentaron niveles de acuerdo variados en ciertas posiciones, mientras que en otras presentaron claras diferencias. El mapeo horizontal del flujo, para una dirección de viento de 270°, permitió caracterizar el comportamiento de la burbuja intermitente de recirculación sobre el pequeño acantilado existente al frente de la isla así como de la región de relajación y de la capa de cortadura en la región corriente abajo de Bolund. Se realizaron medidas de velocidad con alta resolución espacial en planos perpendiculares a la dirección del flujo sin perturbar. Estas medidas permitieron detectar y caracterizar una estructura de flujo similar a un torbellino longitudinal con regiones con altos gradientes de velocidad y alta intensidad de turbulencia. Esta estructura de flujo es, sin duda, un reto para los modelos computacionales y puede considerarse un factor de riesgo para la operación de los aerogeneradores. Se obtuvieron y analizaron distribuciones espaciales de los esfuerzos de Reynolds mediante 3CHW y PIV. Este tipo de parámetros no constituyen parte de los resultados habituales en los ensayos en túnel sobre topografías y son muy útiles para los modelizadores que utilizan simulación de grades torbellinos (LES). Se proporciona una interpretación de los resultados obtenidos en el túnel aerodinámico en términos de utilidad para los diseñadores de parques eólicos. La evolución y variación de los parámetros del flujo a lo largo de líneas, planos y superficies han permitido identificar como estas propiedades del flujo podrían afectar la localización de los aerogeneradores y a la clasificación de emplazamientos. Los resultados presentados sugieren, bajo ciertas condiciones, la robustez de los ensayos en túnel para estudiar la topología sobre terreno complejo y su comparabilidad con otras técnicas de simulación, especialmente considerando el nivel de acuerdo del conjunto de resultados presentados con los resultados a escala real. De forma adicional, algunos de los parámetros del flujo obtenidos de las medidas en túnel son difícilmente determinables en ensayos a escala real o por medios computacionales, considerado el estado del arte. Este trabajo fue realizado como parte de las actividades subvencionadas por la Comisión Europea como dentro del proyecto FP7-PEOPLE-ITN-2008WAUDIT (Wind Resource Assessment Audit and Standardization) dentro de la FP7 Marie-Curie Initial Training Network y por el Ministerio Español de Economía y Competitividad dentro del proyecto ENE2012-36473, TURCO (Determinación en túnel aerodinámico de la distribución espacial de parámetros estadísticos de la turbulencia atmosférica sobre topografías complejas) del Plan Nacional de Investigación (Subprograma de investigación fundamental no orientada 2012). El informe se ha organizado en siete capítulos y un conjunto de anexos. En el primer capítulo se introduce el problema. En el capítulo dos se describen los medios experimentales utilizados. Seguidamente, en el capítulo tres, se analizan en detalle las condiciones de referencia del principal túnel aerodinámico utilizado en esta investigación. En el capítulo tres se presentan resultados de ensayos de presión superficial sobre un modelo de la isla. Los principales resultados del experimento de Bolund se reproducen en el capítulo cinco. En el capítulo seis se identifican diferentes estructuras del flujo sobre la isla y, finalmente, en el capitulo siete, se recogen las conclusiones y una propuesta de lineas de trabajo futuras. ABSTRACT The main objective of this work is to contribute to answer the question: to which extend can the wind tunnel testing contribute to determine the flow characteristics that affect the dynamic response of wind turbines operating in highly complex terrains?. This question is not new, indeed, the debate in the scientific community was opened in the first third of the past century and it is still intensely alive. The accepted approach to face this problem consists in analysing a given case study where full-scale tests, computational modelling and wind tunnel testing are applied to the same topography. This is neither easy nor cheap. This is is the reason why since the Askervein experience in 1988, the atmospheric flow modellers community had to wait till 2007 when the Bolund experiment was setup with a deployment of technical means equivalent (considering the evolution of the sensor and computing techniques). The problem is so manifold that both experiences were restricted to neutral conditions without Coriolis effects in order to reduce the complexity. This is the framework in which this PhD has been carried out. The flow topology over the Bolund Island has been studied by replicating the Bolund experiment in the IDR A9 and ACLA16 wind tunnels. Two mock-ups of the Bolund island were manufactured at two scales of 1:230 and 1:115. The in-flow in the empty wind tunnel simulating the incoming atmospheric boundary layer was in the transitionally rough regime and used as a reference case. The 1:230 model was tested in the A9 wind tunnel to measure surface pressure. The mapping of the pressure coefficient across the island gave a visualisation and estimation of a detachment region on the top of the escarpment in front of the island. Time resolved instantaneous pressure measurements illustrated the non-steadiness in the detachment region. The 1:115 model was tested using 3C hot-wires(HW) and 2C Particle Image Velocimetry(PIV). Measurements at met masts M3, M6, M7 and M8 and along Line 270°were taken to replicate the result of the Bolund experiment. The flow was characterised by the speed-up ratio, normalised increment of the turbulent kinetic energy, inclination angle and turning angle. Results along line 270°at heights of 2 m and 5 m compared very well with the full-scale results of the Bolund experiment. Vertical profiles at the met masts showed a significant agreement with the full-scale results. The analysis of the Reynolds stresses and the spectral analysis at the met mast locations gave a varied level of agreement at some locations while clear mismatch at others. The horizontal mapping of the flow field, for a 270°wind direction, allowed to characterise the behaviour of the intermittent recirculation bubble on top of the front escarpment followed by a relaxation region and the presence of a shear layer in the lee side of the island. Further detailed velocity measurements were taken at cross-flow planes over the island to study the flow structures on the island. A longitudinal vortex-like structure with high mean velocity gradients and high turbulent kinetic energy was characterised on the escarpment and evolving downstream. This flow structure is a challenge to the numerical models while posing a threat to wind farm designers when siting wind turbines. Spatial distribution of Reynold stresses were presented from 3C HW and PIV measurements. These values are not common results from usual wind tunnel measurements and very useful for modellers using large eddy simulation (LES). An interpretation of the wind tunnel results in terms of usefulness to wind farm designers is given. Evolution and variation of the flow parameters along measurement lines, planes and surfaces indicated how the flow field could affect wind turbine siting. Different flow properties were presented so compare the level of agreement to full-scale results and how this affected when characterising the site wind classes. The results presented suggest, under certain conditions, the robustness of the wind tunnel testing for studying flow topology over complex terrain and its capability to compare to other modelling techniques especially from the level of agreement between the different data sets presented. Additionally, some flow parameters obtained from wind tunnel measurements would have been quite difficult to be measured at full-scale or by computational means considering the state of the art. This work was carried out as a part of the activities supported by the EC as part of the FP7- PEOPLE-ITN-2008 WAUDIT project (Wind Resource Assessment Audit and Standardization) within the FP7 Marie-Curie Initial Training Network and by the Spanish Ministerio de Economía y Competitividad, within the framework of the ENE2012-36473, TURCO project (Determination of the Spatial Distribution of Statistic Parameters of Flow Turbulence over Complex Topographies in Wind Tunnel) belonging to the Spanish National Program of Research (Subprograma de investigación fundamental no orientada 2012). The report is organised in seven chapters and a collection of annexes. In chapter one, the problem is introduced. In chapter two the experimental setup is described. Following, in chapter three, the inflow conditions of the main wind tunnel used in this piece of research are analysed in detail. In chapter three, preliminary pressure tests results on a model of the island are presented. The main results from the Bolund experiment are replicated in chapter five. In chapter six, an identification of specific flow strutures over the island is presented and, finally, in chapter seven, conclusions and lines for future works related to the presented one are included.
Resumo:
La tecnología moderna de computación ha permitido cambiar radicalmente la investigación tecnológica en todos los ámbitos. El proceso general utilizado previamente consistía en el desarrollo de prototipos analógicos, creando múltiples versiones del mismo hasta llegar al resultado adecuado. Este es un proceso costoso a nivel económico y de carga de trabajo. Es por ello por lo que el proceso de investigación actual aprovecha las nuevas tecnologías para lograr el objetivo final mediante la simulación. Gracias al desarrollo de software para la simulación de distintas áreas se ha incrementado el ritmo de crecimiento de los avances tecnológicos y reducido el coste de los proyectos en investigación y desarrollo. La simulación, por tanto, permite desarrollar previamente prototipos simulados con un coste mucho menor para así lograr un producto final, el cual será llevado a cabo en su ámbito correspondiente. Este proceso no sólo se aplica en el caso de productos con circuitería, si bien es utilizado también en productos programados. Muchos de los programas actuales trabajan con algoritmos concretos cuyo funcionamiento debe ser comprobado previamente, para después centrarse en la codificación del mismo. Es en este punto donde se encuentra el objetivo de este proyecto, simular algoritmos de procesado digital de la señal antes de la codificación del programa final. Los sistemas de audio están basados en su totalidad en algoritmos de procesado de la señal, tanto analógicos como digitales, siendo estos últimos los que están sustituyendo al mundo analógico mediante los procesadores y los ordenadores. Estos algoritmos son la parte más compleja del sistema, y es la creación de nuevos algoritmos la base para lograr sistemas de audio novedosos y funcionales. Se debe destacar que los grupos de desarrollo de sistemas de audio presentan un amplio número de miembros con cometidos diferentes, separando las funciones de programadores e ingenieros de la señal de audio. Es por ello por lo que la simulación de estos algoritmos es fundamental a la hora de desarrollar nuevos y más potentes sistemas de audio. Matlab es una de las herramientas fundamentales para la simulación por ordenador, la cual presenta utilidades para desarrollar proyectos en distintos ámbitos. Sin embargo, en creciente uso actualmente se encuentra el software Simulink, herramienta especializada en la simulación de alto nivel que simplifica la dificultad de la programación en Matlab y permite desarrollar modelos de forma más rápida. Simulink presenta una completa funcionalidad para el desarrollo de algoritmos de procesado digital de audio. Por ello, el objetivo de este proyecto es el estudio de las capacidades de Simulink para generar sistemas de audio funcionales. A su vez, este proyecto pretende profundizar en los métodos de procesado digital de la señal de audio, logrando al final un paquete de sistemas de audio compatible con los programas de edición de audio actuales. ABSTRACT. Modern computer technology has dramatically changed the technological research in multiple areas. The overall process previously used consisted of the development of analog prototypes, creating multiple versions to reach the proper result. This is an expensive process in terms of an economically level and workload. For this reason actual investigation process take advantage of the new technologies to achieve the final objective through simulation. Thanks to the software development for simulation in different areas the growth rate of technological progress has been increased and the cost of research and development projects has been decreased. Hence, simulation allows previously the development of simulated protoypes with a much lower cost to obtain a final product, which will be held in its respective field. This process is not only applied in the case of circuitry products, but is also used in programmed products. Many current programs work with specific algorithms whose performance should be tested beforehand, which allows focusing on the codification of the program. This is the main point of this project, to simulate digital signal processing algorithms before the codification of the final program. Audio systems are entirely based on signal processing, both analog and digital systems, being the digital systems which are replacing the analog world thanks to the processors and computers. This algorithms are the most complex part of every system, and the creation of new algorithms is the most important step to achieve innovative and functional new audio systems. It should be noted that development groups of audio systems have a large number of members with different roles, separating them into programmers and audio signal engineers. For this reason, the simulation of this algorithms is essential when developing new and more powerful audio systems. Matlab is one of the most important tools for computer simulation, which has utilities to develop projects in different areas. However, the use of the Simulink software is constantly growing. It is a simulation tool specialized in high-level simulations which simplifies the difficulty of programming in Matlab and allows the developing of models faster. Simulink presents a full functionality for the development of algorithms for digital audio processing. Therefore, the objective of this project is to study the posibilities of Simulink to generate funcional audio systems. In turn, this projects aims to get deeper into the methods of digital audio signal processing, making at the end a software package of audio systems compatible with the current audio editing software.
Resumo:
He aquı una nueva serie de tres artıculos que investigan desde un punto de vista divulgativo la relacion entre la similitud melódica y la teoría de cadenas (una rama de la computación). La similitud melódica, bajo ciertas hipótesis que simplifican el complejo fenómeno que es, se puede con- cebir como un problema de comparación de cadenas, donde las cadenas aquí representan sucesiones de notas. En un artículo titulado Comparison of musical sequences Mongeau y Sankoff [MS90]explotaron esta idea. En esta serie glosaremos su trabajo con detalle. En el artículo de este mes (I) discutimos el concepto de similitud melódica, por la parte musical, el concepto de comparación de cadenas, con especial ́enfasis en la distancia de edici ón, y finalmente analizamos los aspectos computacionales de dicha distancia.
Resumo:
La computación con membranas surge como una alternativa a la computación tradicional. Dentro de este campo se sitúan los denominados Sistemas P de Transición que se basan en la existencia de regiones que contienen recursos y reglas que hacen evolucionar a dichos recursos para poder llevar a cada una de las regiones a una nueva situación denominada configuración. La sucesión de las diferentes configuraciones conforman la computación. En este campo, el Grupo de Computación Natural de la Universidad Politécnica de Madrid lleva a cabo numerosas investigaciones al amparo de las cuales se han publicado numerosos artículos y realizado varias tesis doctorales. Las principales vías de investigación han sido, hasta el momento, el estudio del modelo teórico sobre el que se definen los Sistemas P, el estudio de los algoritmos que se utilizan para la aplicación de las reglas de evolución en las regiones, el diseño de nuevas arquitecturas que mejoren las comunicaciones entre las diferentes membranas (regiones) que componen el sistema y la implantación de estos sistemas en dispositivos hardware que pudiesen definir futuras máquinas basadas en este modelo. Dentro de este último campo, es decir, dentro del objetivo de construir finalmente máquinas que puedan llevar a cabo la funcionalidad de la computación con Sistemas P, la presente tesis doctoral se centra en el diseño de dos procesadores paralelos que, aplicando variantes de algoritmos existentes, favorezcan el crecimiento en el nivel de intra-paralelismo a la hora de aplicar las reglas. El diseño y creación de ambos procesadores presentan novedosas aportaciones al entorno de investigación de los Sistemas P de Transición en tanto en cuanto se utilizan conceptos que aunque previamente definidos de manera teórica, no habían sido introducidos en el hardware diseñado para estos sistemas. Así, los dos procesadores mantienen las siguientes características: - Presentan un alto rendimiento en la fase de aplicación de reglas, manteniendo por otro lado una flexibilidad y escalabilidad medias que son dependientes de la tecnología final sobre la que se sinteticen dichos procesadores. - Presentan un alto nivel de intra-paralelismo en las regiones al permitir la aplicación simultánea de reglas. - Tienen carácter universal en tanto en cuanto no depende del carácter de las reglas que componen el Sistema P. - Tienen un comportamiento indeterminista que es inherente a la propia naturaleza de estos sistemas. El primero de los circuitos utiliza el conjunto potencia del conjunto de reglas de aplicación así como el concepto de máxima aplicabilidad para favorecer el intra-paralelismo y el segundo incluye, además, el concepto de dominio de aplicabilidad para determinar el conjunto de reglas que son aplicables en cada momento con los recursos existentes. Ambos procesadores se diseñan y se prueban mediante herramientas de diseño electrónico y se preparan para ser sintetizados sobre FPGAs. ABSTRACT Membrane computing appears as an alternative to traditional computing. P Systems are placed inside this field and they are based upon the existence of regions called “membranes” that contain resources and rules that describe how the resources may vary to take each of these regions to a new situation called "configuration". Successive configurations conform computation. Inside this field, the Natural Computing Group of the Universidad Politécnica of Madrid develops a large number of works and researches that provide a lot of papers and some doctoral theses. Main research lines have been, by the moment, the study of the theoretical model over which Transition P Systems are defined, the study of the algorithms that are used for the evolution rules application in the regions, the design of new architectures that may improve communication among the different membranes (regions) that compose the whole system and the implementation of such systems over hardware devices that may define machines based upon this new model. Within this last research field, this is, within the objective of finally building machines that may accomplish the functionality of computation with P Systems, the present thesis is centered on the design of two parallel processors that, applying several variants of some known algorithms, improve the level of the internal parallelism at the evolution rule application phase. Design and creation of both processors present innovations to the field of Transition P Systems research because they use concepts that, even being known before, were never used for circuits that implement the applying phase of evolution rules. So, both processors present the following characteristics: - They present a very high performance during the application rule phase, keeping, on the other hand, a level of flexibility and scalability that, even known it is not very high, it seems to be acceptable. - They present a very high level of internal parallelism inside the regions, allowing several rule to be applied at the same time. - They present a universal character meaning this that they are not dependent upon the active rules that compose the P System. - They have a non-deterministic behavior that is inherent to this systems nature. The first processor uses the concept of "power set of the application rule set" and the concept of "maximal application" number to improve parallelism, and the second one includes, besides the previous ones, the concept of "applicability domain" to determine the set of rules that may be applied in each moment with the existing resources.. Both processors are designed and tested with the design software by Altera Corporation and they are ready to be synthetized over FPGAs.
Resumo:
Existe una proliferación de los llamados Smart Products. Ello es debido a que cada vez se apueste más por este tipo de productos tanto en la vida cotidiana como en el sector industrial. Sin embargo el término Smart Product se utiliza con diferentes acepciones en diferentes contextos o dominios de aplicación. La utilización del término con una semántica diferente de la habitual en un contexto puede llevar a problemas serios de compresión. El objetivo de este trabajo es analizar las diferentes definiciones de Smart Products—Productos Inteligentes, Smart Products en terminología inglesa, ampliamente utilizada—que aparecen en la literatura con el objeto de estudiar los diferentes matices y alcances que ofrecen para valorar si es posible obtener una definición de consenso que satisfaga a todas las partes, y especificarla. Con el fin de poder abarcar definiciones conexas introducimos el concepto Smart Thing—este concepto incluirá aquellas definiciones que puedan estar relacionadas con los Smart Products, como es el caso de los Intelligent Products, Smart Objects, Intelligent Systems, Intelligent Object. Para poder analizar las diferentes definiciones existentes en la literatura existente realizamos una Revisión Sistemática de la Literatura. El enfoque de Computación Autonómica—Autonomic Computing—tiene varios aspectos en común con Smart Products. Por ello una vez analizadas las diferentes definiciones existentes en la literatura hemos procedido a estudiar los puntos en común que tienen con Autonomic Computing, con el fin de valorar si Autonomic Computing es un enfoque adecuado en el que nos podamos apoyar para especificar, y diseñar Smart Products.