814 resultados para TEMPLATES
Resumo:
Automated and semi-automated accessibility evaluation tools are key to streamline the process of accessibility assessment, and ultimately ensure that software products, contents, and services meet accessibility requirements. Different evaluation tools may better fit different needs and concerns, accounting for a variety of corporate and external policies, content types, invocation methods, deployment contexts, exploitation models, intended audiences and goals; and the specific overall process where they are introduced. This has led to the proliferation of many evaluation tools tailored to specific contexts. However, tool creators, who may be not familiar with the realm of accessibility and may be part of a larger project, lack any systematic guidance when facing the implementation of accessibility evaluation functionalities. Herein we present a systematic approach to the development of accessibility evaluation tools, leveraging the different artifacts and activities of a standardized development process model (the Unified Software Development Process), and providing templates of these artifacts tailored to accessibility evaluation tools. The work presented specially considers the work in progress in this area by the W3C/WAI Evaluation and Report Working Group (ERT WG)
Resumo:
We present a biomolecular probabilistic model driven by the action of a DNA toolbox made of a set of DNA templates and enzymes that is able to perform Bayesian inference. The model will take single-stranded DNA as input data, representing the presence or absence of a specific molecular signal (the evidence). The program logic uses different DNA templates and their relative concentration ratios to encode the prior probability of a disease and the conditional probability of a signal given the disease. When the input and program molecules interact, an enzyme-driven cascade of reactions (DNA polymerase extension, nicking and degradation) is triggered, producing a different pair of single-stranded DNA species. Once the system reaches equilibrium, the ratio between the output species will represent the application of Bayes? law: the conditional probability of the disease given the signal. In other words, a qualitative diagnosis plus a quantitative degree of belief in that diagno- sis. Thanks to the inherent amplification capability of this DNA toolbox, the resulting system will be able to to scale up (with longer cascades and thus more input signals) a Bayesian biosensor that we designed previously.
Resumo:
Quality of service (QoS) can be a critical element for achieving the business goals of a service provider, for the acceptance of a service by the user, or for guaranteeing service characteristics in a composition of services, where a service is defined as either a software or a software-support (i.e., infrastructural) service which is available on any type of network or electronic channel. The goal of this article is to compare the approaches to QoS description in the literature, where several models and metamodels are included. consider a large spectrum of models and metamodels to describe service quality, ranging from ontological approaches to define quality measures, metrics, and dimensions, to metamodels enabling the specification of quality-based service requirements and capabilities as well as of SLAs (Service-Level Agreements) and SLA templates for service provisioning. Our survey is performed by inspecting the characteristics of the available approaches to reveal which are the consolidated ones and which are the ones specific to given aspects and to analyze where the need for further research and investigation lies. The approaches here illustrated have been selected based on a systematic review of conference proceedings and journals spanning various research areas in computer science and engineering, including: distributed, information, and telecommunication systems, networks and security, and service-oriented and grid computing.
Resumo:
El trabajo presentado a lo largo de este documento es el resultado del TFG1 realizado por Israel Suárez Santiago, alumno de la Escuela Técnica Superior de Ingenieros Informáticos (ETSIINF) de la Universidad Politécnica de Madrid (UPM). Dicho trabajo tiene como finalidad proporcionar una herramienta que, basada en estándares previamente estudiados, permita la fácil creación y gestión de plantillas de mensajes HL7v32 a las que posteriormente se le añadirán datos clínicos que serán insertados en una base de datos para su fácil acceso y consulta. La herramienta desarrollada únicamente facilita una serie de opciones para la creación de la plantilla en sí, que servirá como base para la creación de mensajes HL7v3, es decir, no permite la inclusión de datos específicos en las plantillas generadas, que deberá hacerse con alguna herramienta externa o bien manualmente. Las plantillas generadas por la herramienta se basan principalmente en el estándar CDA3, que proporciona una amplia guía para la correcta generación de mensajes HL7v3. La herramienta garantiza que las plantillas resultantes estarán correctamente formadas, siendo acordes al estándar anteriormente citado y siendo, además, sintácticamente correctas, es decir, el documento .xml generado no contendrá errores. ---ABSTRACT---This document is the result of the TFG developed by Israel Suárez Santiago, student of Escuela Técnica Superior de Ingenieros Informáticos (ETSIINF) of the Universidad Politécnica de Madrid (UPM). This work aims to offer a tool based on standards that can facilitate and manage the creation of HL7v3 templates. Clinical data will be added to those templates in order to load them into a database and query them fast and easily. The tool only facilitates several options to create the template, that will be used to generate the HL7v3 messages, but it does not permit the inclusion of data on them. The inclusion of data will be done manually or using an external tool. The generated templates are based mainly on the CDA1 standard, that provides a widely guide to create HL7v32 messages. The tool guarantees that the resulting templates have been correctly generated, following the previous standard and with no errors in the .xml document generated.
Resumo:
In 1933 public letter to Wilhelm Furtwängler, Joseph Goebbels synthesized the official understanding of the link between politics, art and society in the early steps of the Third Reich. By assuming the ethos of art, politics acquired a plastic agency to mold its objects —population and the state— as a unified entity in the form of a ‘national-popular community’ (Volksgemeinschaft); in turn, by infusing art with a political valence, it became part of a wider governmental apparatus that reshaped aesthetic discourses and practices. Similar remarks could be made about the ordering of cities and territories in this period. Dictatorial imaginations mobilized urbanism —including urban theory, urban design and planning— as a fundamental tool for social organization. Under their aegis the production of space became a moment in a wider production of society. Many authors suggest that this political-spatial nexus is intrinsic to modernity itself, beyond dictatorial regimes. In this light, I propose to use dictatorial urbanisms as an analytical opportunity to delve into some concealed features of modern urban design and planning. This chapter explores some of these aspects from a theoretical standpoint, focusing on the development of dictatorial planning mentalities and spatial rationalities and drawing links to other historical episodes in order to inscribe the former in a broader genealogy of urbanism. Needless to say, I don’t suggest that we use dictatorships as mere templates to understand modern productions of space. Instead, these cases provide a crude version of some fundamental drives in the operationalization of urbanism as an instrument of social regulation, showing how far the modern imagination of sociospatial orderings can go. Dictatorial urbanisms constituted a set of experiences where many dreams and aspirations of modern planning went to die. But not, as the conventional account would have it, because the former were the antithesis of the latter, but rather because they worked as the excess of a particular orientation of modern spatial governmentalities — namely, their focus on calculation, social engineering and disciplinary spatialities, and their attempt to subsume a wide range of everyday practices under institutional structuration by means of spatial mediations. In my opinion the interest of dictatorial urbanisms lies in their role as key regulatory episodes in a longer history of our urban present. They stand as a threshold between the advent of planning in the late 19th and early 20th century, and its final consolidation as a crucial state instrument after World War II. We need, therefore, to pay attention to these experiences vis-à-vis the alleged ‘normal’ development of the field in contemporary democratic countries in order to develop a full comprehension thereof.
Resumo:
The aim of this work is to provide an overview on the recent advances in the selective area growth (SAG) of (In)GaN nanostructures by plasma assisted molecular beam epitaxy, focusing on their potential as building blocks for next generation LEDs. The first three sections deal with the basic growth mechanisms of GaN SAG and the emission control in the entire ultraviolet to infrared range, including approaches for white light emission, using InGaN disks and thick segments on axial nanocolumns. SAG of axial nanostructures is eveloped on both GaN/sapphire templates and GaN-buffered Si(111). As an alternative to axial nanocolumns, section 4 reports on the growth and characterization of InGaN/GaN core-shell structures on an ordered array of top-down patterned GaN microrods. Finally, section 5 reports on the SAG of GaN, with and without InGaN insertion, on semi-polar (11-22) and non-polar (11-20) templates. Upon SAG the high defect density present in the templates is strongly reduced as indicated by a dramatic improvement of the optical properties. In the case of SAG on nonpolar (11-22) templates, the formation of nanostructures with a low aspect ratio took place allowing for the fabrication of high-quality, non-polar GaN pseudo-templates by coalescence of these nanostructures.
Resumo:
A gene expression atlas is an essential resource to quantify and understand the multiscale processes of embryogenesis in time and space. The automated reconstruction of a prototypic 4D atlas for vertebrate early embryos, using multicolor fluorescence in situ hybridization with nuclear counterstain, requires dedicated computational strategies. To this goal, we designed an original methodological framework implemented in a software tool called Match-IT. With only minimal human supervision, our system is able to gather gene expression patterns observed in different analyzed embryos with phenotypic variability and map them onto a series of common 3D templates over time, creating a 4D atlas. This framework was used to construct an atlas composed of 6 gene expression templates from a cohort of zebrafish early embryos spanning 6 developmental stages from 4 to 6.3 hpf (hours post fertilization). They included 53 specimens, 181,415 detected cell nuclei and the segmentation of 98 gene expression patterns observed in 3D for 9 different genes. In addition, an interactive visualization software, Atlas-IT, was developed to inspect, supervise and analyze the atlas. Match-IT and Atlas-IT, including user manuals, representative datasets and video tutorials, are publicly and freely available online. We also propose computational methods and tools for the quantitative assessment of the gene expression templates at the cellular scale, with the identification, visualization and analysis of coexpression patterns, synexpression groups and their dynamics through developmental stages.
Self assembled and ordered group III nitride nanocolumnar structures for light emitting applications
Resumo:
El objetivo de este trabajo es un estudio profundo del crecimiento selectivo de nanoestructuras de InGaN por epitaxia de haces moleculares asistido por plasma, concentrandose en el potencial de estas estructuras como bloques constituyentes en LEDs de nueva generación. Varias aproximaciones al problema son discutidas; desde estructuras axiales InGaN/GaN, a estructuras core-shell, o nanoestructuras crecidas en sustratos con orientaciones menos convencionales (semi polar y no polar). La primera sección revisa los aspectos básicos del crecimiento auto-ensamblado de nanocolumnas de GaN en sustratos de Si(111). Su morfología y propiedades ópticas son comparadas con las de capas compactas de GaN sobre Si(111). En el caso de las columnas auto-ensambladas de InGaN sobre Si(111), se presentan resultados sobre el efecto de la temperatura de crecimiento en la incorporación de In. Por último, se discute la inclusión de nanodiscos de InGaN en las nanocolumnas de GaN. La segunda sección revisa los mecanismos básicos del crecimiento ordenado de nanoestructuras basadas en GaN, sobre templates de GaN/zafiro. Aumentando la relación III/V localmente, se observan cambios morfológicos; desde islas piramidales, a nanocolumnas de GaN terminadas en planos semipolares, y finalmente, a nanocolumnas finalizadas en planos c polares. Al crecer nanodiscos de InGaN insertados en las nanocolumnas de GaN, las diferentes morfologias mencionadas dan lugar a diferentes propiedades ópticas de los nanodiscos, debido al diferente carácter (semi polar o polar) de los planos cristalinos involucrados. La tercera sección recoge experimentos acerca de los efectos que la temperatura de crecimiento y la razón In/Ga tienen en la morfología y emisión de nanocolumnas ordenadas de InGaN crecidas sobre templates GaN/zafiro. En el rango de temperaturas entre 650 y 750 C, la incorporacion de In puede modificarse bien por la temperatura de crecimiento, o por la razón In/Ga. Controlar estos factores permite la optimización de la longitud de onda de emisión de las nanocolumnas de InGaN. En el caso particular de la generación de luz blanca, se han seguidos dos aproximaciones. En la primera, se obtiene emisión amarilla-blanca a temperatura ambiente de nanoestructuras donde la región de InGaN consiste en un gradiente de composiciones de In, que se ha obtenido a partir de un gradiente de temperatura durante el crecimiento. En la segunda, el apilamiento de segmentos emitiendo en azul, verde y rojo, consiguiendo la integración monolítica de estas estructuras en cada una de las nanocolumnas individuales, da lugar a emisores ordenados con un amplio espectro de emisión. En esta última aproximación, la forma espectral puede controlarse con la longitud (duración del crecimiento) de cada uno de los segmentos de InGaN. Más adelante, se presenta el crecimiento ordenado, por epitaxia de haces moleculares, de arrays de nanocolumnas que son diodos InGaN/GaN cada una de ellas, emitiendo en azul (441 nm), verde (502 nm) y amarillo (568 nm). La zona activa del dispositivo consiste en una sección de InGaN, de composición constante nominalmente y longitud entre 250 y 500 nm, y libre de defectos extendidos en contraste con capas compactas de InGaN de similares composiciones y espesores. Los espectros de electroluminiscencia muestran un muy pequeño desplazamiento al azul al aumentar la corriente inyectada (desplazamiento casi inexistente en el caso del dispositivo amarillo), y emisiones ligeramente más anchas que en el caso del estado del arte en pozos cuánticos de InGaN. A continuación, se presenta y discute el crecimiento ordenado de nanocolumnas de In(Ga)N/GaN en sustratos de Si(111). Nanocolumnas ordenadas emitiendo desde el ultravioleta (3.2 eV) al infrarrojo (0.78 eV) se crecieron sobre sustratos de Si(111) utilizando una capa compacta (“buffer”) de GaN. La morfología y eficiencia de emisión de las nanocolumnas emitiendo en el rango espectral verde pueden ser mejoradas ajustando las relaciones In/Ga y III/N, y una eficiencia cuántica interna del 30% se deriva de las medidas de fotoluminiscencia en nanocolumnas optimizadas. En la siguiente sección de este trabajo se presenta en detalle el mecanismo tras el crecimiento ordenado de nanocolumnas de InGaN/GaN emitiendo en el verde, y sus propiedades ópticas. Nanocolumnas de InGaN/GaN con secciones largas de InGaN (330-830 nm) se crecieron tanto en sustratos GaN/zafiro como GaN/Si(111). Se encuentra que la morfología y la distribución espacial del In dentro de las nanocolumnas dependen de las relaciones III/N e In/Ga locales en el frente de crecimiento de las nanocolumnas. La dispersión en el contenido de In entre diferentes nanocolumnas dentro de la misma muestra es despreciable, como indica las casi identicas formas espectrales de la catodoluminiscencia de una sola nanocolumna y del conjunto de ellas. Para las nanocolumnas de InGaN/GaN crecidas sobre GaN/Si(111) y emitiendo en el rango espectral verde, la eficiencia cuántica interna aumenta hasta el 30% al disminuir la temperatura de crecimiento y aumentar el nitrógeno activo. Este comportamiento se debe probablemente a la formación de estados altamente localizados, como indica la particular evolución de la energía de fotoluminiscencia con la temperatura (ausencia de “s-shape”) en muestras con una alta eficiencia cuántica interna. Por otro lado, no se ha encontrado la misma dependencia entre condiciones de crecimiento y efiencia cuántica interna en las nanoestructuras InGaN/GaN crecidas en GaN/zafiro, donde la máxima eficiencia encontrada ha sido de 3.7%. Como alternativa a las nanoestructuras axiales de InGaN/GaN, la sección 4 presenta resultados sobre el crecimiento y caracterización de estructuras core-shell de InGaN/GaN, re-crecidas sobre arrays de micropilares de GaN fabricados por ataque de un template GaN/zafiro (aproximación top-down). El crecimiento de InGaN/GaN es conformal, con componentes axiales y radiales en el crecimiento, que dan lugar a la estructuras core-shell con claras facetas hexagonales. El crecimiento radial (shell) se ve confirmado por medidas de catodoluminiscencia con resolución espacial efectuadas en un microscopio electrónico de barrido, asi como por medidas de microscopía de transmisión de electrones. Más adelante, el crecimiento de micro-pilares core-shell de InGaN se realizó en pilares GaN (cores) crecidos selectivamente por epitaxia de metal-orgánicos en fase vapor. Con el crecimiento de InGaN se forman estructuras core-shell con emisión alrededor de 3 eV. Medidas de catodoluminiscencia resuelta espacialmente indican un aumento en el contenido de indio del shell en dirección a la parte superior del pilar, que se manifiesta en un desplazamiento de la emisión de 3.2 eV en la parte inferior, a 3.0 eV en la parte superior del shell. Este desplazamiento está relacionado con variaciones locales de la razón III/V en las facetas laterales. Finalmente, se demuestra la fabricación de una estructura pin basada en estos pilares core-shell. Medidas de electroluminiscencia resuelta espacialmente, realizadas en pilares individuales, confirman que la electroluminiscencia proveniente del shell de InGaN (diodo lateral) está alrededor de 3.0 eV, mientras que la emisión desde la parte superior del pilar (diodo axial) está alrededor de 2.3 eV. Para finalizar, se presentan resultados sobre el crecimiento ordenado de GaN, con y sin inserciones de InGaN, en templates semi polares (GaN(11-22)/zafiro) y no polares (GaN(11-20)/zafiro). Tras el crecimiento ordenado, gran parte de los defectos presentes en los templates originales se ven reducidos, manifestándose en una gran mejora de las propiedades ópticas. En el caso de crecimiento selectivo sobre templates con orientación GaN(11-22), no polar, la formación de nanoestructuras con una particular morfología (baja relación entre crecimiento perpedicular frente a paralelo al plano) permite, a partir de la coalescencia de estas nanoestructuras, la fabricación de pseudo-templates no polares de GaN de alta calidad. ABSTRACT The aim of this work is to gain insight into the selective area growth of InGaN nanostructures by plasma assisted molecular beam epitaxy, focusing on their potential as building blocks for next generation LEDs. Several nanocolumn-based approaches such as standard axial InGaN/GaN structures, InGaN/GaN core-shell structures, or InGaN/GaN nanostructures grown on semi- and non-polar substrates are discussed. The first section reviews the basics of the self-assembled growth of GaN nanocolumns on Si(111). Morphology differences and optical properties are compared to those of GaN layer grown directly on Si(111). The effects of the growth temperature on the In incorporation in self-assembled InGaN nanocolumns grown on Si(111) is described. The second section reviews the basic growth mechanisms of selectively grown GaNbased nanostructures on c-plane GaN/sapphire templates. By increasing the local III/V ratio morphological changes from pyramidal islands, to GaN nanocolumns with top semi-polar planes, and further to GaN nanocolumns with top polar c-planes are observed. When growing InGaN nano-disks embedded into the GaN nanocolumns, the different morphologies mentioned lead to different optical properties, due to the semipolar and polar nature of the crystal planes involved. The third section reports on the effect of the growth temperature and In/Ga ratio on the morphology and light emission characteristics of ordered InGaN nanocolumns grown on c-plane GaN/sapphire templates. Within the growth temperature range of 650 to 750oC the In incorporation can be modified either by the growth temperature, or the In/Ga ratio. Control of these factors allows the optimization of the InGaN nanocolumns light emission wavelength. In order to achieve white light emission two approaches are used. First yellow-white light emission can be obtained at room temperature from nanostructures where the InGaN region is composition-graded by using temperature gradients during growth. In a second approach the stacking of red, green and blue emitting segments was used to achieve the monolithic integration of these structures in one single InGaN nanocolumn leading to ordered broad spectrum emitters. With this approach, the spectral shape can be controlled by changing the thickness of the respective InGaN segments. Furthermore the growth of ordered arrays of InGaN/GaN nanocolumnar light emitting diodes by molecular beam epitaxy, emitting in the blue (441 nm), green (502 nm), and yellow (568 nm) spectral range is reported. The device active region, consisting of a nanocolumnar InGaN section of nominally constant composition and 250 to 500 nm length, is free of extended defects, which is in strong contrast to InGaN layers (planar) of similar composition and thickness. Electroluminescence spectra show a very small blue shift with increasing current, (almost negligible in the yellow device) and line widths slightly broader than those of state-of-the-art InGaN quantum wells. Next the selective area growth of In(Ga)N/GaN nanocolumns on Si(111) substrates is discussed. Ordered In(Ga)N/GaN nanocolumns emitting from ultraviolet (3.2 eV) to infrared (0.78 eV) were then grown on top of GaN-buffered Si substrates. The morphology and the emission efficiency of the In(Ga)N/GaN nanocolumns emitting in the green could be substantially improved by tuning the In/Ga and total III/N ratios, where an estimated internal quantum efficiency of 30 % was derived from photoluminescence data. In the next section, this work presents a study on the selective area growth mechanisms of green-emitting InGaN/GaN nanocolumns and their optical properties. InGaN/GaN nanocolumns with long InGaN sections (330-830nm) were grown on GaN/sapphire and GaN-buffered Si(111). The nanocolumn’s morphology and spatial indium distribution is found to depend on the local group (III)/N and In/Ga ratios at the nanocolumn’s top. A negligible spread of the average indium incorporation among different nanostructures is found as indicated by similar shapes of the cathodoluminescence spectra taken from single nanocolumns and ensembles of nanocolumns. For InGaN/GaN nanocolumns grown on GaN-buffered Si(111), all emitting in the green spectral range, the internal quantum efficiency increases up to 30% when decreasing growth temperature and increasing active nitrogen. This behavior is likely due to the formation of highly localized states, as indicated by the absence of a complete s-shape behavior of the PL peak position with temperature (up to room temperature) in samples with high internal quantum efficiency. On the other hand, no dependence of the internal quantum efficiency on the growth conditions is found for InGaN/GaN nanostructures grown on GaN/sapphire, where the maximum achieved efficiency is 3.7%. As alternative to axial InGaN/GaN nanostructures, section 4 reports on the growth and characterization of InGaN/GaN core-shell structures on an ordered array of top-down patterned GaN microrods etched from a GaN/sapphire template. Growth of InGaN/GaN is conformal, with axial and radial growth components leading to core-shell structures with clear hexagonal facets. The radial InGaN growth (shell) is confirmed by spatially resolved cathodoluminescence performed in a scanning electron microscopy as well as in scanning transmission electron microscopy. Furthermore the growth of InGaN core-shell micro pillars using an ordered array of GaN cores grown by metal organic vapor phase epitaxy as a template is demonstrated. Upon InGaN overgrowth core-shell structures with emission at around 3.0 eV are formed. With spatially resolved cathodoluminescence, an increasing In content towards the pillar top is found to be present in the InGaN shell, as indicated by a shift of CL peak position from 3.2 eV at the shell bottom to 3.0 eV at the shell top. This shift is related to variations of the local III/V ratio at the side facets. Further, the successful fabrication of a core-shell pin diode structure is demonstrated. Spatially resolved electroluminescence measurements performed on individual micro LEDs, confirm emission from the InGaN shell (lateral diode) at around 3.0 eV, as well as from the pillar top facet (axial diode) at around 2.3 eV. Finally, this work reports on the selective area growth of GaN, with and without InGaN insertion, on semi-polar (11-22) and non-polar (11-20) templates. Upon SAG the high defect density present in the GaN templates is strongly reduced as indicated by TEM and a dramatic improvement of the optical properties. In case of SAG on non-polar (11-22) templates the formation of nanostructures with a low aspect ratio took place allowing for the fabrication of high-quality, non-polar GaN pseudo-templates by coalescence of the nanostructures.
Resumo:
Los sistemas de tiempo real tienen un papel cada vez más importante en nuestra sociedad. Constituyen un componente fundamental de los sistemas de control, que a su vez forman parte de diversos sistemas de ingeniería básicos en actividades industriales, militares, de comunicaciones, espaciales y médicas. La planificación de recursos es un problema fundamental en la realización de sistemas de tiempo real. Su objetivo es asignar los recursos disponibles a las tareas de forma que éstas cumplan sus restricciones temporales. Durante bastante tiempo, el estado de la técnica en relación con los métodos de planificación ha sido rudimentario. En la actualidad, los métodos de planificación basados en prioridades han alcanzado un nivel de madurez suficiente para su aplicación en entornos industriales. Sin embargo, hay cuestiones abiertas que pueden dificultar su utilización. El objetivo principal de esta tesis es estudiar los métodos de planificación basados en prioridades, detectar las cuestiones abiertas y desarrollar protocolos, directrices y esquemas de realización práctica que faciliten su empleo en sistemas industriales. Una cuestión abierta es la carencia de esquemas de realización de algunos protocolos con núcleos normalizados. El resultado ha sido el desarrollo de esquemas de realización de tareas periódicas y esporádicas de tiempo real, con detección de fallos de temporización, comunicación entre tareas, cambio de modo de ejecución del sistema y tratamiento de fallos mediante grupos de recuperación. Los esquemas se han codificado en Ada 9X y se proporcionan directrices para analizar la planificabilidad de un sistema desarrollado con esta base. Un resultado adicional ha sido la identificación de la funcionalidad mínima necesaria para desarrollar sistemas de tiempo real con las características enumeradas. La capacidad de adaptación a los cambios del entorno es una característica deseable de los sistemas de tiempo real. Si estos cambios no estaban previstos en la fase de diseño o si hay módulos erróneos, es necesario modificar o incluir algunas tareas. La actualización del sistema se suele realizar estáticamente y su instalación se lleva a cabo después de parar su ejecución. Sin embargo, hay sistemas cuyo funcionamiento no se puede detener sin producir daños materiales o económicos. Una alternativa es diseñar el sistema como un conjunto de unidades que se pueden reemplazar, sin interferir con la ejecución de otras unidades. Para tal fin, se ha desarrollado un protocolo de reemplazamiento dinámico para sistemas de tiempo real crítico y se ha comprobado su compatibilidad con los métodos de planificación basados en prioridades. Finalmente se ha desarrollado un esquema de realización práctica del protocolo.---ABSTRACT---Real-time systems are very important now a days. They have become a relevant issue in the design of control systems, which are a basic component of several engineering systems in industrial, telecommunications, military, spatial and medical applications. Resource scheduling is a central issue in the development of real-time systems. Its purpose is to assign the available resources to the tasks, in such a way that their deadlines are met. Historically, hand-crafted techniques were used to develop real-time systems. Recently, the priority-based scheduling methods have reached a sufficient maturity level to be feasible its extensive use in industrial applications. However, there are some open questions that may decrease its potential usefulness. The main goal of this thesis is to study the priority-based scheduling methods, to identify the remaining open questions and to develop protocols, implementation templates and guidelines that will make more feasible its use in industrial applications. One open question is the lack of implementation schemes, based on commercial realtime kernels, of some of the protocols. POSIX and Ada 9X has served to identify the services usually available. A set of implementation templates for periodic and sporadic tasks have been developed with provisión for timing failure detection, intertask coraraunication, change of the execution mode and failure handling based on recovery groups. Those templates have been coded in Ada 9X. A set of guidelines for checking the schedulability of a system based on them are also provided. An additional result of this work is the identification of the minimal functionality required to develop real-time systems based on priority scheduling methods, with the above characteristics. A desirable feature of real-time systems is their capacity to adapt to changes in the environment, that cannot be entirely predicted during the design, or to misbehaving software modules. The traditional maintenance techniques are performed by stopping the whole system, installing the new application and finally resuming the system execution. However this approach cannot be applied to non-stop systems. An alternative is to design the system as a set of software units that can be dynamically replaced within its operative environment. With this goal in mind, a dynamic replacement protocol for hard real-time systems has been defined. Its compatibility with priority-based scheduling methods has been proved. Finally, a execution témplate of the protocol has been implemented.
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:
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.