936 resultados para Deformable templates
Resumo:
Hoy en día, Internet juega un papel muy importante en nuestras vidas y las páginas web son el embalaje de todo aquello que nos ofrece. Sin embargo, existen muchos dominios inactivos o abandonados, muchas veces debido bien a la dificultad que supone crear uno mismo su propia página web y mantenerla actualizada a lo largo del tiempo, bien al gran coste que conlleva contratar a alguien para que lo haga, ya que muchas veces se requieren conocimientos expertos de HTML, JavaScript y CSS para construir una página web de calidad. Por tanto, lo que necesitan tanto diseñadores web expertos como aquellos que no lo son, es una técnica que les permita facilitar tanto el proceso de creación de páginas web como su mantenimiento; Web Components es una tecnología HTML novedosa que nos ayuda en este sentido, siendo el objetivo de este documento exponer los principios básicos de su funcionamiento. El punto principal de este Proyecto es realizar un tutorial, que por un lado explique los fundamentos de Web Components, y que por otro lado muestre un ejemplo más elaborado de uso de esta tecnología a nivel de producción, todo ello empleando las cuatro especificaciones de Web Components: Custom Elements, HTML Templates, HTML Imports y Shadow DOM.
Resumo:
La familia de algoritmos de Boosting son un tipo de técnicas de clasificación y regresión que han demostrado ser muy eficaces en problemas de Visión Computacional. Tal es el caso de los problemas de detección, de seguimiento o bien de reconocimiento de caras, personas, objetos deformables y acciones. El primer y más popular algoritmo de Boosting, AdaBoost, fue concebido para problemas binarios. Desde entonces, muchas han sido las propuestas que han aparecido con objeto de trasladarlo a otros dominios más generales: multiclase, multilabel, con costes, etc. Nuestro interés se centra en extender AdaBoost al terreno de la clasificación multiclase, considerándolo como un primer paso para posteriores ampliaciones. En la presente tesis proponemos dos algoritmos de Boosting para problemas multiclase basados en nuevas derivaciones del concepto margen. El primero de ellos, PIBoost, está concebido para abordar el problema descomponiéndolo en subproblemas binarios. Por un lado, usamos una codificación vectorial para representar etiquetas y, por otro, utilizamos la función de pérdida exponencial multiclase para evaluar las respuestas. Esta codificación produce un conjunto de valores margen que conllevan un rango de penalizaciones en caso de fallo y recompensas en caso de acierto. La optimización iterativa del modelo genera un proceso de Boosting asimétrico cuyos costes dependen del número de etiquetas separadas por cada clasificador débil. De este modo nuestro algoritmo de Boosting tiene en cuenta el desbalanceo debido a las clases a la hora de construir el clasificador. El resultado es un método bien fundamentado que extiende de manera canónica al AdaBoost original. El segundo algoritmo propuesto, BAdaCost, está concebido para problemas multiclase dotados de una matriz de costes. Motivados por los escasos trabajos dedicados a generalizar AdaBoost al terreno multiclase con costes, hemos propuesto un nuevo concepto de margen que, a su vez, permite derivar una función de pérdida adecuada para evaluar costes. Consideramos nuestro algoritmo como la extensión más canónica de AdaBoost para este tipo de problemas, ya que generaliza a los algoritmos SAMME, Cost-Sensitive AdaBoost y PIBoost. Por otro lado, sugerimos un simple procedimiento para calcular matrices de coste adecuadas para mejorar el rendimiento de Boosting a la hora de abordar problemas estándar y problemas con datos desbalanceados. Una serie de experimentos nos sirven para demostrar la efectividad de ambos métodos frente a otros conocidos algoritmos de Boosting multiclase en sus respectivas áreas. En dichos experimentos se usan bases de datos de referencia en el área de Machine Learning, en primer lugar para minimizar errores y en segundo lugar para minimizar costes. Además, hemos podido aplicar BAdaCost con éxito a un proceso de segmentación, un caso particular de problema con datos desbalanceados. Concluimos justificando el horizonte de futuro que encierra el marco de trabajo que presentamos, tanto por su aplicabilidad como por su flexibilidad teórica. Abstract The family of Boosting algorithms represents a type of classification and regression approach that has shown to be very effective in Computer Vision problems. Such is the case of detection, tracking and recognition of faces, people, deformable objects and actions. The first and most popular algorithm, AdaBoost, was introduced in the context of binary classification. Since then, many works have been proposed to extend it to the more general multi-class, multi-label, costsensitive, etc... domains. Our interest is centered in extending AdaBoost to two problems in the multi-class field, considering it a first step for upcoming generalizations. In this dissertation we propose two Boosting algorithms for multi-class classification based on new generalizations of the concept of margin. The first of them, PIBoost, is conceived to tackle the multi-class problem by solving many binary sub-problems. We use a vectorial codification to represent class labels and a multi-class exponential loss function to evaluate classifier responses. This representation produces a set of margin values that provide a range of penalties for failures and rewards for successes. The stagewise optimization of this model introduces an asymmetric Boosting procedure whose costs depend on the number of classes separated by each weak-learner. In this way the Boosting procedure takes into account class imbalances when building the ensemble. The resulting algorithm is a well grounded method that canonically extends the original AdaBoost. The second algorithm proposed, BAdaCost, is conceived for multi-class problems endowed with a cost matrix. Motivated by the few cost-sensitive extensions of AdaBoost to the multi-class field, we propose a new margin that, in turn, yields a new loss function appropriate for evaluating costs. Since BAdaCost generalizes SAMME, Cost-Sensitive AdaBoost and PIBoost algorithms, we consider our algorithm as a canonical extension of AdaBoost to this kind of problems. We additionally suggest a simple procedure to compute cost matrices that improve the performance of Boosting in standard and unbalanced problems. A set of experiments is carried out to demonstrate the effectiveness of both methods against other relevant Boosting algorithms in their respective areas. In the experiments we resort to benchmark data sets used in the Machine Learning community, firstly for minimizing classification errors and secondly for minimizing costs. In addition, we successfully applied BAdaCost to a segmentation task, a particular problem in presence of imbalanced data. We conclude the thesis justifying the horizon of future improvements encompassed in our framework, due to its applicability and theoretical flexibility.
Resumo:
Este Trabajo de Fin de Grado (TFG) tiene el objetivo de aportar un sistema de enseñanza innovador, un sistema de enseñanza mediante el cual se consiga involucrar a los alumnos en tareas y prácticas en las que se adquieran conocimientos a la vez que se siente un ambiente de juego, es decir, que se consiga aprender de forma divertida. Está destinado al sistema educativo de la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid, en concreto a las asignaturas relacionadas con los Procesadores de Lenguajes. La aplicación desarrollada en este trabajo está destinada tanto a los profesores de las asignaturas de Procesadores de Lenguajes como a los alumnos que tengan alguna relación con esas asignaturas, consiguiendo mayor interacción y diversión a la hora de realizar la tareas y prácticas de las asignaturas. Para los dos tipos de usuarios descritos anteriormente, la aplicación está configurada para que puedan identificarse mediante sus credenciales, comprobándose si los datos introducidos son correctos, y así poder acceder al sistema. Dependiendo de qué tipo de usuario se identifique, tendrá unas opciones u otras dentro del sistema. Los profesores podrán dar de alta, ver, modificar o dar de baja las configuraciones para los analizadores de los lenguajes correspondientes a las diferentes asignaturas que están configurados previamente en el sistema. Además, los profesores pueden dar de alta, ver, modificar o dar de baja los fragmentos de código que formarán los ficheros correspondientes a las plantillas de pruebas del analizador léxico que se les ofrece a los alumnos para realizar comprobaciones de las prácticas. Mediante la aplicación podrán establecer diferentes características y propiedades de los fragmentos que incorporen al sistema. Por otra parte, los alumnos podrán realizar la configuración del lenguaje, definido por los profesores, para la parte del analizador léxico de las prácticas. Esta configuración será guardada para el grupo al que corresponde el alumno, pudiendo realizar modificaciones cualquier miembro del grupo. De esta manera, se podrán posteriormente establecer las relaciones necesarias entre los elementos del lenguaje según la configuración de los profesores y los elementos referentes a las prácticas de los alumnos.Además, los alumnos podrán realizar comprobaciones de la parte léxica de sus prácticas mediante los ficheros que se generan por el sistema en función de sus opciones de práctica y los fragmentos añadidos por los profesores. De esta manera, se informará a los alumnos del éxito de las pruebas o bien de los fallos ocasionados con sus resultados, bien por el formato del archivo subido como resultado de la prueba o bien por el contenido incorrecto de este mismo. Todas las funciones que ofrece esta aplicación son completamente on-line y tendrán una interfaz llamativa y divertida, además de caracterizarse por su facilidad de uso y su comodidad. En el trabajo realizado para este proyecto se cumplen tanto las Pautas de Accesibilidad para Contenidos Web (WCAG 2.0), así como las propiedades de un código HTML 5 y CSS 3 de manera correcta, para así conseguir que los usuarios utilicen una aplicación fácil, cómoda y atractiva.---ABSTRACT---This Final Year Project (TFG) aims to contribute the educational system of the School of Computer Engineering at the Polytechnic University of Madrid, especially in subjects related with Language Processors. This project is an interactive learning system whose goal is to learn in an amusing environment. To realize this target, the system involves students, using environments of games in tasks and practices. The application developed in this project is designed for both professors of the subjects of Language Processors and students who have some relation to these subjects. This perspective achieve more interaction and a funny environment during the subject‘s tasks. The application is configured in order to the users can be identified by their credentials, checking whether the identification data are correct to have access to the system. According on what type of user is identified, they will have different options within the system. Professors will be able to register, modify or delete settings for the scanner of languages for all the subjects preconfigured in the system. Additionally, professors can register, show, modify or remove the code of the templates from scanner tests that are offered to students for testing the practical exercises. The professors may provide also different characteristics and properties of fragments incorporated in the system. Moreover, students can make the configuration of languages, getting in the systems by the administrators, for the scanner module of their practical exercises. This configuration will be saved for the group of the student. This model can also be changed by any group member. The system permits also establish later the relationships between the elements of language fixes by professors and elements developed by the students. Students could check the lexical part of their practical exercises through files that are created according to their practical options and the fragments added by professors. Thus students will be informed of success or failure in the uploaded files format and in the content of them. All functions provide by this application are completely on-line and will have a striking and funny interface, also characterized by its ease of use and comfort.The work reaches both the Web Content Accessibility Guidelines (WCAG 2.0), and the properties of an HTML 5 and CSS 3 code correctly, in order to get the users to get an easy, convenient application and attractive.
Resumo:
El Sistema Integrado de Gestión Académica consiste en una plataforma software modular orientada a apoyar la labor del profesorado en la gestión docente de las asignaturas impartidas por el Departamento de Mecánica de la Escuela Técnica Superior de Ingeniería y Diseño Industrial de la Universidad Politécnica de Madrid. Durante los últimos 5 años se ha trabajado en la creación de esta plataforma que se encuentra ahora en su recta final. Es necesario aclarar que toda la plataforma desde su inicio ha sido creada por el mismo autor y que debido al tiempo disponible para la realización del TFG, éste se ha centrado en realizar mejoras sobre lo ya desarrollado y en implementar uno de los módulos. El trabajo desarrollado comienza con un estudio de plataformas educativas online. Se han valorado las alternativas de Moodle y ATutor como posibles soluciones a los requisitos planteados llegando a la conclusión de que era necesario realizar un desarrollo a medida. La plataforma consta de 3 módulos principales: Plataforma de Gestión Docente en Internet (PGDNet) Aplicación de Notas (AdN) Plataforma de Entrega de Prácticas Académicas (PEPA) PGDNet está orientado a la realización de pruebas de evaluación online. El profesor tiene a su alcance un conjunto de opciones que le permiten la creación de actividades y ejercicios de diferente índole, gestionar alumnos y establecer periodos de evaluación. El sistema recoge los resultados y corrige automáticamente permitiendo además exportar los resultados, manteniendo de esta manera la compatibilidad con otros sistemas informáticos de la UPM. PGDNet ofrece además un servicio de correo electrónico para realizar comunicaciones con grupos predefinidos de alumnos, un gestor documental enlazado con las diferentes actividades y un gestor de encuestas programable a medida. AdN se integra en la plataforma como un sistema para la gestión de calificaciones y permite mantener un historial del alumno. Las materias pueden dividirse en diferentes evaluaciones con un determinado peso sobre la calificación final. La nota total se calcula en tiempo real y de forma automática. El alumno puede entrar a consultar sus calificaciones en cualquier momento. El módulo ofrece a los profesores acceso simultáneo a introducir las calificaciones e importar notas guardadas de convocatorias pasadas. PEPA es el nuevo módulo que se añade a la plataforma y el que concentra los esfuerzos de desarrollo de este TFG. Se trata de un sistema de entrega de prácticas online que permite al profesor centralizar la recogida de documentación para su posterior corrección. PEPA dispone de un sistema de plantillas de respuestas fijas utilizadas en los laboratorios que son corregidas de forma automática en la entrega. Los 3 módulos se complementan entre sí compartiendo datos y permitiendo realizar importaciones y exportaciones de información con las aplicaciones actuales de Secretaría de alumnos como puede ser la introducción de listas de alumnos.---ABSTRACT---Academic Management Framework (Sistema Integrado de Gestión Académica) is a module‐oriented software application that aims to help teachers from ETSIDI Department from UPM to manage all information related to graduate courses. The software, which has been in continuous developing during the last 5 years, is now about to be finished. It must be pointed out the fact that the entire application has been designed and implemented by the same author. However, due to time schedule restrictions in this TFG (spanish acronym for “Graduation Project”), it has been focused on developing a few improvements in the software already implemented and creating a specific new module. In the beginning, this TFG includes an educational software comparative study. Moodle and ATutor have been selected as plausible assembled solutions that would fit the requirements given. Nonetheless, the conclusion ends up with rejecting both possibilities and moving the project towards a custom‐developed software. The application is divided in 3 modules: Network Based Academic Management Platform (Plataforma de Gestión Docente en Internet ‐ PGDNet) Evaluation Aid Tool (Aplicación de Notas ‐ AdN) Academic Lab‐Work Delivery Platform (Plataforma de Entrega de Prácticas Académicas ‐ PEPA) PGDNet main purpose is handling online tests for students. There are a bunch of tools available for teachers that allow them to create activities and different types of exercises, manage students and set examination schedules. The system gathers the results and marks exercises automatically. Moreover, the teacher is able to export this information which is compatible with other UPM systems. PGDNet offers a mail service, a document management system and a survey application among others. AdN adds new features to the system. It helps teachers to manage student marks by keeping a history over the years. Subjects can be divided into little parts with a different weight in the final mark. Eventually, the mark is automatically calculated and published. The application can be accessed by both students and teachers simultaneously. This module is also ready to import old marks into the current course and allow all teachers to fill in the results at the same time. PEPA, which is a new module added from scratch, concentrate this TFG efforts. It consists of a practice delivery system that gathers all student documentation in a single site for easy correction. Besides, PEPA deploys an answer template repository for laboratory training. Students fill the templates and PEPA corrects them automatically on sending. These 3 modules are integrated in a single system that allows them to share data and import information such as student lists from the Administration Department.
Resumo:
Este Proyecto Fin de Grado (PFG) tiene como objetivo diseñar e implementar un sistema que genere un fichero de texto que contenga la configuración básica de un encaminador. De esta manera se desea mejorar la eficiencia del personal del departamento donde se va a implantar dicho sistema, liberando a los miembros del mismo de un trabajo repetitivo que se hace varias veces al día. Hasta ahora, esta configuración la realiza cada instalador. Para ello, una vez que se ha cargado y probado la configuración en distintos equipos de manera satisfactoria, se generan un conjunto de plantillas que sirven de modelo para las siguientes configuraciones. Aunque el instalador toma estas plantillas como punto de partida, tiene que modificar manualmente todas las variables que dependen de cada configuración particular. Por tanto, aunque no ha de ejecutar todos los comandos paso a paso, sí debe hacer una revisión total de cada plantilla para generar la configuración adecuada y después cargarla en el encaminador. Para cada configuración se consultan un total de entre tres y siete plantillas. Si a esto se añade que en el departamento se configuran encaminadores de la marca Cisco y Teldat, que de cada marca se utilizan distintos modelos y que la empresa ofrece cuatro tipos de servicio, cada uno con sus particularidades, la tarea de configurar un equipo es costosa. El sistema estará constituido por un servidor web que alojará una base de datos y un programa que permite realizar operaciones de consulta sobre la misma, un sitio web sencillo que hará las funciones de interfaz de usuario y una aplicación que permite generar el fichero de texto que contiene la configuración del encaminador en base a una serie de condicionantes. La base de datos desarrollada es una representación de la utilizada en el entorno real que tiene como objetivo realizar simulaciones del funcionamiento que tendrá el sistema. Por su parte, la funcionalidad del sitio web debe ser la de ofrecer al usuario una interfaz sencilla de utilizar y de interpretar, a través de la cual se puedan realizar consultas a la base de datos así como presentar los resultados de dichas consultas de forma ordenada. La aplicación se encargará de validar los datos a partir de los que se va a generar la configuración, determinar qué plantillas se deben consultar en función a aspectos como el servicio a configurar o la marca del encaminador y finalmente generar el fichero de texto resultado. De este modo, el instalador simplemente tendrá que volcar la información de dicho fichero sobre el encaminador. El sistema se ha diseñado de manera que sea lo más flexible a cambios, puesto que la idea de los miembros del departamento es ampliar la funcionalidad de esta herramienta. ABSTRACT. This Final Degree Project is focused on the design and implementation of a system which is able to generate a text file that contains the basic configuration of a router. With this system we want to improve the efficiency of the department members where this system is going to be introduced, releasing them from repetitive work which is done several times per day. Up to now, each installer has to configure the router manually. After checking the configuration of several devices successfully, they create a set of templates which work as models. Although the installers use those templates, they have to modify the variables that depend on the specific features of each kind of configuration. Thus, even though they don´t have to execute the commands step by step, they have to do a review of each used template in order to generate the right configuration. For each configuration, three to seven templates have to be checked. In addition, if the configured routers are both Cisco and Teldat, there are several models per brand and the company offers four types of services to be installed, so the configuration becomes a hard task to do. The system is comprised of a web server in which both the database and the program responsible for doing queries are hosted, a simple web site that will be the graphic user interface, and an application focused on generating the text file which contains the router configuration based on a set of conditions. The developed database is the representation of the real one and its aim is to simulate the way the system will work. The function of the web site is to offer an easy interface whereby you can submit a query or you can see the obtained results as a data table. Furthermore, the application has to validate the data in which the text file with the router configuration is based on. Then, it has to decide which templates it is going to use according to different aspects, such as the brand of the router or the type of service we want to configure. Finally, the application generates a text file with the necessary commands. As a result of this, the user of the system only has to copy the contents of this file to the router. The system has been designed to be flexible to changes because the members of the department want to increase the utility of this tool in the future.
Resumo:
El extraordinario auge de las nuevas tecnologías de la información, el desarrollo de la Internet de las Cosas, el comercio electrónico, las redes sociales, la telefonía móvil y la computación y almacenamiento en la nube, han proporcionado grandes beneficios en todos los ámbitos de la sociedad. Junto a éstos, se presentan nuevos retos para la protección y privacidad de la información y su contenido, como la suplantación de personalidad y la pérdida de la confidencialidad e integridad de los documentos o las comunicaciones electrónicas. Este hecho puede verse agravado por la falta de una frontera clara que delimite el mundo personal del mundo laboral en cuanto al acceso de la información. En todos estos campos de la actividad personal y laboral, la Criptografía ha jugado un papel fundamental aportando las herramientas necesarias para garantizar la confidencialidad, integridad y disponibilidad tanto de la privacidad de los datos personales como de la información. Por otro lado, la Biometría ha propuesto y ofrecido diferentes técnicas con el fin de garantizar la autentificación de individuos a través del uso de determinadas características personales como las huellas dáctilares, el iris, la geometría de la mano, la voz, la forma de caminar, etc. Cada una de estas dos ciencias, Criptografía y Biometría, aportan soluciones a campos específicos de la protección de datos y autentificación de usuarios, que se verían enormemente potenciados si determinadas características de ambas ciencias se unieran con vistas a objetivos comunes. Por ello es imperativo intensificar la investigación en estos ámbitos combinando los algoritmos y primitivas matemáticas de la Criptografía con la Biometría para dar respuesta a la demanda creciente de nuevas soluciones más técnicas, seguras y fáciles de usar que potencien de modo simultáneo la protección de datos y la identificacíón de usuarios. En esta combinación el concepto de biometría cancelable ha supuesto una piedra angular en el proceso de autentificación e identificación de usuarios al proporcionar propiedades de revocación y cancelación a los ragos biométricos. La contribución de esta tesis se basa en el principal aspecto de la Biometría, es decir, la autentificación segura y eficiente de usuarios a través de sus rasgos biométricos, utilizando tres aproximaciones distintas: 1. Diseño de un esquema criptobiométrico borroso que implemente los principios de la biometría cancelable para identificar usuarios lidiando con los problemas acaecidos de la variabilidad intra e inter-usuarios. 2. Diseño de una nueva función hash que preserva la similitud (SPHF por sus siglas en inglés). Actualmente estas funciones se usan en el campo del análisis forense digital con el objetivo de buscar similitudes en el contenido de archivos distintos pero similares de modo que se pueda precisar hasta qué punto estos archivos pudieran ser considerados iguales. La función definida en este trabajo de investigación, además de mejorar los resultados de las principales funciones desarrolladas hasta el momento, intenta extender su uso a la comparación entre patrones de iris. 3. Desarrollando un nuevo mecanismo de comparación de patrones de iris que considera tales patrones como si fueran señales para compararlos posteriormente utilizando la transformada de Walsh-Hadarmard. Los resultados obtenidos son excelentes teniendo en cuenta los requerimientos de seguridad y privacidad mencionados anteriormente. Cada uno de los tres esquemas diseñados han sido implementados para poder realizar experimentos y probar su eficacia operativa en escenarios que simulan situaciones reales: El esquema criptobiométrico borroso y la función SPHF han sido implementados en lenguaje Java mientras que el proceso basado en la transformada de Walsh-Hadamard en Matlab. En los experimentos se ha utilizado una base de datos de imágenes de iris (CASIA) para simular una población de usuarios del sistema. En el caso particular de la función de SPHF, además se han realizado experimentos para comprobar su utilidad en el campo de análisis forense comparando archivos e imágenes con contenido similar y distinto. En este sentido, para cada uno de los esquemas se han calculado los ratios de falso negativo y falso positivo. ABSTRACT The extraordinary increase of new information technologies, the development of Internet of Things, the electronic commerce, the social networks, mobile or smart telephony and cloud computing and storage, have provided great benefits in all areas of society. Besides this fact, there are new challenges for the protection and privacy of information and its content, such as the loss of confidentiality and integrity of electronic documents and communications. This is exarcebated by the lack of a clear boundary between the personal world and the business world as their differences are becoming narrower. In both worlds, i.e the personal and the business one, Cryptography has played a key role by providing the necessary tools to ensure the confidentiality, integrity and availability both of the privacy of the personal data and information. On the other hand, Biometrics has offered and proposed different techniques with the aim to assure the authentication of individuals through their biometric traits, such as fingerprints, iris, hand geometry, voice, gait, etc. Each of these sciences, Cryptography and Biometrics, provides tools to specific problems of the data protection and user authentication, which would be widely strengthen if determined characteristics of both sciences would be combined in order to achieve common objectives. Therefore, it is imperative to intensify the research in this area by combining the basics mathematical algorithms and primitives of Cryptography with Biometrics to meet the growing demand for more secure and usability techniques which would improve the data protection and the user authentication. In this combination, the use of cancelable biometrics makes a cornerstone in the user authentication and identification process since it provides revocable or cancelation properties to the biometric traits. The contributions in this thesis involve the main aspect of Biometrics, i.e. the secure and efficient authentication of users through their biometric templates, considered from three different approaches. The first one is designing a fuzzy crypto-biometric scheme using the cancelable biometric principles to take advantage of the fuzziness of the biometric templates at the same time that it deals with the intra- and inter-user variability among users without compromising the biometric templates extracted from the legitimate users. The second one is designing a new Similarity Preserving Hash Function (SPHF), currently widely used in the Digital Forensics field to find similarities among different files to calculate their similarity level. The function designed in this research work, besides the fact of improving the results of the two main functions of this field currently in place, it tries to expand its use to the iris template comparison. Finally, the last approach of this thesis is developing a new mechanism of handling the iris templates, considering them as signals, to use the Walsh-Hadamard transform (complemented with three other algorithms) to compare them. The results obtained are excellent taking into account the security and privacy requirements mentioned previously. Every one of the three schemes designed have been implemented to test their operational efficacy in situations that simulate real scenarios: The fuzzy crypto-biometric scheme and the SPHF have been implemented in Java language, while the process based on the Walsh-Hadamard transform in Matlab. The experiments have been performed using a database of iris templates (CASIA-IrisV2) to simulate a user population. The case of the new SPHF designed is special since previous to be applied i to the Biometrics field, it has been also tested to determine its applicability in the Digital Forensic field comparing similar and dissimilar files and images. The ratios of efficiency and effectiveness regarding user authentication, i.e. False Non Match and False Match Rate, for the schemes designed have been calculated with different parameters and cases to analyse their behaviour.
Resumo:
Esta tesis doctoral se enmarca dentro del campo de los sistemas embebidos reconfigurables, redes de sensores inalámbricas para aplicaciones de altas prestaciones, y computación distribuida. El documento se centra en el estudio de alternativas de procesamiento para sistemas embebidos autónomos distribuidos de altas prestaciones (por sus siglas en inglés, High-Performance Autonomous Distributed Systems (HPADS)), así como su evolución hacia el procesamiento de alta resolución. El estudio se ha llevado a cabo tanto a nivel de plataforma como a nivel de las arquitecturas de procesamiento dentro de la plataforma con el objetivo de optimizar aspectos tan relevantes como la eficiencia energética, la capacidad de cómputo y la tolerancia a fallos del sistema. Los HPADS son sistemas realimentados, normalmente formados por elementos distribuidos conectados o no en red, con cierta capacidad de adaptación, y con inteligencia suficiente para llevar a cabo labores de prognosis y/o autoevaluación. Esta clase de sistemas suele formar parte de sistemas más complejos llamados sistemas ciber-físicos (por sus siglas en inglés, Cyber-Physical Systems (CPSs)). Los CPSs cubren un espectro enorme de aplicaciones, yendo desde aplicaciones médicas, fabricación, o aplicaciones aeroespaciales, entre otras muchas. Para el diseño de este tipo de sistemas, aspectos tales como la confiabilidad, la definición de modelos de computación, o el uso de metodologías y/o herramientas que faciliten el incremento de la escalabilidad y de la gestión de la complejidad, son fundamentales. La primera parte de esta tesis doctoral se centra en el estudio de aquellas plataformas existentes en el estado del arte que por sus características pueden ser aplicables en el campo de los CPSs, así como en la propuesta de un nuevo diseño de plataforma de altas prestaciones que se ajuste mejor a los nuevos y más exigentes requisitos de las nuevas aplicaciones. Esta primera parte incluye descripción, implementación y validación de la plataforma propuesta, así como conclusiones sobre su usabilidad y sus limitaciones. Los principales objetivos para el diseño de la plataforma propuesta se enumeran a continuación: • Estudiar la viabilidad del uso de una FPGA basada en RAM como principal procesador de la plataforma en cuanto a consumo energético y capacidad de cómputo. • Propuesta de técnicas de gestión del consumo de energía en cada etapa del perfil de trabajo de la plataforma. •Propuestas para la inclusión de reconfiguración dinámica y parcial de la FPGA (por sus siglas en inglés, Dynamic Partial Reconfiguration (DPR)) de forma que sea posible cambiar ciertas partes del sistema en tiempo de ejecución y sin necesidad de interrumpir al resto de las partes. Evaluar su aplicabilidad en el caso de HPADS. Las nuevas aplicaciones y nuevos escenarios a los que se enfrentan los CPSs, imponen nuevos requisitos en cuanto al ancho de banda necesario para el procesamiento de los datos, así como en la adquisición y comunicación de los mismos, además de un claro incremento en la complejidad de los algoritmos empleados. Para poder cumplir con estos nuevos requisitos, las plataformas están migrando desde sistemas tradicionales uni-procesador de 8 bits, a sistemas híbridos hardware-software que incluyen varios procesadores, o varios procesadores y lógica programable. Entre estas nuevas arquitecturas, las FPGAs y los sistemas en chip (por sus siglas en inglés, System on Chip (SoC)) que incluyen procesadores embebidos y lógica programable, proporcionan soluciones con muy buenos resultados en cuanto a consumo energético, precio, capacidad de cómputo y flexibilidad. Estos buenos resultados son aún mejores cuando las aplicaciones tienen altos requisitos de cómputo y cuando las condiciones de trabajo son muy susceptibles de cambiar en tiempo real. La plataforma propuesta en esta tesis doctoral se ha denominado HiReCookie. La arquitectura incluye una FPGA basada en RAM como único procesador, así como un diseño compatible con la plataforma para redes de sensores inalámbricas desarrollada en el Centro de Electrónica Industrial de la Universidad Politécnica de Madrid (CEI-UPM) conocida como Cookies. Esta FPGA, modelo Spartan-6 LX150, era, en el momento de inicio de este trabajo, la mejor opción en cuanto a consumo y cantidad de recursos integrados, cuando además, permite el uso de reconfiguración dinámica y parcial. Es importante resaltar que aunque los valores de consumo son los mínimos para esta familia de componentes, la potencia instantánea consumida sigue siendo muy alta para aquellos sistemas que han de trabajar distribuidos, de forma autónoma, y en la mayoría de los casos alimentados por baterías. Por esta razón, es necesario incluir en el diseño estrategias de ahorro energético para incrementar la usabilidad y el tiempo de vida de la plataforma. La primera estrategia implementada consiste en dividir la plataforma en distintas islas de alimentación de forma que sólo aquellos elementos que sean estrictamente necesarios permanecerán alimentados, cuando el resto puede estar completamente apagado. De esta forma es posible combinar distintos modos de operación y así optimizar enormemente el consumo de energía. El hecho de apagar la FPGA para ahora energía durante los periodos de inactividad, supone la pérdida de la configuración, puesto que la memoria de configuración es una memoria volátil. Para reducir el impacto en el consumo y en el tiempo que supone la reconfiguración total de la plataforma una vez encendida, en este trabajo, se incluye una técnica para la compresión del archivo de configuración de la FPGA, de forma que se consiga una reducción del tiempo de configuración y por ende de la energía consumida. Aunque varios de los requisitos de diseño pueden satisfacerse con el diseño de la plataforma HiReCookie, es necesario seguir optimizando diversos parámetros tales como el consumo energético, la tolerancia a fallos y la capacidad de procesamiento. Esto sólo es posible explotando todas las posibilidades ofrecidas por la arquitectura de procesamiento en la FPGA. Por lo tanto, la segunda parte de esta tesis doctoral está centrada en el diseño de una arquitectura reconfigurable denominada ARTICo3 (Arquitectura Reconfigurable para el Tratamiento Inteligente de Cómputo, Confiabilidad y Consumo de energía) para la mejora de estos parámetros por medio de un uso dinámico de recursos. ARTICo3 es una arquitectura de procesamiento para FPGAs basadas en RAM, con comunicación tipo bus, preparada para dar soporte para la gestión dinámica de los recursos internos de la FPGA en tiempo de ejecución gracias a la inclusión de reconfiguración dinámica y parcial. Gracias a esta capacidad de reconfiguración parcial, es posible adaptar los niveles de capacidad de procesamiento, energía consumida o tolerancia a fallos para responder a las demandas de la aplicación, entorno, o métricas internas del dispositivo mediante la adaptación del número de recursos asignados para cada tarea. Durante esta segunda parte de la tesis se detallan el diseño de la arquitectura, su implementación en la plataforma HiReCookie, así como en otra familia de FPGAs, y su validación por medio de diferentes pruebas y demostraciones. Los principales objetivos que se plantean la arquitectura son los siguientes: • Proponer una metodología basada en un enfoque multi-hilo, como las propuestas por CUDA (por sus siglas en inglés, Compute Unified Device Architecture) u Open CL, en la cual distintos kernels, o unidades de ejecución, se ejecuten en un numero variable de aceleradores hardware sin necesidad de cambios en el código de aplicación. • Proponer un diseño y proporcionar una arquitectura en la que las condiciones de trabajo cambien de forma dinámica dependiendo bien de parámetros externos o bien de parámetros que indiquen el estado de la plataforma. Estos cambios en el punto de trabajo de la arquitectura serán posibles gracias a la reconfiguración dinámica y parcial de aceleradores hardware en tiempo real. • Explotar las posibilidades de procesamiento concurrente, incluso en una arquitectura basada en bus, por medio de la optimización de las transacciones en ráfaga de datos hacia los aceleradores. •Aprovechar las ventajas ofrecidas por la aceleración lograda por módulos puramente hardware para conseguir una mejor eficiencia energética. • Ser capaces de cambiar los niveles de redundancia de hardware de forma dinámica según las necesidades del sistema en tiempo real y sin cambios para el código de aplicación. • Proponer una capa de abstracción entre el código de aplicación y el uso dinámico de los recursos de la FPGA. El diseño en FPGAs permite la utilización de módulos hardware específicamente creados para una aplicación concreta. De esta forma es posible obtener rendimientos mucho mayores que en el caso de las arquitecturas de propósito general. Además, algunas FPGAs permiten la reconfiguración dinámica y parcial de ciertas partes de su lógica en tiempo de ejecución, lo cual dota al diseño de una gran flexibilidad. Los fabricantes de FPGAs ofrecen arquitecturas predefinidas con la posibilidad de añadir bloques prediseñados y poder formar sistemas en chip de una forma más o menos directa. Sin embargo, la forma en la que estos módulos hardware están organizados dentro de la arquitectura interna ya sea estática o dinámicamente, o la forma en la que la información se intercambia entre ellos, influye enormemente en la capacidad de cómputo y eficiencia energética del sistema. De la misma forma, la capacidad de cargar módulos hardware bajo demanda, permite añadir bloques redundantes que permitan aumentar el nivel de tolerancia a fallos de los sistemas. Sin embargo, la complejidad ligada al diseño de bloques hardware dedicados no debe ser subestimada. Es necesario tener en cuenta que el diseño de un bloque hardware no es sólo su propio diseño, sino también el diseño de sus interfaces, y en algunos casos de los drivers software para su manejo. Además, al añadir más bloques, el espacio de diseño se hace más complejo, y su programación más difícil. Aunque la mayoría de los fabricantes ofrecen interfaces predefinidas, IPs (por sus siglas en inglés, Intelectual Property) comerciales y plantillas para ayudar al diseño de los sistemas, para ser capaces de explotar las posibilidades reales del sistema, es necesario construir arquitecturas sobre las ya establecidas para facilitar el uso del paralelismo, la redundancia, y proporcionar un entorno que soporte la gestión dinámica de los recursos. Para proporcionar este tipo de soporte, ARTICo3 trabaja con un espacio de soluciones formado por tres ejes fundamentales: computación, consumo energético y confiabilidad. De esta forma, cada punto de trabajo se obtiene como una solución de compromiso entre estos tres parámetros. Mediante el uso de la reconfiguración dinámica y parcial y una mejora en la transmisión de los datos entre la memoria principal y los aceleradores, es posible dedicar un número variable de recursos en el tiempo para cada tarea, lo que hace que los recursos internos de la FPGA sean virtualmente ilimitados. Este variación en el tiempo del número de recursos por tarea se puede usar bien para incrementar el nivel de paralelismo, y por ende de aceleración, o bien para aumentar la redundancia, y por lo tanto el nivel de tolerancia a fallos. Al mismo tiempo, usar un numero óptimo de recursos para una tarea mejora el consumo energético ya que bien es posible disminuir la potencia instantánea consumida, o bien el tiempo de procesamiento. Con el objetivo de mantener los niveles de complejidad dentro de unos límites lógicos, es importante que los cambios realizados en el hardware sean totalmente transparentes para el código de aplicación. A este respecto, se incluyen distintos niveles de transparencia: • Transparencia a la escalabilidad: los recursos usados por una misma tarea pueden ser modificados sin que el código de aplicación sufra ningún cambio. • Transparencia al rendimiento: el sistema aumentara su rendimiento cuando la carga de trabajo aumente, sin cambios en el código de aplicación. • Transparencia a la replicación: es posible usar múltiples instancias de un mismo módulo bien para añadir redundancia o bien para incrementar la capacidad de procesamiento. Todo ello sin que el código de aplicación cambie. • Transparencia a la posición: la posición física de los módulos hardware es arbitraria para su direccionamiento desde el código de aplicación. • Transparencia a los fallos: si existe un fallo en un módulo hardware, gracias a la redundancia, el código de aplicación tomará directamente el resultado correcto. • Transparencia a la concurrencia: el hecho de que una tarea sea realizada por más o menos bloques es transparente para el código que la invoca. Por lo tanto, esta tesis doctoral contribuye en dos líneas diferentes. En primer lugar, con el diseño de la plataforma HiReCookie y en segundo lugar con el diseño de la arquitectura ARTICo3. Las principales contribuciones de esta tesis se resumen a continuación. • Arquitectura de la HiReCookie incluyendo: o Compatibilidad con la plataforma Cookies para incrementar las capacidades de esta. o División de la arquitectura en distintas islas de alimentación. o Implementación de los diversos modos de bajo consumo y políticas de despertado del nodo. o Creación de un archivo de configuración de la FPGA comprimido para reducir el tiempo y el consumo de la configuración inicial. • Diseño de la arquitectura reconfigurable para FPGAs basadas en RAM ARTICo3: o Modelo de computación y modos de ejecución inspirados en el modelo de CUDA pero basados en hardware reconfigurable con un número variable de bloques de hilos por cada unidad de ejecución. o Estructura para optimizar las transacciones de datos en ráfaga proporcionando datos en cascada o en paralelo a los distinto módulos incluyendo un proceso de votado por mayoría y operaciones de reducción. o Capa de abstracción entre el procesador principal que incluye el código de aplicación y los recursos asignados para las diferentes tareas. o Arquitectura de los módulos hardware reconfigurables para mantener la escalabilidad añadiendo una la interfaz para las nuevas funcionalidades con un simple acceso a una memoria RAM interna. o Caracterización online de las tareas para proporcionar información a un módulo de gestión de recursos para mejorar la operación en términos de energía y procesamiento cuando además se opera entre distintos nieles de tolerancia a fallos. El documento está dividido en dos partes principales formando un total de cinco capítulos. En primer lugar, después de motivar la necesidad de nuevas plataformas para cubrir las nuevas aplicaciones, se detalla el diseño de la plataforma HiReCookie, sus partes, las posibilidades para bajar el consumo energético y se muestran casos de uso de la plataforma así como pruebas de validación del diseño. La segunda parte del documento describe la arquitectura reconfigurable, su implementación en varias FPGAs, y pruebas de validación en términos de capacidad de procesamiento y consumo energético, incluyendo cómo estos aspectos se ven afectados por el nivel de tolerancia a fallos elegido. Los capítulos a lo largo del documento son los siguientes: El capítulo 1 analiza los principales objetivos, motivación y aspectos teóricos necesarios para seguir el resto del documento. El capítulo 2 está centrado en el diseño de la plataforma HiReCookie y sus posibilidades para disminuir el consumo de energía. El capítulo 3 describe la arquitectura reconfigurable ARTICo3. El capítulo 4 se centra en las pruebas de validación de la arquitectura usando la plataforma HiReCookie para la mayoría de los tests. Un ejemplo de aplicación es mostrado para analizar el funcionamiento de la arquitectura. El capítulo 5 concluye esta tesis doctoral comentando las conclusiones obtenidas, las contribuciones originales del trabajo y resultados y líneas futuras. ABSTRACT This PhD Thesis is framed within the field of dynamically reconfigurable embedded systems, advanced sensor networks and distributed computing. The document is centred on the study of processing solutions for high-performance autonomous distributed systems (HPADS) as well as their evolution towards High performance Computing (HPC) systems. The approach of the study is focused on both platform and processor levels to optimise critical aspects such as computing performance, energy efficiency and fault tolerance. HPADS are considered feedback systems, normally networked and/or distributed, with real-time adaptive and predictive functionality. These systems, as part of more complex systems known as Cyber-Physical Systems (CPSs), can be applied in a wide range of fields such as military, health care, manufacturing, aerospace, etc. For the design of HPADS, high levels of dependability, the definition of suitable models of computation, and the use of methodologies and tools to support scalability and complexity management, are required. The first part of the document studies the different possibilities at platform design level in the state of the art, together with description, development and validation tests of the platform proposed in this work to cope with the previously mentioned requirements. The main objectives targeted by this platform design are the following: • Study the feasibility of using SRAM-based FPGAs as the main processor of the platform in terms of energy consumption and performance for high demanding applications. • Analyse and propose energy management techniques to reduce energy consumption in every stage of the working profile of the platform. • Provide a solution with dynamic partial and wireless remote HW reconfiguration (DPR) to be able to change certain parts of the FPGA design at run time and on demand without interrupting the rest of the system. • Demonstrate the applicability of the platform in different test-bench applications. In order to select the best approach for the platform design in terms of processing alternatives, a study of the evolution of the state-of-the-art platforms is required to analyse how different architectures cope with new more demanding applications and scenarios: security, mixed-critical systems for aerospace, multimedia applications, or military environments, among others. In all these scenarios, important changes in the required processing bandwidth or the complexity of the algorithms used are provoking the migration of the platforms from single microprocessor architectures to multiprocessing and heterogeneous solutions with more instant power consumption but higher energy efficiency. Within these solutions, FPGAs and Systems on Chip including FPGA fabric and dedicated hard processors, offer a good trade of among flexibility, processing performance, energy consumption and price, when they are used in demanding applications where working conditions are very likely to vary over time and high complex algorithms are required. The platform architecture proposed in this PhD Thesis is called HiReCookie. It includes an SRAM-based FPGA as the main and only processing unit. The FPGA selected, the Xilinx Spartan-6 LX150, was at the beginning of this work the best choice in terms of amount of resources and power. Although, the power levels are the lowest of these kind of devices, they can be still very high for distributed systems that normally work powered by batteries. For that reason, it is necessary to include different energy saving possibilities to increase the usability of the platform. In order to reduce energy consumption, the platform architecture is divided into different power islands so that only those parts of the systems that are strictly needed are powered on, while the rest of the islands can be completely switched off. This allows a combination of different low power modes to decrease energy. In addition, one of the most important handicaps of SRAM-based FPGAs is that they are not alive at power up. Therefore, recovering the system from a switch-off state requires to reload the FPGA configuration from a non-volatile memory device. For that reason, this PhD Thesis also proposes a methodology to compress the FPGA configuration file in order to reduce time and energy during the initial configuration process. Although some of the requirements for the design of HPADS are already covered by the design of the HiReCookie platform, it is necessary to continue improving energy efficiency, computing performance and fault tolerance. This is only possible by exploiting all the opportunities provided by the processing architectures configured inside the FPGA. Therefore, the second part of the thesis details the design of the so called ARTICo3 FPGA architecture to enhance the already intrinsic capabilities of the FPGA. ARTICo3 is a DPR-capable bus-based virtual architecture for multiple HW acceleration in SRAM-based FPGAs. The architecture provides support for dynamic resource management in real time. In this way, by using DPR, it will be possible to change the levels of computing performance, energy consumption and fault tolerance on demand by increasing or decreasing the amount of resources used by the different tasks. Apart from the detailed design of the architecture and its implementation in different FPGA devices, different validation tests and comparisons are also shown. The main objectives targeted by this FPGA architecture are listed as follows: • Provide a method based on a multithread approach such as those offered by CUDA (Compute Unified Device Architecture) or OpenCL kernel executions, where kernels are executed in a variable number of HW accelerators without requiring application code changes. • Provide an architecture to dynamically adapt working points according to either self-measured or external parameters in terms of energy consumption, fault tolerance and computing performance. Taking advantage of DPR capabilities, the architecture must provide support for a dynamic use of resources in real time. • Exploit concurrent processing capabilities in a standard bus-based system by optimizing data transactions to and from HW accelerators. • Measure the advantage of HW acceleration as a technique to boost performance to improve processing times and save energy by reducing active times for distributed embedded systems. • Dynamically change the levels of HW redundancy to adapt fault tolerance in real time. • Provide HW abstraction from SW application design. FPGAs give the possibility of designing specific HW blocks for every required task to optimise performance while some of them include the possibility of including DPR. Apart from the possibilities provided by manufacturers, the way these HW modules are organised, addressed and multiplexed in area and time can improve computing performance and energy consumption. At the same time, fault tolerance and security techniques can also be dynamically included using DPR. However, the inherent complexity of designing new HW modules for every application is not negligible. It does not only consist of the HW description, but also the design of drivers and interfaces with the rest of the system, while the design space is widened and more complex to define and program. Even though the tools provided by the majority of manufacturers already include predefined bus interfaces, commercial IPs, and templates to ease application prototyping, it is necessary to improve these capabilities. By adding new architectures on top of them, it is possible to take advantage of parallelization and HW redundancy while providing a framework to ease the use of dynamic resource management. ARTICo3 works within a solution space where working points change at run time in a 3D space defined by three different axes: Computation, Consumption, and Fault Tolerance. Therefore, every working point is found as a trade-off solution among these three axes. By means of DPR, different accelerators can be multiplexed so that the amount of available resources for any application is virtually unlimited. Taking advantage of DPR capabilities and a novel way of transmitting data to the reconfigurable HW accelerators, it is possible to dedicate a dynamically-changing number of resources for a given task in order to either boost computing speed or adding HW redundancy and a voting process to increase fault-tolerance levels. At the same time, using an optimised amount of resources for a given task reduces energy consumption by reducing instant power or computing time. In order to keep level complexity under certain limits, it is important that HW changes are transparent for the application code. Therefore, different levels of transparency are targeted by the system: • Scalability transparency: a task must be able to expand its resources without changing the system structure or application algorithms. • Performance transparency: the system must reconfigure itself as load changes. • Replication transparency: multiple instances of the same task are loaded to increase reliability and performance. • Location transparency: resources are accessed with no knowledge of their location by the application code. • Failure transparency: task must be completed despite a failure in some components. • Concurrency transparency: different tasks will work in a concurrent way transparent to the application code. Therefore, as it can be seen, the Thesis is contributing in two different ways. First with the design of the HiReCookie platform and, second with the design of the ARTICo3 architecture. The main contributions of this PhD Thesis are then listed below: • Architecture of the HiReCookie platform including: o Compatibility of the processing layer for high performance applications with the Cookies Wireless Sensor Network platform for fast prototyping and implementation. o A division of the architecture in power islands. o All the different low-power modes. o The creation of the partial-initial bitstream together with the wake-up policies of the node. • The design of the reconfigurable architecture for SRAM FPGAs: ARTICo3: o A model of computation and execution modes inspired in CUDA but based on reconfigurable HW with a dynamic number of thread blocks per kernel. o A structure to optimise burst data transactions providing coalesced or parallel data to HW accelerators, parallel voting process and reduction operation. o The abstraction provided to the host processor with respect to the operation of the kernels in terms of the number of replicas, modes of operation, location in the reconfigurable area and addressing. o The architecture of the modules representing the thread blocks to make the system scalable by adding functional units only adding an access to a BRAM port. o The online characterization of the kernels to provide information to a scheduler or resource manager in terms of energy consumption and processing time when changing among different fault-tolerance levels, as well as if a kernel is expected to work in the memory-bounded or computing-bounded areas. The document of the Thesis is divided into two main parts with a total of five chapters. First, after motivating the need for new platforms to cover new more demanding applications, the design of the HiReCookie platform, its parts and several partial tests are detailed. The design of the platform alone does not cover all the needs of these applications. Therefore, the second part describes the architecture inside the FPGA, called ARTICo3, proposed in this PhD Thesis. The architecture and its implementation are tested in terms of energy consumption and computing performance showing different possibilities to improve fault tolerance and how this impact in energy and time of processing. Chapter 1 shows the main goals of this PhD Thesis and the technology background required to follow the rest of the document. Chapter 2 shows all the details about the design of the FPGA-based platform HiReCookie. Chapter 3 describes the ARTICo3 architecture. Chapter 4 is focused on the validation tests of the ARTICo3 architecture. An application for proof of concept is explained where typical kernels related to image processing and encryption algorithms are used. Further experimental analyses are performed using these kernels. Chapter 5 concludes the document analysing conclusions, comments about the contributions of the work, and some possible future lines for the work.
Resumo:
RESUMEN Las empresas tienen programas que acceden a sus bases de datos, estos programas pueden quedarse obsoletos o dejar de serles útiles por alguna razón y deben ser actualizados o reemplazados. Sin embargo la base de datos se suele mantener, ya que la estructura de la información no cambia. Llegado el momento de actualizar o migrar ese software que accede a la base de datos, se puede recurrir a una estructura de clases, las cuales están basadas en la metainformación de la base de datos, y así facilitar el desarrollo del nuevo software. La herramienta desarrollada en este proyecto accede a la metainformación de la base de datos, obtiene la estructura de las tablas y a través de plantillas genera las clases necesarias para empezar el nuevo software. Al estar la herramienta basada en plantillas, adaptar éstas a un nuevo lenguaje es sencillo, haciendo la herramienta mucho más polivalente. En conclusión, una herramienta de este tipo puede facilitar el desarrollo de un nuevo software siempre que la estructura de la base de datos se mantenga intacta haciendo que el nuevo proyecto se desarrolle de forma más rápida. ABSTRACT Companies have software that access their databases, this software can become obsolete or fail to be useful for some reason and must be upgraded or replaced. However the database is usually maintained as the information does not change. It is for this reason that when you migrate the software that accesses the database can use a class structure based on information in the database to facilitate the development of new software. The tool developed in this project accesses the metadata of the database to obtain the structure of the tables and through templates generate the necessary classes to start the new software. Being template‐based tool, adapt these to a new language is simple, making a more versatile tool. In conclusion, a tool of this kind can facilitate the development of a new software provided that the structure of the database is intact making the new project develops more quickly.
Resumo:
Los enjarjes, jarjas o jarjamentos conforman el comienzo de la bóveda de crucería, el lugar en el que todos los nervios nacen reunidos. Permiten la transición entre el muro y las dovelas que constituyen nervios, resolviendo un encuentro de gran importancia constructiva. Están compuestos por piezas de lechos horizontales que traban con el muro y que, además de conformar el arranque de los nervios, han de proporcionar apoyo a las primeras dovelas. Al construirse a la vez que el muro y antes que el resto de la bóveda, se podría decir que son los encargados de portar su ADN: en ellos queda registrado el número de nervios que tendrá la bóveda, su curvatura, desde qué altura arrancará cada uno, su perfil, etc. El objetivo de este trabajo se centra en estudio de los enjarjes en la obra de Guillem Sagrera abordando su dimensión tecnológica, constructiva y de diseño. Dos características los distinguen de otras soluciones y justifican su interés: los nervios surgen directamente del muro, sin la intermediación de capiteles, ménsulas o pilastras; y se diseñan con la intención de facilitar la aparición de intersecciones entre las molduras de sus perfiles, en algunos casos mediante el cruce de los ejes de los nervios. Sagrera nos acerca a una innovación arquitectónica en la que el esfuerzo no se centra en realizar bóvedas con muchos nervios o con trazados en planta complejos, sino en la cuidada resolución de este encuentro de nervios. En ella se adivina el trabajo minucioso con las plantillas que controlan el trazado del contorno de los lechos de las piezas y la hábil mano de los canteros que son capaces de tallar intersecciones de gran complejidad. Se ha realizado un repaso de los primeros experimentos relativos al modo de relacionarse los nervios entre sí para ilustrar el contexto y origen de las soluciones realizadas por Guillem Sagrera. Mostramos que ante ciertas dificultades, consecuencia de la reunión de nervios, los constructores fueron capaces de desarrollar nuevas soluciones, mediante la experimentación con un sistema constructivo que conocían y manejaban con destreza. Para acercarnos a la comprensión de las estrategias de diseño que permiten el proyecto de estos enjarjes y los procedimientos técnicos y constructivos necesarios para su ejecución, nos vimos en la necesidad de adentrarnos en la problemática general de los enjarjes de la bóveda de crucería. De este modo, lo que empezó siendo una introducción para poder contextualizar la obra del mallorquín acabó convirtiéndose en la primera parte de la tesis, cuyo volumen prácticamente equipara a la segunda. En ella presentamos el proceso de diseño, trazado y talla de los cuatro enjarjes llevados a cabo en el taller de cantería de la ETSAM, en los que hemos podido experimentar de manera práctica los aspectos teóricos desarrollados. Estos ensayos nos han permitido contrastar hipótesis y baremar la dificultad de ciertos procedimientos o procesos, así como acercarnos realmente al elemento constructivo. El trabajo práctico nos ha enseñado a no fiarnos siempre de las hipótesis que se desarrollan modelando con el ordenador o dibujando; a valorar el pensar con las manos. En relación con la obra de Sagrera, la presente investigación realiza aportaciones al conocimiento del cambio proyectual y constructivo llevado a cabo en los arranques de las bóvedas entre los siglos XIII y XV, cuando los nervios comienzan a surgir directamente de los soportes y se dan los primeros cruzamientos. Mostramos que ya no solamente se construyen enjarjes fruto directo de la geometría general de la bóveda, sino que se llevan a cabo cambios deliberados en relación a su resultado, en los que se advierten decisiones proyectuales que, por supuesto, no serían viables sin las posibilidades que ofrece el trabajo con plantillas. ABSTRACT The solid blocks commonly known as tas-de-charge (in Spanish enjarjes, jarjas or jarjamentos) constitute the beginning of the ribbed vault – the place from which all the ribs spring together. They facilitate a transition between the wall and the rib voussoirs, and thus solve a junction of utmost constructive importance. They consist of blocks set in horizontal courses which interlock with the wall and which, as well as constituting the springing of the ribs, serve as a support for their first voussoirs. The tas-de-charge are built simultaneously with the wall and well before the remainder of the vault – thus, they arguably carry its ‘DNA’, since they register how many ribs the vault will have as well as their curvature, their springing height or their profile. This work is focused on the study of the tas-de-charge in the works of Guillem Sagrera, and will address their technological, constructive and design aspects. Two characteristics set these apart from other solutions and justify their relevance: these are that the ribs spring directly from the wall without the mediation of capitals, corbels or pilasters; and that they are deliberately designed to force the intersection of their mouldings, in some cases by crossing the rib axes. Sagrera’s work tells a story of architectural innovation – one where the effort is not centred on creating vaults with numerous ribs or a sophisticated ground plan, but on carefully solving the rib unions, which evidence a meticulous use of templates to control the tracing of the pieces’ profiles as well as the skill of the stonemasons, able to carve highly complex intersections. An overview of the first experiments with rib relationships will illustrate the context and origin of Guillem Sagrera’s solutions. We show how, faced with difficulties arising from the convergence of ribs into the tas-de-charge, builders were able to develop new solutions by experimenting with a construction system that they were already familiar with and could control easily. In order to gain a better insight into the design strategies behind his tas-de-charge and the technical and constructive procedures required for their execution, we found ourselves facing the need to address the general subject of tas-de-charge in ribbed vaults. This, which began as an introduction meant as context for Sagrera’s work, took on a life of its own and became the first half of the thesis, with a volume practically equal to that of the second. We have devoted a chapter to experimental archaeology. It comprises the design, tracing and carving processes for the four tas-de-charge executed at the ETSAM Stonecutting Workshop, in which we have tested experimentally the theories studied in the previous chapters. These tests have allowed us to contrast hypotheses, assess the difficulty of certain procedures or processes and understand the built element as a real entity. The practical work has taught us not to always trust the hypotheses proposed through computer modelling or drawing – and to recognise the importance of coordinating the hands and the mind. After studying Sagrera’s work and contrasting it with other related or previous tas-de-charge, our research will seek to make a contribution to the study of the shift in the design and construction of vault springers that took place between the 13th and 14th centuries, when ribs began to spring directly from their support and moulding crossings began to appear. We show that, from then on, tas-de-charge would not only depend on the general vault geometry – deliberate modifications would be carried out in order to achieve the desired result. This reveals design decisions that would have been unworkable if not for the effective use of template strategies.
Resumo:
El objetivo principal de crear un espacio web para el Museo Histórico de la Informática (MHI) perteneciente a la Escuela Técnica Superior de Ingenieros Informáticos (ETSIINF) de la Universidad Politécnica de Madrid (UPM) es la difusión de la historia de la informática entre el público en general. Si bien es cierto que existe ya una página web de consulta del MHI con algunas imágenes y contenido sobre los objetos que allí se exhiben, es también reseñable que se trata de un espacio obsoleto, lleno de carencias y extremadamente difícil de gestionar y actualizar, por lo que se hacía imprescindible actualizar el diseño del espacio web, los contenidos y el sistema de gestión de los mismos, cosa que es de gran interés para un lugar divulgativo. En la actualidad, existen maneras mucho más amigables para el usuario de navegar por una web; y de la misma manera para un administrador, gestionar el contenido de la misma y mantener a los usuarios bien informados de todo lo que se ofrece en cada momento. Esto es posible gracias a los sistemas de gestión de contenidos o content management system (CMS), de los que se hablará lo largo de todo el documento. Estos sistemas, dan una facilidad mucho mayor a los encargados de llevar al día una página web, sin tener que saber de programación, lenguajes o informática en general, ya que incorporan paneles de control muy intuitivos y fáciles de manejar, que son una ventaja tanto para ellos como para los usuarios. Es por esta razón que, hay páginas web como la de las empresas IKEA, Ubuntu o, en especial para el caso que compete al documento, el museo del Louvre usan gestores de contenidos para sus páginas web. Y es que las ventajas y facilidades que ofrece un CMS son realmente interesantes y se tratará de todas ellas en el documento, de la elección del CMS que mejor se ajusta a los requisitos del museo, las restricciones a la hora del despliegue en el ámbito de la ETSIINF y de cómo mejorará esto la calidad visual y divulgativa del MHI. Este trabajo se desarrolla a lo largo de 11 capítulos, en los que se muestra como construir un sitio web, las posibilidades y la elección final para este caso. En el primer capítulo se hace una pequeña introducción de lo que es el proyecto, se especifican los objetivos, la motivación del mismo y el alcance que tiene. En el segundo capítulo se muestra la información que se ha recopilado en el trabajo de investigación que se hace previo al desarrollo. En él se muestran los distintos tipos de páginas web, que tecnologías y lenguajes se pueden usar para su construcción, una comparativa sobre otras entidades similares al MHI, las limitaciones que presenta el entorno y la elección final que se consideró más adecuada para este caso. En el capítulo tres se empieza a desarrollar la solución a través del diseño. Aquí se puede encontrar el diseño de más bajo nivel que se le presenta al cliente para sentar las bases del trabajo, el diseño de alto nivel con un mayor grado de realidad que el anterior y una preparación de lo que serán los planes de prueba. El capítulo cuatro muestra todo lo que se ha usado en la implementación y la integración de la página web: herramientas, tecnologías, plantillas de diseño y módulos que proporcionan distintas funcionalidades. Llegados al capítulo cinco, se puede ver una detallada documentación de los resultados de las pruebas de usabilidad y accesibilidad realizadas, y las conclusiones que subyacen de estas. Una vez acabada la implementación del sitio web del MHI, en el capítulo seis se intenta hacer una labor de consultoría, mostrando precios y presupuestos de las distintas tareas que se han llevado a cabo para la realización de este proyecto. En el capítulo siete se extraen las conclusiones de todo lo acontecido en los capítulos anteriores y en el ocho unas líneas sobre posibles trabajos futuros que se podrían llevar a cabo en base a lo que ya se tiene en la institución, incluido este trabajo. Para facilitar la comprensión y satisfacer la curiosidad del lector, se ha incluido en el capítulo nueve la bibliografía con toda la documentación consultada y en el diez un glosario de términos para la aclaración de términos y acrónimos más técnicos. Para acabar, en el capítulo once se anexionan tanto el documento que se usó para las pruebas de usabilidad como un manual de administrador para el sitio web, que hace más amigable el entorno para las personas que lo tengan que mantener en un futuro.---ABSTRACT---The main goal of creating a website for the Informatics Historical Museum (“Museo Histórico de la Informática” or MHI) located in the Higher Technical School of Informatics Engineers (“Escuela Técnica Superior de Ingenieros Informáticos” or ETSIINF) of the Polytechnic University of Madrid (“Universidad Politécnica de Madrid” UPM), is to promote the aforementioned museum as to increase its reach to the public. While it is true that there already is a consulting website with some pictures and information about the items which are displayed in the building, it is outdated and the data is scarce. Moreover, it is extremely complicated to manage and to regularly update the web page, which is very important for informative/broadcasting media. Currently, there are easier ways for the users of a website to consult whatever information they want, as well as it is now easy for a website manager to display new content and to keep the users informed about what is been offered at every moment. This is possible because of content management systems (CMS), which will be discussed throughout the entire paper. These systems make it easier to use for the administrator of a website to keep it up to date without the necessity for them of having any knowledge or skills in programming, languages or computing, because the systems have an intuitive control panel that is easy to use, which is an advantage for both managers and users. Because of all these reasons, there are lots of companies that use this kind of systems, such as IKEA, Ubuntu or, especially, the Louvre Museum, to which we direct our attention all throughout this report. It is easy to notice that these systems have an important and very interesting number of perks and benefits. In the next chapters of the document we will explain the benefits of the program as well as the choice on the kind of CMS that best suits the requirements of the museum and, finally, the restrictions of the school for the deployment and of how all of this will improve the visual and informational qualities of the MHI. This work is developed over 11 chapters, shown how to build up a website, the possibilities and the final choice for this case. In the first chapter a brief introduction of the project, goals, motivation and scope thereof having specified are done. Before the development of the website, the second chapter shows de information of the researching work. It discusses the different types of websites, technologies and languages that can be used for build-up, a comparison of similar entities to MHI, the limitations of the environment and the final choice was considered more appropriate for this case. Chapter three begins to develop the design of the solution. Here there are the lowest level design that presents the customer to fix any problem, the high level design with a higher degree of reality than the last and the test plans. Chapter four shows everything that has been used in the implementation and integration of the website: tools, technologies, design templates and modules that provide different functionalities. Reaching the fifth chapter, you can see a detailed documentation of the results of the usability and accessibility tests made to some users and the conclusions of it. Once the implementation of MHI website is done, in chapter six there is a consultancy work, showing prices and budgets of the different tasks which were carried out for this project. In chapter seven there are the conclusions of what happened in the previous chapters and eight chapter shows possible future works that could be carried out based on what the institution already have, including this work. To make easier to the reader understand this paper and satisfy his curiosity, the chapter nine includes the bibliography consulted with all the documentation and chapter ten has a glossary of terms and an explanation of technical terms and acronyms. Finally, in chapter eleven there are attached both the document that was used for usability testing as a manual administrator for the website, making the environment friendlier for people who have to maintain it in the future.
Resumo:
El objetivo principal de este proyecto es la realización de un sistema, que permita a través de alguna herramienta accesible a cualquier usuario, poder interactuar con una base de datos que contenga un catálogo bien documentado de los objetos disponibles en el Museo Histórico de la Informática (MHI) perteneciente a la Escuela Técnica Superior de Ingenieros Informáticos (ETSIINF) de la Universidad Politécnica de Madrid (UPM). Hasta el momento, no existía inventario alguno, por lo que la contribución del trabajo que aquí se presenta, supone un gran avance en la organización de los fondos del Museo. Ello contribuirá al desarrollo del objetivo principal del MHI, que es la difusión de la historia de la informática, mediante un medio de los más usados hoy en día, internet. El trabajo realizado se presenta a lo largo de 10 capítulos. En los que se muestran, el análisis del problema, los requisitos y las distintas alternativas posibles de solución, así como la solución adoptada y su desarrollo, tanto en el diseño de la base de datos como de sitio Web que hace posible la visualización e interacción de la información. En el primer capítulo, se puede encontrar una breve introducción del proyecto. Se indican los objetivos, la motivación y el alcance del mismo. En el segundo capítulo, se muestran los requisitos del problema, se analizan las tecnologías, herramientas y lenguajes disponibles para diseñar bases de datos, y se propone la elección de una de las tecnologías, teniendo en cuenta las limitaciones del entorno en el cual se va a implantar la solución. En el tercer capítulo, se diseña la solución propuesta para el sistema. Primero se muestra el diseño de bajo nivel, que serán los cimientos y posteriormente se explica el diseño de alto nivel. Finalmente, se introduce el conjunto de pruebas que el sistema tendrá que pasar para garantizar su correcto funcionamiento. El cuarto capítulo, muestra todas las tecnologías, herramientas, lenguajes y plantillas utilizadas para la implementación de la WEB. Mientras que en el capítulo cinco, se pueden ver los resultados de las pruebas realizadas. En el capítulo seis, se evalúan los costes económicos de realización de proyecto y se presenta la agenda de actividades y tareas llevadas a cabo para su desarrollo. El séptimo capítulo, resume las contribuciones técnicas del proyecto tratadas en los capítulos anteriores, así como las conclusiones personales. Mientras que, el capítulo ocho, apunta una serie de trabajos futuros que se podrían realizarse utilizando como base este proyecto. El capítulo nueve contiene las referencias de la información que se han consultado y que se citan en el texto, y el décimo complementa este proceso de información, incluyendo un glosario de términos técnicos. El contenido de la memoria concluye con el manual de usuario para la administración de la base de datos, que se incluye en forma de anexo.---ABSTRACT---The main goal of this project is the development of a system that would allow through some accessible tool for any user to interact with a database that contains a well-documented objects available in the Computer History Museum's (MHI) catalog, which belongs to the School of Computer Engineers (ETSIINF) of the Polytechnic University of Madrid (UPM). So far, there was no inventory, so the contribution of the work presented here, is a breakthrough in the organization of the Museum's collections. This will contribute to the development of the main goal of the MHI, which is the diffusion of computer history, by means of the most used today, internet. The work is presented along 10 chapters. Which show the analysis of the problem, requirements, the different possible solutions and the solution adopted and its development, both in the design of the database and Web site, which enables the visualization and interaction of the information. In the first chapter, a brief introduction of the project is found. Objectives, motivation and scope of the project are specified. In the second chapter, the requirements of the problem are shown. Technologies, tools and languages available to design databases are analysed, and the choice of a technology is proposed, taking into account the limitations of the environment in which it will to implement the solution. In the third chapter, the proposed system solution is designed. First, low-level design, which will be the foundation of the project, is shown, and then the high-level design is explained. Finally, test suite, which the system will have to past to ensure their proper functioning, are introduced. The fourth chapter shows all technologies, tools, languages and templates used to implement the WEB. While in chapter five, the results of the tests are shown. The economic costs of development the project are evaluated in chapter six, and the schedule of activities and tasks carried out for this development are shown. The seventh chapter summarizes the technical contributions of the project discussed in previous chapters, as well as personal conclusions. While the eighth chapter, suggests future works that could be made, based on this project. Ninth chapter contains references to information that have been consulted and cited in the text, and the tenth chapter includes a glossary of technical terms, to complement that process of information. Finally an annex includes a user manual for managing the database.
Resumo:
In this work, we propose a new strategy for the synthesis of multifunctional nanowires using a combination of sol–gel and electrodeposition techniques, based on a two-step procedure. First of all, nanotubes of SiO2 are synthesized via a sol–gel technique using polycarbonate membranes as templates. Homogenous nanotubes are obtained after centrifugation and thermal annealing. Afterwards, a ferromagnetic cobalt core is grown using potentiostatic electrodeposition. Finally, the core–shell Co–SiO2 nanowires are released by dissolving the template using wet-etching. These nanodevices can be used for many detection and sensing purposes. As a proof of concept, we have developed a pH nanosensor by including a pH-sensitive organic dye in the SiO2 shell. The sensing principle is based on the optical response of the organic dye towards pH when added to a solution. The magnetic core allows the recovery of the nanosensors after use. These nanowires can therefore be used as recoverable pH nanosensors. By changing the dye molecule to another molecule or receptor, the procedure described in the paper can be used to synthesize nanodevices for many different applications.
Resumo:
A preocupação com o estudo das formas e dimensões das arcadas dentárias sempre esteve presente na ciência ortodôntica. Para a Ortodontia Lingual, que surgiu no final da década de 70, o primeiro artigo publicado foi o Fujita, onde relatou sobre a forma do arco a ser utilizado nesta técnica, a forma de cogumelo. Apesar de estar sendo divulgada de uma maneira mais intensa nestes últimos anos como uma solução estética definitiva e eficaz, o enfoque dos estudos sobre esta técnica tem sido a fabricação de novos materiais, técnicas de montagem do aparelho lingual e soluções clínicas, com poucas menções sobre a morfologia das arcadas dentárias. O presente trabalho tem a finalidade de estudar as formas e dimensões linguais das arcadas dentárias de indivíduos leucodermas com oclusão normal. Foram utilizados 47 pares de modelos de gesso de oclusão normal digitalizados pela face olcusal, previamente desgastadas até o terço médio da coroa para proporcionar melhor visualização. Por meio do programa CorelDraw 12 foram determinados pontos de referências e criados alguns pontos virtuais necessários para a realização das medidas. Os resultados determinaram três formas das arcadas dentárias linguais: cogumelo, árvore de Natal e mista. A maior prevalência foi a forma árvore de Natal, mas quando analisadas separadamente as arcadas dentárias linguais, encontrados no superior, maior prevalência da forma de cogumelo e no inferior da forma árvore de Natal. Conseqüentemente, esta foi a combinação mais prevalente entre as arcadas dentárias linguais superiores e inferiores. Propusemos diagramas para conformação de arcos ortodônticos linguais com base nos valores obtidos da amostra, determinando-se o quartil 1, mediana e quartil 3, como definidores dos tamanhos pequeno, médio e grande.
Resumo:
A preocupação com o estudo das formas e dimensões das arcadas dentárias sempre esteve presente na ciência ortodôntica. Para a Ortodontia Lingual, que surgiu no final da década de 70, o primeiro artigo publicado foi o Fujita, onde relatou sobre a forma do arco a ser utilizado nesta técnica, a forma de cogumelo. Apesar de estar sendo divulgada de uma maneira mais intensa nestes últimos anos como uma solução estética definitiva e eficaz, o enfoque dos estudos sobre esta técnica tem sido a fabricação de novos materiais, técnicas de montagem do aparelho lingual e soluções clínicas, com poucas menções sobre a morfologia das arcadas dentárias. O presente trabalho tem a finalidade de estudar as formas e dimensões linguais das arcadas dentárias de indivíduos leucodermas com oclusão normal. Foram utilizados 47 pares de modelos de gesso de oclusão normal digitalizados pela face olcusal, previamente desgastadas até o terço médio da coroa para proporcionar melhor visualização. Por meio do programa CorelDraw 12 foram determinados pontos de referências e criados alguns pontos virtuais necessários para a realização das medidas. Os resultados determinaram três formas das arcadas dentárias linguais: cogumelo, árvore de Natal e mista. A maior prevalência foi a forma árvore de Natal, mas quando analisadas separadamente as arcadas dentárias linguais, encontrados no superior, maior prevalência da forma de cogumelo e no inferior da forma árvore de Natal. Conseqüentemente, esta foi a combinação mais prevalente entre as arcadas dentárias linguais superiores e inferiores. Propusemos diagramas para conformação de arcos ortodônticos linguais com base nos valores obtidos da amostra, determinando-se o quartil 1, mediana e quartil 3, como definidores dos tamanhos pequeno, médio e grande.
Resumo:
A universal base that is capable of substituting for any of the four natural bases in DNA would be of great utility in both mutagenesis and recombinant DNA experiments. This paper describes the properties of oligonucleotides incorporating two degenerate bases, the pyrimidine base 6H,8H-3,4-dihydropyrimido[4,5-c][1,2]oxazin-7-one and the purine base N6-methoxy-2,6-diaminopurine, designated P and K, respectively. An equimolar mixture of the analogues P and K (called M) acts, in primers, as a universal base. The thermal stability of oligonucleotide duplexes were only slightly reduced when natural bases were replaced by P or K. Templates containing the modified bases were copied by Taq polymerase; P behaved as thymine in 60% of copying events and as cytosine in 40%, whereas K behaved as if it were guanine (13%) or adenine (87%). The dUTPase gene of Caenorhabditis elegans, which we have found to contain three nonidentical homologous repeats, was used as a model system to test the use of these bases in primers for DNA synthesis. A pair of oligodeoxyribonucleotides, each 20 residues long and containing an equimolar mixture of P and K at six positions, primed with high specificity both T7 DNA polymerase in sequencing reactions and Taq polymerase in PCRs; no nonspecific amplification was obtained on genomic DNA of C. elegans. Use of P and K can significantly reduce the complexity of degenerate oligonucleotide mixtures, and when used together, P and K can act as a universal base.