354 resultados para DETECCION DE FALLOS
Resumo:
La seguridad en el ámbito nuclear juega un papel muy importante debido a las graves consecuencias que pueden tener los posibles accidentes, cuyos efectos se pueden extender por extensos espacios y prolongarse mucho en el tiempo. Es por eso que desde el inicio del desarrollo de la tecnología nuclear siempre se ha vigilado por mantener las instalaciones nucleares en un nivel de riesgo aceptable. En esta tesis se pretende poner de manifiesto algunas carencias del análisis de riesgo clásico que se resumen en una forma de distinguir y separar transitorios de daño y transitorios seguros pertenecientes a una misma secuencia, definiendo el llamado dominio de daño y evaluando la probabilidad de que algún transitorio perteneciente a la secuencia sea de daño, es decir, que esté contenido dentro de la región del dominio de daño, aportando la llamada probabilidad de superación para obtener la frecuencia de superación de estados finales no deseados. En la tesis se realiza en primer lugar un breve resumen de algunos reactores de alta temperatura refrigerados con gas, de los que se ha elegido al reactor de prueba de alta temperatura (HTTR) como ejemplo para mostrar la metodología. Aparte de ver el diseño de los diferentes reactores y su aportación a la investigación y desarrollo de nuevos modelos, se estudiaron algunos incidentes y se tomaron datos de algunos de ellos para ajustar las probabilidades de los sucesos a emplear en los árboles de fallos. Seguidamente se realiza un análisis simple de una secuencia, según la metodología clásica de análisis probabilista del riesgo, usando solo arboles de fallos y de sucesos, evaluando la frecuencia de daño de dicha secuencia. En el núcleo de la Tesis se describe la metodología y la aportación que se propone para obtener la cuantificación de tan solo los transitorios de daño y su aportación al estado final. Una aportación significativa es el modelado del HTTR, plasmado en el programa de simulación HTTR5+, necesario para poder aplicar la metodología, con el que se ha llevado a cabo la simulación de un transitorio de prueba, a fin de realizar la comparación con el obtenido por el fabricante (JAERI), buscando el dominio de daño y su cuantificación. Para este fin, se desarrolló un módulo que gestiona las diferentes simulaciones para delinear el dominio de daño, el cual se integró al simulador HTTR5+ para crear el programa DD-HTTR5+. Los resultados de la frecuencia de superación de la variable de daño se han comparado con los obtenidos por el método tradicional, para finalmente extraer las conclusiones de la Tesis. Uno de los resultados más significativos es que para la secuencia analizada un 40% de los transitorios que pertenecen a la secuencia son de daño y el otro 60% son transitorios seguros. Al emplear el método clásico se estaba realizando una sobreestimación de la probabilidad y frecuencia de daño. La Tesis también contiene en anexos una descripción muy detallada del HTTR, con respecto a su diseño, modos de operación, sistemas y componentes, etc. También se detallan las propiedades termofísicas del HTTR, así como las tasas de fallos y los árboles de fallos utilizados. Toda esta información fue de gran ayuda para realizar el modelo y programa de simulación HTTR5+.
Resumo:
In recent years, applications in domains such as telecommunications, network security or large scale sensor networks showed the limits of the traditional store-then-process paradigm. In this context, Stream Processing Engines emerged as a candidate solution for all these applications demanding for high processing capacity with low processing latency guarantees. With Stream Processing Engines, data streams are not persisted but rather processed on the fly, producing results continuously. Current Stream Processing Engines, either centralized or distributed, do not scale with the input load due to single-node bottlenecks. Moreover, they are based on static configurations that lead to either under or over-provisioning. This Ph.D. thesis discusses StreamCloud, an elastic paralleldistributed stream processing engine that enables for processing of large data stream volumes. Stream- Cloud minimizes the distribution and parallelization overhead introducing novel techniques that split queries into parallel subqueries and allocate them to independent sets of nodes. Moreover, Stream- Cloud elastic and dynamic load balancing protocols enable for effective adjustment of resources depending on the incoming load. Together with the parallelization and elasticity techniques, Stream- Cloud defines a novel fault tolerance protocol that introduces minimal overhead while providing fast recovery. StreamCloud has been fully implemented and evaluated using several real word applications such as fraud detection applications or network analysis applications. The evaluation, conducted using a cluster with more than 300 cores, demonstrates the large scalability, the elasticity and fault tolerance effectiveness of StreamCloud. Resumen En los útimos años, aplicaciones en dominios tales como telecomunicaciones, seguridad de redes y redes de sensores de gran escala se han encontrado con múltiples limitaciones en el paradigma tradicional de bases de datos. En este contexto, los sistemas de procesamiento de flujos de datos han emergido como solución a estas aplicaciones que demandan una alta capacidad de procesamiento con una baja latencia. En los sistemas de procesamiento de flujos de datos, los datos no se persisten y luego se procesan, en su lugar los datos son procesados al vuelo en memoria produciendo resultados de forma continua. Los actuales sistemas de procesamiento de flujos de datos, tanto los centralizados, como los distribuidos, no escalan respecto a la carga de entrada del sistema debido a un cuello de botella producido por la concentración de flujos de datos completos en nodos individuales. Por otra parte, éstos están basados en configuraciones estáticas lo que conducen a un sobre o bajo aprovisionamiento. Esta tesis doctoral presenta StreamCloud, un sistema elástico paralelo-distribuido para el procesamiento de flujos de datos que es capaz de procesar grandes volúmenes de datos. StreamCloud minimiza el coste de distribución y paralelización por medio de una técnica novedosa la cual particiona las queries en subqueries paralelas repartiéndolas en subconjuntos de nodos independientes. Ademas, Stream- Cloud posee protocolos de elasticidad y equilibrado de carga que permiten una optimización de los recursos dependiendo de la carga del sistema. Unidos a los protocolos de paralelización y elasticidad, StreamCloud define un protocolo de tolerancia a fallos que introduce un coste mínimo mientras que proporciona una rápida recuperación. StreamCloud ha sido implementado y evaluado mediante varias aplicaciones del mundo real tales como aplicaciones de detección de fraude o aplicaciones de análisis del tráfico de red. La evaluación ha sido realizada en un cluster con más de 300 núcleos, demostrando la alta escalabilidad y la efectividad tanto de la elasticidad, como de la tolerancia a fallos de StreamCloud.
Resumo:
La mejora en la eficiencia energética y la reducción de la tasa de fallos en los contactos lubricados son aspectos que resultan de gran interés en numerosos sectores de la industria, y plantean en estos momentos nuevas dificultades operativas y retos para un futuro próximo. Los avances tecnológicos han incrementado las exigencias técnicas que se requieren a los aceites para cumplir su función al extender sus variables operativas a un mayor espectro de aplicaciones, tanto de condiciones de funcionamiento como a la gran variedad de nuevos materiales constitutivos de los engranajes en los que se tiene que utilizar. Por ello, actualmente se está incentivado el desarrollo de nuevos procedimientos que permitan comprender el comportamiento de este tipo de contactos lubricados, con el fin de lograr mejoras técnicas en su diseño y la correcta selección del aceite. En esta Tesis Doctoral se presenta una metodología de cálculo numérico que permite simular el comportamiento de contactos elastohidrodinámicos (EHD) puntuales, como puede ser el caso de un rodamiento. La resolución de este problema presenta diversas complejidades matemáticas y exige el desarrollo de un elaborado procedimiento de cálculo basado en técnicas multinivel. Para hacer del procedimiento una herramienta válida en un gran número de condiciones de funcionamiento y tipos de lubricantes, se ha tenido en cuenta en el cálculo la posible aparición de comportamientos no-Newtonianos del lubricante y fenómenos de generación y disipación de calor, provocados por el movimiento relativo del fluido y las superficies en contacto. Para la validación del procedimiento, se han contrastado los resultados numéricos obtenidos con nuestro método, con los resultados numéricos y experimentales publicados por otros autores y con valores experimentales propios medidos en un equipo de ensayo de contacto puntual tipo MTM. El desarrollo de este programa ha dotado a la División de Ingeniería de Máquinas de una herramienta que ha permitido, y sobre todo va permitir, evaluar la importancia de cada uno de los parámetros reológicos en los diferentes problemas que va a tener que abordar, evaluación que hasta el momento se realizaba con métodos aproximados que describen la fenomenología con mucha menos precisión. A la hora de emplear nuestro procedimiento numérico para simular situaciones reales, nos hemos encontrado con el obstáculo de que es muy complicado encontrar, en la bibliografía y bases de datos, los parámetros que caracterizan el comportamiento reológico del lubricante en las condiciones de presión, temperatura y grado de cizallamiento habituales en las que se trabaja en este tipo de contactos, y las pocas medidas que existen para estas condiciones de funcionamiento son poco fiables. Por ello como complemento al objetivo principal de esta Tesis hemos desarrollado una metodología para caracterizar los lubricantes en estas condiciones extremas. Dicha metodología está basada en la buena descripción que hace nuestro programa del coeficiente de fricción, lo que nos ha permitido obtener los parámetros reológicos del III lubricante a partir de las medidas experimentales del coeficiente de fricción generado en un equipo MTM lubricado con el lubricante que se desea caracterizar. Madrid, Octubre de 2012 IV Improving energy efficiency and reducing the failure rate in lubricated contacts are issues that are of great interest in many sectors of industry, and right now posed operational difficulties and new challenges for the near future. Technological advances have increased the technical demands required to oils to fulfil its role by extending its operational variables to a wider range of applications, both operating conditions and to the wide variety of new materials which constitute the gear in which must be used. For this reason, has being encouraged currently to develop new procedures to understand the behaviour of this type of lubricated contacts, in order to achieve improvements in design techniques and the correct oil selection. In this Thesis we present a numerical methodology to simulate the puntual elastohydrodynamic contact behaviour (EHD), such as a roller bearing. The resolution of this problem presents various mathematical complexities and requires the development of an elaborate calculation procedure based on multilevel techniques. To make the procedure a valid tool in a wide range of operating conditions and types of lubricants, has been taken into account in calculating the possible occurrence of non-Newtonian behaviour of the lubricant and phenomena of generation and dissipation of heat, caused by the fluid relative motion and contacting surfaces. For the validation of the method, we have compared the numerical results obtained with our method with numerical and experimental results published by other authors also with own experimental values measured on point-contact test equipment MTM. The development of this program has provided the Machines Engineering Division of a tool that has allowed, and especially will allow to evaluate the importance of each of the rheological parameters on the various problems that will have to be addressed, evaluation performed hitherto described methods that phenomenology approximated with much less accuracy. When using our numerical procedure to simulate real situations we have encountered the obstacle that is very difficult to find, in the literature and database, parameters characterizing the rheological behaviour of the lubricant in the usual conditions of pressure, temperature and shear rate in which you work in this type of contact, and the few measures that exist for these operating conditions are unreliable. Thus in addition to the main objective of this thesis, we have developed a methodology to characterize the lubricants in these extreme conditions. This methodology is based on the good description, which makes our program, of the coefficient of friction, that allowed us to obtain the lubricant rheological parameters from experimental measurements of the friction coefficient generated on lubricated MTM equipment with the lubricant to be characterized.
Resumo:
La falta de información es un escenario más que habitual en la utilización de conjuntos de datos. En las aplicaciones del mundo real existen múltiples causas – errores o fallos de los sensores cuando se trabaja con equipos automáticos, desconocimiento o falta de interés por parte de los responsables de introducir la información, negativas por parte de los informantes a responder a preguntas sobre temas comprometidos en encuestas … – que pueden originarlo. Como consecuencia de ello, el procesamiento de los valores ausentes es, en la práctica, uno de los trabajos que más tiempo consumen en los proyectos de minería de datos y aprendizaje automático [109] y se estima que alrededor del 60% de los esfuerzos se destinan al mismo [23]. Aunque la ausencia puede producirse en cualquier tipo de datos, sean éstos numéricos o categóricos, nos vamos a centrar en los últimos a causa de algunas peculiaridades que merece la pena estudiar. Y hablaremos indistintamente de ausencia de información, valores ausentes, falta de respuesta, datos parcialmente observados o falta de datos, pues en cualquiera de estas formas aparece citado el problema. Las técnicas para afrontarlo se vienen desarrollando ya desde hace tiempo [135], [6] y existen numerosas referencias en la literatura, sobre todo acerca de la falta de respuesta 6 en encuestas [32], [79]. Sin embargo, en el ámbito del aprendizaje automático es en los últimos años cuando se ha convertido en un área de investigación dinámica, con frecuentes aportaciones [94]. Los dos puntos de vista, el estadístico y el del aprendizaje automático, consideran el problema en formas bien diferentes y tienen distintos objetivos, lo que origina, a su vez, discrepancias en la clasificación de las técnicas y en los criterios para su evaluación. Por un lado, el enfoque estadístico paramétrico tradicional considera el conjunto de datos como una muestra, resultado de la extracción aleatoria de una población con una distribución probabilística. Bajo este supuesto, el objetivo es obtener algunos de los parámetros que caracterizan esa distribución – la media, la moda, la correlación entre variables, etc. – calculándose los correspondientes estimadores como funciones de los datos de la muestra. La ausencia de datos es, aquí, un problema de estimación que se afronta desde diferentes perspectivas. Por su parte, en el ámbito de los procedimientos de aprendizaje automático existen múltiples técnicas que pueden utilizarse para tratar los datos ausentes mediante su sustitución por valores obtenidos a partir de los datos observados: redes neuronales, árboles de decisión, etc. Cuando los datos que faltan son categóricos, se pueden utilizar técnicas específicas como los procedimientos de clasificación: las categorías a asignar coinciden con los distintos valores posibles del atributo que tiene falta de información. Pueden utilizarse métodos supervisados y no supervisados. En el primer caso, cuando existe más de un atributo con falta de datos, el aprendizaje se realiza sucesiva y separadamente para cada uno, lo que significa que la tarea ha de repetirse tantas veces como atributos con valores ausentes hay en el conjunto de datos [72]. El inicio de los trabajos de esta tesis ha estado principalmente motivado en la necesidad de mejorar los resultados obtenidos al tratar de resolver problemas de falta de 7 información de variables categóricas en sondeos de opinión utilizando los procedimientos que la literatura considera como el estado del arte en ese ámbito. Se ha encontrado, así, que muchos de los métodos que se proponen tienen hipótesis de funcionamiento que están muy lejos de las situaciones reales que se encuentran en la práctica y, además, las soluciones existentes han avanzado frecuentemente en direcciones no adecuadas, sin replantear los fundamentos básicos. Esto ha conducido de una forma natural a probar métodos propios de otro ámbito como es el aprendizaje automático, para lo que ha sido necesario, en ocasiones, proponer modificaciones de algunos procedimientos ya existentes de modo que pudieran aceptar como entradas el tipo de datos que estos sondeos de opinión manejan. Como resultado, y en el caso concreto de un tipo específico de redes neuronales, se ha diseñado una nueva arquitectura y un nuevo algoritmo de funcionamiento que se presentan aquí como aportación más novedosa de este estudio.
Resumo:
En el presente proyecto fin de carrera, se analiza una metodología para evaluar la fiabilidad de redes eléctricas de distribución radiales, en base a criterios de frecuencia y duración de los cortes en el suministro (fallos), tanto a nivel de consumidores finales, como para el sistema de distribución. Se analizan los índices de fiabilidad más comunes, y se modeliza el comportamiento de una red de distribución, incluyendo diferentes elementos de protección. ABSTRACT In this dissertation, we analyse a methodology for assessing the reliability of radial distribution grids from reliability indexes. This assessment is made based on frequency and duration of power cuts criteria at both the end consumer, and global distribution for the system. It discusses the most common reliability indices and models the behaviour of a distribution network, including various elements of protection.
Resumo:
Las filtraciones de agua, con la consecuente erosión interna en presas de materiales sueltos, es una de las causas principales de fallos y accidentes. Las consecuencias del fallo de estas estructuras, pueden ser, pérdidas tanto económicas como de vidas humanas. Por lo cual en este proyecto se describe la aplicación de un método de prospección geofísica no invasiva, medidas de potencial espontáneo, para detectar posibles filtraciones de agua en el cuerpo de la presa. El flujo de agua a través de un material poroso y permeable crea un campo de potencial eléctrico de una magnitud de decenas o centenas de milivoltios, el cual puede ser medido y así detectar infiltraciones de agua en presas de materiales sueltos. Se ha aplicado esta técnica en la Presa Santa Marta, y mediante una interpretación cualitativa de los datos medidos, tomados en la cara aguas arriba de la presa (medidas subacuáticas), se logró identificar un flujo de agua vertical y otro subhorizontal, que estaban ingresando en el cuerpo de la presa, los cuales estaban causando erosión interna y la formación de una tubificación. ABSTRACT Water leakages and internal erosion in embankment dams is one of the main causes of failures and accidents. The consequences of the failure of these structures may cause losses both, economical and of human lives. Therefore, this project describes the application of a noninvasive geophysical prospecting method, self potential measurements, to detect water leakages in the body of the dam. Water flow through a porous and pervious medium creates an electric potential field with a magnitude of tens or hundreds of milivolts, which can be measured and thus detect water leakage in embankment dams. This technique has been applied to the Santa Marta dam, and through a qualitative self potential data interpretation, of the measurements obtained in an upstream direction (underwater measurements), a vertical and sub horizontal water flows entering in the body dam were identified, which were causing internal erosion and developing a piping
Resumo:
Actualmente, las redes sociales se han instaurado como un mecamismo muy potente de comunicaci¿on y contacto entre individuos. Sin embargo, las pol¿?ticas de privacidad que normalmente han acompa?nado a estas redes sociales no han sido capaces de evitar el mal uso de las mismas en temas relacionados con protecci¿on a menores. El caso m¿as significativo es el de adultos, haci¿endose pasar por menores. Este trabajo investiga la viabilidad del uso de t¿ecnicas biom¿etricas basadas en rasgos faciales para la detecci¿on de rangos de edad, con el prop¿osito de evitar que adultos se hagan pasar por menores, o incluso que ciertos menores puedan acceder a redes sociales, cuyo acceso debe estar trestringido por su edad. Los resultados muestran que es posible hacer esta distinci¿on entre adultos y menores, seleccionando edades umbrales cercanas a los 18 a? nos, con tasas de acierto cercanas al 80 %, y empleando clasificadores basados en m¿aquinas de vector soporte (SVMs) lineales.
Resumo:
En el Código Técnico de la Edificación se define el riesgo como medida del alcance del peligro que representa un evento no deseado para las personas, expresado en términos de probabilidad vinculada a las consecuencias de un evento, también se expresa como Exigencia Básica de Resistencia y Estabilidad, que estas serán las adecuadas para que no se generen riesgos indebidos manteniendo la resistencia y estabilidad frente a las acciones e influencias previsibles durante la construcción y usos previstos de los edificios, y que además, los posibles eventos extraordinarios que puedan producirse no originen consecuencias desproporcionadas respecto a la causa original. Es ahora donde la gestión de riesgos juega un papel muy importante en la sociedad moderna, siendo esta cada vez más exigente con los resultados y calidad de productos y servicios, además de cumplir también con la responsabilidad jurídica que trae la concepción, diseño y construcción de proyectos de gran envergadura como los son la obra civil y edificación. La obra civil destinada al sector industrial debe ser ejecutada con la mayor precisión posible, pues requiere la instalación de complejos equipos y sistemas productivos que pueden producir esfuerzos dinámicos que muchas veces no se consideran en el diseño de los cimientos que lo soportan, razón por la cual interviene la gestión de riesgos para conocer y reducir los posibles riesgos de fallos que se puedan generar y así intentar aproximarse cada vez más al desarrollo de diseños eficientes y confiables, afianzando la exactitud y minimizando errores en la producción y elaboración de piezas, sistemas y equipos de las distintas áreas productivas de la industria. El presente trabajo de investigación se centra en el estudio de los riesgos técnicos existentes en el diseño y ejecución de cimentaciones para maquinarias, mediante la aplicación de varios métodos de investigación, a fin de intentar cubrir los aspectos más importantes que puedan incurrir en una posible causa de fallo de la estructura, evaluando el acoplamiento entre el sistema máquina-cimiento-suelo. Risk is defined, by the Technical Building Code (Código Técnico de la Edificación, CTE) as a measure of the scope of the hazard of an undesired event for people, expressed in terms of probability related to the consequences of an event, also is expressed as a Basic Requirement Strength and Stability these will be appropriate to not cause undue risk maintaining strength and stability against predictable actions and influences during construction and expected uses of the buildings. Nowadays, Risk Management is an important process in modern society, becoming ever more demanding about the results and quality of products and services, and also complies with the legal responsibility that brings the conception, design and construction of large projects as are civil engineering and construction projects. Civil work as a part of industry must be performed as accurately as possible, requiring the installation of sophisticated equipment and production systems which can produce dynamic forces that often are not considered in the design of the foundations, this is the reason why risk management is involved to understand and reduce the risks of failures that may arise and try to move closer to the development of efficient and reliable designs, strengthening the accuracy and minimizing errors in the production and processing of parts, systems and equipments from different production areas of the industry. This paper is a study of existing technical risks in the design and execution of foundations for machinery, through the application of various research methods, in order to try to cover the most important aspects that may produce the failure of the structure, evaluating the union between the machine-foundation system and soil.
Resumo:
Tras una introducción a la necesidad de estudio en este tema, se muestran las distintas ramas que los investigadores van siguiendo en la actualidad, exponiéndose las diferencias entre el diagnóstico médico y el industrial, así como la necesidad de estructurar el conocimiento del problema diagnóstico. La aproximación a tiempo real como objetivo y la definición de los sistemas complejos caracterizan el problema propuesto» como método de resolución del problema del diagnóstico» bajo condiciones de tiempo limitado en la respuesta. Como resolución a este problema, se proponen una serie de procedimientos integrados que permiten dar una respuesta según el tiempo disponible y que se resumen en: - Procedimiento de construcción de un árbol de fallos a partir del conocimiento en forma de reglas. - Procedimientos de depuración estructural del árbol de fallos. - Nuevo procedimiento de construcción del conjunto de Conjuntos Mínimos» puerta a puerta del árbol. - Método de resolución de íncertidumbre en los Conjuntos Mínimos en base a parámetros de fiabilidad para el caso de tiempo suficiente. - Definición del concepto de Conjunto Virtual como procedimiento de resolución de tipo estructural del problema del diagnóstico. - Método de resolución de incertidumbre en Conjuntos Virtuales basado en parámetros de fiabilidad. Los métodos propuestos permiten, desde la detección de inconsistencias en el conocimiento, hasta la posibilidad de diagnóstico incompleto, pero seguro, cuando el tiempo es insuficiente, como caracterización del problema del diagnóstico en emergencias.
Resumo:
El propósito de este proyecto de fin de Grado es el estudio y desarrollo de una aplicación basada en Android que proporcionará soporte y atención a los servicios de transporte público existentes en Cracovia, Polonia. La principal funcionalidad del sistema será consultar la posición de un determinado autobús o tranvía y mostrar su ubicación con exactitud. Para lograr esto, necesitaremos tres fases de desarrollo. En primer lugar, deberemos implementar un sistema que obtenga las coordenadas geográficas de los vehículos de transporte público en cada instante. A continuación, tendremos que registrar todos estos datos y almacenarlos en una base de datos en un servidor web. Por último, desarrollaremos un sistema cliente que realice consultas a tiempo real sobre estos datos almacenados, obteniendo la posición para una línea determinada y mostrando su ubicación con un marcador en el mapa. Para hacer el seguimiento de los vehículos, sería necesario tener acceso a una API pública que nos proporcionase la posición registrada por los GPS que integran cada uno de ellos. Como esta API no existe actualmente para los servicios de autobús, y para los tranvías es de uso meramente privado, desarrollaremos una segunda aplicación en Android que hará las funciones del lado servidor. En ella podremos elegir mediante una simple interfaz el número de línea y un código específico que identificará a cada vehículo en particular (e.g. podemos tener 6 tranvías recorriendo la red al mismo tiempo para la línea 24). Esta aplicación obtendrá las coordenadas geográficas del teléfono móvil, lo cual incluye latitud, longitud y orientación a través del proveedor GPS. De este modo, podremos realizar una simulación de como el sistema funcionará a tiempo real utilizando la aplicación servidora desde dentro de un tranvía o autobús y, al mismo tiempo, utilizando la aplicación cliente haciendo peticiones para mostrar la información de dicho tranvía. El cliente, además, podrá consultar la ruta de cualquier línea sin necesidad de tener acceso a Internet. Almacenaremos las rutas y paradas de cada línea en la memoria del teléfono móvil utilizando ficheros XML debido al poco espacio que ocupan y a lo útil que resulta poder consultar un trayecto en cualquier momento, independientemente del acceso a la red. El usuario también podrá consultar las tablas de horarios oficiales para cada línea. Aunque en este caso si será necesaria una conexión a Internet debido a que se realizará a través de la web oficial de MPK. Para almacenar todas las coordenadas de cada vehículo en cada instante necesitaremos crear una base de datos en un servidor. Esto se resolverá mediante el uso de MYSQL y PHP. Se enviarán peticiones de tipo GET y POST a los servicios PHP que se encargarán de traducir y realizar la consulta correspondiente a la base de datos MYSQL. Por último, gracias a todos los datos recogidos relativos a la posición de los vehículos de transporte público, podremos realizar algunas tareas de análisis. Comparando la hora exacta a la que los vehículos pasaron por cada parada y la hora a la que deberían haber pasado según los horarios oficiales, podremos descubrir fallos en estos. Seremos capaces de determinar si es un error puntual debido a factores externos (atascos, averías,…) o si por el contrario, es algo que ocurre muy a menudo y se debería corregir el horario oficial. ABSTRACT The aim of this final Project (for University) is to develop an Android application thatwill provide support and feedback to the public transport services in Krakow. The main functionality of the system will be to track the position of a desired bus or tram line, and display its position on the map. To achieve this, we will need 3 stages: the first one will be to implement a system that sends the geographical position of the public transport vehicles, the second one will be to collect this data in a web server, and the last one will be to get the last location registered for the desired line and display it on the map. For tracking the vehicles, we would need to have access to a public API that should be connected with each bus/tram GPS. As this doesn’t exist in Krakow or at least is not available for public use, we will develop a second android application that will do the server side job. We will be able to choose in a simple interface the line number and a code letter to identify each vehicle (e.g. we can have 6 trams that belong to the line number 24 working at the same time). It will take the current mobile geolocation; this includes getting latitude, longitude and bearing from the GPS provider. Thus, we will be able to make a simulation of how the system works in real time by using the server app inside a tram and at the same time, using the client app and making requests to display the information of that tram. The client will also be able to check the path of the desired line without internet access. We will store the path and stops for each line locally in the phone memory using xml files due to the few requirements of available space it needs and the usefulness of checking a path when needed. This app will also offer the functionality of checking the timetable for the line, but in this case, it will link to the official Mpk website, so Internet access will be required. For storing all the coordinates for each vehicle at every moment we will need to create a database on a server. We have decided that the easiest way is to use Mysql and PHP for the deployment of the service. We will send GET and POST requests to the php files and those files will make the according queries to our database. Finally, based on all the collected data, we will be able to get some information about errors in the system of public transport timetables. We will check at what time a line was in each specific stop and compare it with the official timetable to find mistakes of time. We will determine if it is something that happens occasionally and related to external factors (e.g. traffic jams, breakdowns…) or if on the other hand, it is something that happens very often and the public transport timetables should be looked over and corrected.
Resumo:
Este proyecto está desarrollado sobre la seguridad de redes, y más concretamente en la seguridad perimetral. Para mostrar esto se hará una definición teórico-práctica de un sistema de seguridad perimetral. Para ello se ha desglosado el contenido en dos partes fundamentales, la primera incide en la base teórica relativa a la seguridad perimetral y los elementos más importantes que intervienen en ella, y la segunda parte, que es la implantación de un sistema de seguridad perimetral habitual en un entorno empresarial. En la primera parte se exponen los elementos más importantes de la seguridad perimetral, incidiendo en elementos como pueden ser cortafuegos, IDS/IPS, antivirus, proxies, radius, gestores de ancho de banda, etc. Sobre cada uno de ellos se explica su funcionamiento y posible configuración. La segunda parte y más extensa a la vez que práctica, comprende todo el diseño, implantación y gestión de un sistema de seguridad perimetral típico, es decir, el que sería de aplicación para la mayoría de las empresas actuales. En esta segunda parte se encontrarán primeramente las necesidades del cliente y situación actual en lo que a seguridad se refiere, con los cuales se diseñará la arquitectura de red. Para comenzar será necesario definir formalmente unos requisitos previos, para satisfacer estos requisitos se diseñará el mapa de red con los elementos específicos seleccionados. La elección de estos elementos se hará en base a un estudio de mercado para escoger las mejores soluciones de cada fabricante y que más se adecúen a los requisitos del cliente. Una vez ejecutada la implementación, se diseñará un plan de pruebas, realizando las pruebas de casos de uso de los diferentes elementos de seguridad para asegurar su correcto funcionamiento. El siguiente paso, una vez verificado que todos los elementos funcionan de forma correcta, será diseñar un plan de gestión de la plataforma, en el que se detallan las rutinas a seguir en cada elemento para conseguir que su funcionamiento sea óptimo y eficiente. A continuación se diseña una metodología de gestión, en las que se indican los procedimientos de actuación frente a determinadas incidencias de seguridad, como pueden ser fallos en elementos de red, detección de vulnerabilidades, detección de ataques, cambios en políticas de seguridad, etc. Finalmente se detallarán las conclusiones que se obtienen de la realización del presente proyecto. ABSTRACT. This project is based on network security, specifically on security perimeter. To show this, a theoretical and practical definition of a perimeter security system will be done. This content has been broken down into two main parts. The first part is about the theoretical basis on perimeter security and the most important elements that it involves, and the second part is the implementation of a common perimeter security system in a business environment. The first part presents the most important elements of perimeter security, focusing on elements such as firewalls, IDS / IPS, antivirus, proxies, radius, bandwidth managers, etc... The operation and possible configuration of each one will be explained. The second part is larger and more practical. It includes all the design, implementation and management of a typical perimeter security system which could be applied in most businesses nowadays. The current status as far as security is concerned, and the customer needs will be found in this second part. With this information the network architecture will be designed. In the first place, it would be necessary to define formally a prerequisite. To satisfy these requirements the network map will be designed with the specific elements selected. The selection of these elements will be based on a market research to choose the best solutions for each manufacturer and are most suited to customer requirements. After running the implementation, a test plan will be designed by testing each one of the different uses of all the security elements to ensure the correct operation. In the next phase, once the proper work of all the elements has been verified, a management plan platform will be designed. It will contain the details of the routines to follow in each item to make them work optimally and efficiently. Then, a management methodology will be designed, which provides the procedures for action against certain security issues, such as network elements failures, exploit detection, attack detection, security policy changes, etc.. Finally, the conclusions obtained from the implementation of this project will be detailed.
Resumo:
El objetivo de este proyecto es el de determinar, a través de una serie de medidas, los tiempos de vida y causas de fallo de diodos LED. Para ello, se someterá a los dispositivos a condiciones extremas de temperatura y humedad dentro de una cámara climática, con el objetivo de acelerar su edad, su tiempo de uso, hecho que provocará la aparición de los fallos mucho antes que en condiciones normales de funcionamiento. Se tomarán medidas tanto de su tensión y corriente para el análisis de las gráficas I-V, dentro y fuera de la cámara, como de las potencias luminosas de cada uno de ellos. Estas medidas se realizarán en dos ocasiones al día, en intervalos de no menos de 6 horas. Para las medidas de tensión y corriente se utilizará un programa desarrollado en el entorno de LabView, tanto para las medidas en el interior de la cámara, lo que nos permite un seguimiento específico del estado de los dispositivos en cada momento, como para las medidas fuera de ella. Para las medidas de la potencia luminosa de cada LED se utilizará un medidor de potencia óptica. Cada ensayo constará de 15 dispositivos LED, que se evaluarán en las mismas condiciones de temperatura y humedad. El resumen de los 8 ensayos realizados es el que sigue: - Ensayo 1: 140ºC 85% HUMEDAD a 10 mA. - Ensayo 2: 140ºC 70% HUMEDAD a 10 mA. - Ensayo 3: 120ºC 85% HUMEDAD a 10 mA. - Ensayo 4: 120ºC 85% HUMEDAD a 30 mA. - Ensayo 5: 140ºC 70% HUMEDAD a 30 mA. - Ensayo 6: 140ºC 85% HUMEDAD a 30 mA. - Ensayo 7: 140ºC 60% HUMEDAD a 30 mA. - Ensayo 8: 140ºC 85% HUMEDAD a 20 mA. Una vez tomadas las medidas, se analizarán los datos, de cara a obtener una ley de degradación del LED a través del análisis de Weibull y se estudiarán las diferentes causas de fallo. ABSTRACT. The aim of this Project is to determine, based on several measures, the lifetime and the causes of LED’s failures. The devices will be tested under extreme both temperature and humidity conditions in a Pressure Cooker, attempting to make faults to appear earlier. Voltage and current measures will be taken, inside and also outside the Pressure cooker, in order to use them in I-V graphs. In addition, luminous power measures for each LED will be taken. All those measures will be obtained twice a day, with 6 hours delay between both of them. A program based on LabView environment will be used to take voltage and current measures, inside and outside the pressure cooker, which allow us to follow the performance of the LED at each moment. The luminous power of each LED will be taken by a measurer. Each test consists of 15 LED devices, which will be evaluated under the same conditions each time. The 8 tests are as follows - Test 1: 140ºC 85% relative humidity at 10 mA. - Test 2: 140ºC 70% relative humidity at 10 mA. - Test 3: 120ºC 85% relative humidity at 10 mA. - Test 4: 120ºC 85% relative humidity at 30 mA. - Test 5: 140ºC 70% relative humidity at 30 mA. - Test 6: 140ºC 85% relative humidity at 30 mA. - Test 7: 140ºC 60% relative humidity at 30 mA. - Test 8: 140ºC 85% relative humidity at 20 mA. When the measures are completely taken, data will be analyzed, in order to obtain a LED’s degradation law using Weibull’s distribution. Also the causes of the failures will be evaluated.
Resumo:
Sabemos que el problema del año 2000 no resuelto puede manifestarse bajo mil formas en cualquiera de las clases de sistemas que de modo muy genérico hemos enumerado al describir en este artículo su dimensión tecno social. Sólo los responsables de esos sistemas pueden (y deben) prever y evitar dichas formas (fallos) y en su caso informar a sus usuarios.
Resumo:
El reflectómetro óptico en el dominio del tiempo, conocido por sus siglas en inglés como OTDR, es un dispositivo muy utilizado en sistemas de comunicaciones por fibra óptica para conocer de una manera rápida y sencilla como varía la potencia óptica a lo largo de la fibra óptica, siendo otro de sus usos frecuentes la localización de fallos y roturas en un enlace. Este proyecto fin de carrera, consiste en la realización mediante Matlab de una interfaz gráfica que permite simular un OTDR para distintos tipos de fibras, conectores y empalmes visualizándose por pantalla la variación de la potencia óptica en función de la distancia, pudiendo ampliar cualquier tramo del enlace que se desee visualizar con mayor detalle. Los objetivos del proyecto podemos establecerlos en dos partes. Primero, realizar una interfaz que nos permita diseñar un enlace de fibra óptica de forma sencilla, permitiendo además medir desde la atenuación de la fibra a la de un empalme. En segundo lugar, emplear la interfaz desarrollada para comprobar conceptos teóricos, haciendo hincapié en los principales errores de un enlace de fibra óptica real. Para una mejor visualización y concepción de lo implementado, es necesario revisar los principios básicos de funcionamiento de la fibra óptica y las principales características de un enlace, así como, los distintos dispositivos que lo componen, para después explicar el funcionamiento del OTDR y sus usos; por ello, en los capítulos segundo y tercero, se explican estas nociones básicas, necesarias para un mejor entendimiento del proyecto. Para poder utilizar la interfaz gráfica de usuario, el capítulo cuarto muestra la descripción de las funciones con parámetros, así como el manual de usuario de la interfaz gráfica. En el capítulo quinto se hace una recopilación y estudios de resultados para distintas simulaciones comprobando desde casos sencillos a casos extremos en los que se debe prestar una especial atención a los elementos que componen el enlace, siendo finalmente, en el sexto capítulo donde se presentan distintas conclusiones así como posibles trabajos futuros, a partir de lo realizado. ABSTRACT. The optical time domain reflectometer, known as OTDR, is a widely used device in systems for fiber optic communications used to know quick and simply how the optical power its varying along the fiber, with particular emphasis to another of its frequent uses in troubleshooting on a link. This final project consists in carrying through a graphical interface in Matlab to simulate an OTDR for different types of fibers, connectors and splices, visualizing the variation of optical power as a function of the distance. It is possible to zoom in specific sections to view them with greater detail. The project objectives can be set in two parts: - Make an interface that allows us to design a fiber optic link easily and measuring from the fiber attenuation to a splice one. - Use the interface developed to test theoretical concepts, emphasizing the most important mistakes of a real optical fiber link. For better visualization and understanding of what it’s been implemented, it is necessary to review the basic operating principles of fiber optics and the main characteristics of a fiber link, and also the different types of devices that comprise it, and then explaining also how the OTDR works and its uses, therefore, in second and third chapters, explains these basics needed for a better understanding of the project. To use the GUI, the fourth chapter shows the description of the functions with parameters and the user manual of the GUI. The fifth chapter is a compilation and study of some simulation results for simple cases to check from simply to extreme cases putting special attention to the elements that make up the link. To sum up, in the sixth chapter will appear different conclusions and possible future works for improving the graphical interface or making a new one.
Resumo:
La optimización de parámetros tales como el consumo de potencia, la cantidad de recursos lógicos empleados o la ocupación de memoria ha sido siempre una de las preocupaciones principales a la hora de diseñar sistemas embebidos. Esto es debido a que se trata de sistemas dotados de una cantidad de recursos limitados, y que han sido tradicionalmente empleados para un propósito específico, que permanece invariable a lo largo de toda la vida útil del sistema. Sin embargo, el uso de sistemas embebidos se ha extendido a áreas de aplicación fuera de su ámbito tradicional, caracterizadas por una mayor demanda computacional. Así, por ejemplo, algunos de estos sistemas deben llevar a cabo un intenso procesado de señales multimedia o la transmisión de datos mediante sistemas de comunicaciones de alta capacidad. Por otra parte, las condiciones de operación del sistema pueden variar en tiempo real. Esto sucede, por ejemplo, si su funcionamiento depende de datos medidos por el propio sistema o recibidos a través de la red, de las demandas del usuario en cada momento, o de condiciones internas del propio dispositivo, tales como la duración de la batería. Como consecuencia de la existencia de requisitos de operación dinámicos es necesario ir hacia una gestión dinámica de los recursos del sistema. Si bien el software es inherentemente flexible, no ofrece una potencia computacional tan alta como el hardware. Por lo tanto, el hardware reconfigurable aparece como una solución adecuada para tratar con mayor flexibilidad los requisitos variables dinámicamente en sistemas con alta demanda computacional. La flexibilidad y adaptabilidad del hardware requieren de dispositivos reconfigurables que permitan la modificación de su funcionalidad bajo demanda. En esta tesis se han seleccionado las FPGAs (Field Programmable Gate Arrays) como los dispositivos más apropiados, hoy en día, para implementar sistemas basados en hardware reconfigurable De entre todas las posibilidades existentes para explotar la capacidad de reconfiguración de las FPGAs comerciales, se ha seleccionado la reconfiguración dinámica y parcial. Esta técnica consiste en substituir una parte de la lógica del dispositivo, mientras el resto continúa en funcionamiento. La capacidad de reconfiguración dinámica y parcial de las FPGAs es empleada en esta tesis para tratar con los requisitos de flexibilidad y de capacidad computacional que demandan los dispositivos embebidos. La propuesta principal de esta tesis doctoral es el uso de arquitecturas de procesamiento escalables espacialmente, que son capaces de adaptar su funcionalidad y rendimiento en tiempo real, estableciendo un compromiso entre dichos parámetros y la cantidad de lógica que ocupan en el dispositivo. A esto nos referimos con arquitecturas con huellas escalables. En particular, se propone el uso de arquitecturas altamente paralelas, modulares, regulares y con una alta localidad en sus comunicaciones, para este propósito. El tamaño de dichas arquitecturas puede ser modificado mediante la adición o eliminación de algunos de los módulos que las componen, tanto en una dimensión como en dos. Esta estrategia permite implementar soluciones escalables, sin tener que contar con una versión de las mismas para cada uno de los tamaños posibles de la arquitectura. De esta manera se reduce significativamente el tiempo necesario para modificar su tamaño, así como la cantidad de memoria necesaria para almacenar todos los archivos de configuración. En lugar de proponer arquitecturas para aplicaciones específicas, se ha optado por patrones de procesamiento genéricos, que pueden ser ajustados para solucionar distintos problemas en el estado del arte. A este respecto, se proponen patrones basados en esquemas sistólicos, así como de tipo wavefront. Con el objeto de poder ofrecer una solución integral, se han tratado otros aspectos relacionados con el diseño y el funcionamiento de las arquitecturas, tales como el control del proceso de reconfiguración de la FPGA, la integración de las arquitecturas en el resto del sistema, así como las técnicas necesarias para su implementación. Por lo que respecta a la implementación, se han tratado distintos aspectos de bajo nivel dependientes del dispositivo. Algunas de las propuestas realizadas a este respecto en la presente tesis doctoral son un router que es capaz de garantizar el correcto rutado de los módulos reconfigurables dentro del área destinada para ellos, así como una estrategia para la comunicación entre módulos que no introduce ningún retardo ni necesita emplear recursos configurables del dispositivo. El flujo de diseño propuesto se ha automatizado mediante una herramienta denominada DREAMS. La herramienta se encarga de la modificación de las netlists correspondientes a cada uno de los módulos reconfigurables del sistema, y que han sido generadas previamente mediante herramientas comerciales. Por lo tanto, el flujo propuesto se entiende como una etapa de post-procesamiento, que adapta esas netlists a los requisitos de la reconfiguración dinámica y parcial. Dicha modificación la lleva a cabo la herramienta de una forma completamente automática, por lo que la productividad del proceso de diseño aumenta de forma evidente. Para facilitar dicho proceso, se ha dotado a la herramienta de una interfaz gráfica. El flujo de diseño propuesto, y la herramienta que lo soporta, tienen características específicas para abordar el diseño de las arquitecturas dinámicamente escalables propuestas en esta tesis. Entre ellas está el soporte para el realojamiento de módulos reconfigurables en posiciones del dispositivo distintas a donde el módulo es originalmente implementado, así como la generación de estructuras de comunicación compatibles con la simetría de la arquitectura. El router has sido empleado también en esta tesis para obtener un rutado simétrico entre nets equivalentes. Dicha posibilidad ha sido explotada para aumentar la protección de circuitos con altos requisitos de seguridad, frente a ataques de canal lateral, mediante la implantación de lógica complementaria con rutado idéntico. Para controlar el proceso de reconfiguración de la FPGA, se propone en esta tesis un motor de reconfiguración especialmente adaptado a los requisitos de las arquitecturas dinámicamente escalables. Además de controlar el puerto de reconfiguración, el motor de reconfiguración ha sido dotado de la capacidad de realojar módulos reconfigurables en posiciones arbitrarias del dispositivo, en tiempo real. De esta forma, basta con generar un único bitstream por cada módulo reconfigurable del sistema, independientemente de la posición donde va a ser finalmente reconfigurado. La estrategia seguida para implementar el proceso de realojamiento de módulos es diferente de las propuestas existentes en el estado del arte, pues consiste en la composición de los archivos de configuración en tiempo real. De esta forma se consigue aumentar la velocidad del proceso, mientras que se reduce la longitud de los archivos de configuración parciales a almacenar en el sistema. El motor de reconfiguración soporta módulos reconfigurables con una altura menor que la altura de una región de reloj del dispositivo. Internamente, el motor se encarga de la combinación de los frames que describen el nuevo módulo, con la configuración existente en el dispositivo previamente. El escalado de las arquitecturas de procesamiento propuestas en esta tesis también se puede beneficiar de este mecanismo. Se ha incorporado también un acceso directo a una memoria externa donde se pueden almacenar bitstreams parciales. Para acelerar el proceso de reconfiguración se ha hecho funcionar el ICAP por encima de la máxima frecuencia de reloj aconsejada por el fabricante. Así, en el caso de Virtex-5, aunque la máxima frecuencia del reloj deberían ser 100 MHz, se ha conseguido hacer funcionar el puerto de reconfiguración a frecuencias de operación de hasta 250 MHz, incluyendo el proceso de realojamiento en tiempo real. Se ha previsto la posibilidad de portar el motor de reconfiguración a futuras familias de FPGAs. Por otro lado, el motor de reconfiguración se puede emplear para inyectar fallos en el propio dispositivo hardware, y así ser capaces de evaluar la tolerancia ante los mismos que ofrecen las arquitecturas reconfigurables. Los fallos son emulados mediante la generación de archivos de configuración a los que intencionadamente se les ha introducido un error, de forma que se modifica su funcionalidad. Con el objetivo de comprobar la validez y los beneficios de las arquitecturas propuestas en esta tesis, se han seguido dos líneas principales de aplicación. En primer lugar, se propone su uso como parte de una plataforma adaptativa basada en hardware evolutivo, con capacidad de escalabilidad, adaptabilidad y recuperación ante fallos. En segundo lugar, se ha desarrollado un deblocking filter escalable, adaptado a la codificación de vídeo escalable, como ejemplo de aplicación de las arquitecturas de tipo wavefront propuestas. El hardware evolutivo consiste en el uso de algoritmos evolutivos para diseñar hardware de forma autónoma, explotando la flexibilidad que ofrecen los dispositivos reconfigurables. En este caso, los elementos de procesamiento que componen la arquitectura son seleccionados de una biblioteca de elementos presintetizados, de acuerdo con las decisiones tomadas por el algoritmo evolutivo, en lugar de definir la configuración de las mismas en tiempo de diseño. De esta manera, la configuración del core puede cambiar cuando lo hacen las condiciones del entorno, en tiempo real, por lo que se consigue un control autónomo del proceso de reconfiguración dinámico. Así, el sistema es capaz de optimizar, de forma autónoma, su propia configuración. El hardware evolutivo tiene una capacidad inherente de auto-reparación. Se ha probado que las arquitecturas evolutivas propuestas en esta tesis son tolerantes ante fallos, tanto transitorios, como permanentes y acumulativos. La plataforma evolutiva se ha empleado para implementar filtros de eliminación de ruido. La escalabilidad también ha sido aprovechada en esta aplicación. Las arquitecturas evolutivas escalables permiten la adaptación autónoma de los cores de procesamiento ante fluctuaciones en la cantidad de recursos disponibles en el sistema. Por lo tanto, constituyen un ejemplo de escalabilidad dinámica para conseguir un determinado nivel de calidad, que puede variar en tiempo real. Se han propuesto dos variantes de sistemas escalables evolutivos. El primero consiste en un único core de procesamiento evolutivo, mientras que el segundo está formado por un número variable de arrays de procesamiento. La codificación de vídeo escalable, a diferencia de los codecs no escalables, permite la decodificación de secuencias de vídeo con diferentes niveles de calidad, de resolución temporal o de resolución espacial, descartando la información no deseada. Existen distintos algoritmos que soportan esta característica. En particular, se va a emplear el estándar Scalable Video Coding (SVC), que ha sido propuesto como una extensión de H.264/AVC, ya que este último es ampliamente utilizado tanto en la industria, como a nivel de investigación. Para poder explotar toda la flexibilidad que ofrece el estándar, hay que permitir la adaptación de las características del decodificador en tiempo real. El uso de las arquitecturas dinámicamente escalables es propuesto en esta tesis con este objetivo. El deblocking filter es un algoritmo que tiene como objetivo la mejora de la percepción visual de la imagen reconstruida, mediante el suavizado de los "artefactos" de bloque generados en el lazo del codificador. Se trata de una de las tareas más intensivas en procesamiento de datos de H.264/AVC y de SVC, y además, su carga computacional es altamente dependiente del nivel de escalabilidad seleccionado en el decodificador. Por lo tanto, el deblocking filter ha sido seleccionado como prueba de concepto de la aplicación de las arquitecturas dinámicamente escalables para la compresión de video. La arquitectura propuesta permite añadir o eliminar unidades de computación, siguiendo un esquema de tipo wavefront. La arquitectura ha sido propuesta conjuntamente con un esquema de procesamiento en paralelo del deblocking filter a nivel de macrobloque, de tal forma que cuando se varía del tamaño de la arquitectura, el orden de filtrado de los macrobloques varia de la misma manera. El patrón propuesto se basa en la división del procesamiento de cada macrobloque en dos etapas independientes, que se corresponden con el filtrado horizontal y vertical de los bloques dentro del macrobloque. Las principales contribuciones originales de esta tesis son las siguientes: - El uso de arquitecturas altamente regulares, modulares, paralelas y con una intensa localidad en sus comunicaciones, para implementar cores de procesamiento dinámicamente reconfigurables. - El uso de arquitecturas bidimensionales, en forma de malla, para construir arquitecturas dinámicamente escalables, con una huella escalable. De esta forma, las arquitecturas permiten establecer un compromiso entre el área que ocupan en el dispositivo, y las prestaciones que ofrecen en cada momento. Se proponen plantillas de procesamiento genéricas, de tipo sistólico o wavefront, que pueden ser adaptadas a distintos problemas de procesamiento. - Un flujo de diseño y una herramienta que lo soporta, para el diseño de sistemas reconfigurables dinámicamente, centradas en el diseño de las arquitecturas altamente paralelas, modulares y regulares propuestas en esta tesis. - Un esquema de comunicaciones entre módulos reconfigurables que no introduce ningún retardo ni requiere el uso de recursos lógicos propios. - Un router flexible, capaz de resolver los conflictos de rutado asociados con el diseño de sistemas reconfigurables dinámicamente. - Un algoritmo de optimización para sistemas formados por múltiples cores escalables que optimice, mediante un algoritmo genético, los parámetros de dicho sistema. Se basa en un modelo conocido como el problema de la mochila. - Un motor de reconfiguración adaptado a los requisitos de las arquitecturas altamente regulares y modulares. Combina una alta velocidad de reconfiguración, con la capacidad de realojar módulos en tiempo real, incluyendo el soporte para la reconfiguración de regiones que ocupan menos que una región de reloj, así como la réplica de un módulo reconfigurable en múltiples posiciones del dispositivo. - Un mecanismo de inyección de fallos que, empleando el motor de reconfiguración del sistema, permite evaluar los efectos de fallos permanentes y transitorios en arquitecturas reconfigurables. - La demostración de las posibilidades de las arquitecturas propuestas en esta tesis para la implementación de sistemas de hardware evolutivos, con una alta capacidad de procesamiento de datos. - La implementación de sistemas de hardware evolutivo escalables, que son capaces de tratar con la fluctuación de la cantidad de recursos disponibles en el sistema, de una forma autónoma. - Una estrategia de procesamiento en paralelo para el deblocking filter compatible con los estándares H.264/AVC y SVC que reduce el número de ciclos de macrobloque necesarios para procesar un frame de video. - Una arquitectura dinámicamente escalable que permite la implementación de un nuevo deblocking filter, totalmente compatible con los estándares H.264/AVC y SVC, que explota el paralelismo a nivel de macrobloque. El presente documento se organiza en siete capítulos. En el primero se ofrece una introducción al marco tecnológico de esta tesis, especialmente centrado en la reconfiguración dinámica y parcial de FPGAs. También se motiva la necesidad de las arquitecturas dinámicamente escalables propuestas en esta tesis. En el capítulo 2 se describen las arquitecturas dinámicamente escalables. Dicha descripción incluye la mayor parte de las aportaciones a nivel arquitectural realizadas en esta tesis. Por su parte, el flujo de diseño adaptado a dichas arquitecturas se propone en el capítulo 3. El motor de reconfiguración se propone en el 4, mientras que el uso de dichas arquitecturas para implementar sistemas de hardware evolutivo se aborda en el 5. El deblocking filter escalable se describe en el 6, mientras que las conclusiones finales de esta tesis, así como la descripción del trabajo futuro, son abordadas en el capítulo 7. ABSTRACT The optimization of system parameters, such as power dissipation, the amount of hardware resources and the memory footprint, has been always a main concern when dealing with the design of resource-constrained embedded systems. This situation is even more demanding nowadays. Embedded systems cannot anymore be considered only as specific-purpose computers, designed for a particular functionality that remains unchanged during their lifetime. Differently, embedded systems are now required to deal with more demanding and complex functions, such as multimedia data processing and high-throughput connectivity. In addition, system operation may depend on external data, the user requirements or internal variables of the system, such as the battery life-time. All these conditions may vary at run-time, leading to adaptive scenarios. As a consequence of both the growing computational complexity and the existence of dynamic requirements, dynamic resource management techniques for embedded systems are needed. Software is inherently flexible, but it cannot meet the computing power offered by hardware solutions. Therefore, reconfigurable hardware emerges as a suitable technology to deal with the run-time variable requirements of complex embedded systems. Adaptive hardware requires the use of reconfigurable devices, where its functionality can be modified on demand. In this thesis, Field Programmable Gate Arrays (FPGAs) have been selected as the most appropriate commercial technology existing nowadays to implement adaptive hardware systems. There are different ways of exploiting reconfigurability in reconfigurable devices. Among them is dynamic and partial reconfiguration. This is a technique which consists in substituting part of the FPGA logic on demand, while the rest of the device continues working. The strategy followed in this thesis is to exploit the dynamic and partial reconfiguration of commercial FPGAs to deal with the flexibility and complexity demands of state-of-the-art embedded systems. The proposal of this thesis to deal with run-time variable system conditions is the use of spatially scalable processing hardware IP cores, which are able to adapt their functionality or performance at run-time, trading them off with the amount of logic resources they occupy in the device. This is referred to as a scalable footprint in the context of this thesis. The distinguishing characteristic of the proposed cores is that they rely on highly parallel, modular and regular architectures, arranged in one or two dimensions. These architectures can be scaled by means of the addition or removal of the composing blocks. This strategy avoids implementing a full version of the core for each possible size, with the corresponding benefits in terms of scaling and adaptation time, as well as bitstream storage memory requirements. Instead of providing specific-purpose architectures, generic architectural templates, which can be tuned to solve different problems, are proposed in this thesis. Architectures following both systolic and wavefront templates have been selected. Together with the proposed scalable architectural templates, other issues needed to ensure the proper design and operation of the scalable cores, such as the device reconfiguration control, the run-time management of the architecture and the implementation techniques have been also addressed in this thesis. With regard to the implementation of dynamically reconfigurable architectures, device dependent low-level details are addressed. Some of the aspects covered in this thesis are the area constrained routing for reconfigurable modules, or an inter-module communication strategy which does not introduce either extra delay or logic overhead. The system implementation, from the hardware description to the device configuration bitstream, has been fully automated by modifying the netlists corresponding to each of the system modules, which are previously generated using the vendor tools. This modification is therefore envisaged as a post-processing step. Based on these implementation proposals, a design tool called DREAMS (Dynamically Reconfigurable Embedded and Modular Systems) has been created, including a graphic user interface. The tool has specific features to cope with modular and regular architectures, including the support for module relocation and the inter-module communications scheme based on the symmetry of the architecture. The core of the tool is a custom router, which has been also exploited in this thesis to obtain symmetric routed nets, with the aim of enhancing the protection of critical reconfigurable circuits against side channel attacks. This is achieved by duplicating the logic with an exactly equal routing. In order to control the reconfiguration process of the FPGA, a Reconfiguration Engine suited to the specific requirements set by the proposed architectures was also proposed. Therefore, in addition to controlling the reconfiguration port, the Reconfiguration Engine has been enhanced with the online relocation ability, which allows employing a unique configuration bitstream for all the positions where the module may be placed in the device. Differently to the existing relocating solutions, which are based on bitstream parsers, the proposed approach is based on the online composition of bitstreams. This strategy allows increasing the speed of the process, while the length of partial bitstreams is also reduced. The height of the reconfigurable modules can be lower than the height of a clock region. The Reconfiguration Engine manages the merging process of the new and the existing configuration frames within each clock region. The process of scaling up and down the hardware cores also benefits from this technique. A direct link to an external memory where partial bitstreams can be stored has been also implemented. In order to accelerate the reconfiguration process, the ICAP has been overclocked over the speed reported by the manufacturer. In the case of Virtex-5, even though the maximum frequency of the ICAP is reported to be 100 MHz, valid operations at 250 MHz have been achieved, including the online relocation process. Portability of the reconfiguration solution to today's and probably, future FPGAs, has been also considered. The reconfiguration engine can be also used to inject faults in real hardware devices, and this way being able to evaluate the fault tolerance offered by the reconfigurable architectures. Faults are emulated by introducing partial bitstreams intentionally modified to provide erroneous functionality. To prove the validity and the benefits offered by the proposed architectures, two demonstration application lines have been envisaged. First, scalable architectures have been employed to develop an evolvable hardware platform with adaptability, fault tolerance and scalability properties. Second, they have been used to implement a scalable deblocking filter suited to scalable video coding. Evolvable Hardware is the use of evolutionary algorithms to design hardware in an autonomous way, exploiting the flexibility offered by reconfigurable devices. In this case, processing elements composing the architecture are selected from a presynthesized library of processing elements, according to the decisions taken by the algorithm, instead of being decided at design time. This way, the configuration of the array may change as run-time environmental conditions do, achieving autonomous control of the dynamic reconfiguration process. Thus, the self-optimization property is added to the native self-configurability of the dynamically scalable architectures. In addition, evolvable hardware adaptability inherently offers self-healing features. The proposal has proved to be self-tolerant, since it is able to self-recover from both transient and cumulative permanent faults. The proposed evolvable architecture has been used to implement noise removal image filters. Scalability has been also exploited in this application. Scalable evolvable hardware architectures allow the autonomous adaptation of the processing cores to a fluctuating amount of resources available in the system. Thus, it constitutes an example of the dynamic quality scalability tackled in this thesis. Two variants have been proposed. The first one consists in a single dynamically scalable evolvable core, and the second one contains a variable number of processing cores. Scalable video is a flexible approach for video compression, which offers scalability at different levels. Differently to non-scalable codecs, a scalable video bitstream can be decoded with different levels of quality, spatial or temporal resolutions, by discarding the undesired information. The interest in this technology has been fostered by the development of the Scalable Video Coding (SVC) standard, as an extension of H.264/AVC. In order to exploit all the flexibility offered by the standard, it is necessary to adapt the characteristics of the decoder to the requirements of each client during run-time. The use of dynamically scalable architectures is proposed in this thesis with this aim. The deblocking filter algorithm is the responsible of improving the visual perception of a reconstructed image, by smoothing blocking artifacts generated in the encoding loop. This is one of the most computationally intensive tasks of the standard, and furthermore, it is highly dependent on the selected scalability level in the decoder. Therefore, the deblocking filter has been selected as a proof of concept of the implementation of dynamically scalable architectures for video compression. The proposed architecture allows the run-time addition or removal of computational units working in parallel to change its level of parallelism, following a wavefront computational pattern. Scalable architecture is offered together with a scalable parallelization strategy at the macroblock level, such that when the size of the architecture changes, the macroblock filtering order is modified accordingly. The proposed pattern is based on the division of the macroblock processing into two independent stages, corresponding to the horizontal and vertical filtering of the blocks within the macroblock. The main contributions of this thesis are: - The use of highly parallel, modular, regular and local architectures to implement dynamically reconfigurable processing IP cores, for data intensive applications with flexibility requirements. - The use of two-dimensional mesh-type arrays as architectural templates to build dynamically reconfigurable IP cores, with a scalable footprint. The proposal consists in generic architectural templates, which can be tuned to solve different computational problems. •A design flow and a tool targeting the design of DPR systems, focused on highly parallel, modular and local architectures. - An inter-module communication strategy, which does not introduce delay or area overhead, named Virtual Borders. - A custom and flexible router to solve the routing conflicts as well as the inter-module communication problems, appearing during the design of DPR systems. - An algorithm addressing the optimization of systems composed of multiple scalable cores, which size can be decided individually, to optimize the system parameters. It is based on a model known as the multi-dimensional multi-choice Knapsack problem. - A reconfiguration engine tailored to the requirements of highly regular and modular architectures. It combines a high reconfiguration throughput with run-time module relocation capabilities, including the support for sub-clock reconfigurable regions and the replication in multiple positions. - A fault injection mechanism which takes advantage of the system reconfiguration engine, as well as the modularity of the proposed reconfigurable architectures, to evaluate the effects of transient and permanent faults in these architectures. - The demonstration of the possibilities of the architectures proposed in this thesis to implement evolvable hardware systems, while keeping a high processing throughput. - The implementation of scalable evolvable hardware systems, which are able to adapt to the fluctuation of the amount of resources available in the system, in an autonomous way. - A parallelization strategy for the H.264/AVC and SVC deblocking filter, which reduces the number of macroblock cycles needed to process the whole frame. - A dynamically scalable architecture that permits the implementation of a novel deblocking filter module, fully compliant with the H.264/AVC and SVC standards, which exploits the macroblock level parallelism of the algorithm. This document is organized in seven chapters. In the first one, an introduction to the technology framework of this thesis, specially focused on dynamic and partial reconfiguration, is provided. The need for the dynamically scalable processing architectures proposed in this work is also motivated in this chapter. In chapter 2, dynamically scalable architectures are described. Description includes most of the architectural contributions of this work. The design flow tailored to the scalable architectures, together with the DREAMs tool provided to implement them, are described in chapter 3. The reconfiguration engine is described in chapter 4. The use of the proposed scalable archtieectures to implement evolvable hardware systems is described in chapter 5, while the scalable deblocking filter is described in chapter 6. Final conclusions of this thesis, and the description of future work, are addressed in chapter 7.