199 resultados para Ficheros
Resumo:
Se comenzó el trabajo recabando información sobre los distintos enfoques que se le había dado a la anotación a lo largo del tiempo, desde anotación de imágenes a mano, pasando por anotación de imágenes utilizando características de bajo nivel, como color y textura, hasta la anotación automática. Tras entrar en materia, se procedió a estudiar artículos relativos a los diferentes algoritmos utilizados para la anotación automática de imágenes. Dado que la anotación automática es un campo bastante abierto, hay un gran numero de enfoques. Teniendo las características de las imágenes en particular en las que se iba a centrar el proyecto, se fueron descartando los poco idoneos, bien por un coste computacional elevado, o porque estaba centrado en un tipo diferente de imágenes, entre otras cosas. Finalmente, se encontró un algoritmo basado en formas (Active Shape Model) que se consideró que podría funcionar adecuadamente. Básicamente, los diferentes objetos de la imagen son identicados a partir de un contorno base generado a partir de imágenes de muestra, siendo modicado automáticamente para cubrir la zona deseada. Dado que las imágenes usadas son todas muy similares en composición, se cree que puede funcionar bien. Se partió de una implementación del algoritmo programada en MATLAB. Para empezar, se obtuvieron una serie de radiografías del tórax ya anotadas. Las imágenes contenían datos de contorno para ambos pulmones, las dos clavículas y el corazón. El primer paso fue la creación de una serie de scripts en MATLAB que permitieran: - Leer y transformar las imágenes recibidas en RAW, para adaptarlas al tamaño y la posición de los contornos anotados - Leer los archivos de texto con los datos de los puntos del contorno y transformarlos en variables de MATLAB - Unir la imagen transformada con los puntos y guardarla en un formato que la implementación del algoritmo entendiera. Tras conseguir los ficheros necesarios, se procedió a crear un modelo para cada órgano utilizando para el entrenamiento una pequeña parte de las imágenes. El modelo obtenido se probó con varias imágenes de las restantes. Sin embargo, se encontro bastante variación dependiendo de la imagen utilizada y el órgano detectado. ---ABSTRACT---The project was started by procuring information about the diferent approaches to image annotation over time, from manual image anotation to automatic annotation. The next step was to study several articles about the diferent algorithms used for automatic image annotation. Given that automatic annotation is an open field, there is a great number of approaches. Taking into account the features of the images that would be used, the less suitable algorithms were rejected. Eventually, a shape-based algorithm (Active Shape Model) was found. Basically, the diferent objects in the image are identified from a base contour, which is generated from training images. Then this contour is automatically modified to cover the desired area. Given that all the images that would be used are similar in object placement, the algorithm would probably work nicely. The work started from a MATLAB implementation of the algorithm. To begin with, a set of chest radiographs already annotated were obtained. These images came with contour data for both lungs, both clavicles and the heart. The first step was the creation of a series of MATLAB scripts to join the RAW images with the annotation data and transform them into a format that the algorithm could read. After obtaining the necessary files, a model for each organ was created using part of the images for training. The trained model was tested on several of the reimaining images. However, there was much variation in the results from one image to another. Generally, lungs were detected pretty accurately, whereas clavicles and the heart gave more problems. To improve the method, a new model was trained using half of the available images. With this model, a significant inprovement of the results can be seen.
Resumo:
Este Proyecto Fin de Grado está enmarcado dentro de las actividades del GRyS (Grupo de Redes y Servicios de Próxima Generación) con las Smart Grids. En la investigación actual sobre Smart Grids se pretenden alcanzar los siguientes objetivos: . Integrar fuentes de energías renovables de manera efectiva. . Aumentar la eficiencia en la gestión de la demanda y suministro de forma dinámica. . Reducir las emisiones de CO2 dando prioridad a fuentes de energía verdes. . Concienciar del consumo de energía mediante la monitorización de dispositivos y servicios. . Estimular el desarrollo de un mercado vanguardista de tecnologías energéticamente eficientes con nuevos modelos de negocio. Dentro del contexto de las Smart Grids, el interés del GRyS se extiende básicamente a la creación de middlewares semánticos y tecnologías afines, como las ontologías de servicios y las bases de datos semánticas. El objetivo de este Proyecto Fin de Grado ha sido diseñar y desarrollar una aplicación para dispositivos con sistema operativo Android, que implementa una interfaz gráfica y los métodos necesarios para obtener y representar información de registro de servicios de una plataforma SOA (Service-Oriented Architecture). La aplicación permite: . Representar información relativa a los servicios y dispositivos registrados en una Smart Grid. . Guardar, cargar y compartir por correo electrónico ficheros HTML con la información anterior. . Representar en un mapa la ubicación de los dispositivos. . Representar medidas (voltaje, temperatura, etc.) en tiempo real. . Aplicar filtros por identificador de dispositivo, modelo o fabricante. . Realizar consultas SPARQL a bases de datos semánticas. . Guardar y cagar consultas SPARQL en ficheros de texto almacenados en la tarjeta SD. La aplicación, desarrollada en Java, es de código libre y hace uso de tecnologías estándar y abiertas como HTML, XML, SPARQL y servicios RESTful. Se ha tenido ocasión de probarla con la infraestructura del proyecto europeo e-Gotham (Sustainable-Smart Grid Open System for the Aggregated Control, Monitoring and Management of Energy), en el que participan 17 socios de 5 países: España, Italia, Estonia, Finlandia y Noruega. En esta memoria se detalla el estudio realizado sobre el Estado del arte y las tecnologías utilizadas en el desarrollo del proyecto, la implementación, diseño y arquitectura de la aplicación, así como las pruebas realizadas y los resultados obtenidos. ABSTRACT. This Final Degree Project is framed within the activities of the GRyS (Grupo de Redes y Servicios de Próxima Generación) with the Smart Grids. Current research on Smart Grids aims to achieve the following objectives: . To effectively integrate renewable energy sources. . To increase management efficiency by dynamically matching demand and supply. . To reduce carbon emissions by giving priority to green energy sources. . To raise energy consumption awareness by monitoring products and services. . To stimulate the development of a leading-edge market for energy-efficient technologies with new business models. Within the context of the Smart Grids, the interest of the GRyS basically extends to the creation of semantic middleware and related technologies, such as service ontologies and semantic data bases. The objective of this Final Degree Project has been to design and develop an application for devices with Android operating system, which implements a graphical interface and methods to obtain and represent services registry information in a Service-Oriented Architecture (SOA) platform. The application allows users to: . Represent information related to services and devices registered in a Smart Grid. . Save, load and share HTML files with the above information by email. . Represent the location of devices on a map. . Represent measures (voltage, temperature, etc.) in real time. . Apply filters by device id, model or manufacturer. . SPARQL query semantic database. . Save and load SPARQL queries in text files stored on the SD card. The application, developed in Java, is open source and uses open standards such as HTML, XML, SPARQL and RESTful services technologies. It has been tested in a real environment using the e-Gotham European project infrastructure (Sustainable-Smart Grid Open System for the Aggregated Control, Monitoring and Management of Energy), which is participated by 17 partners from 5 countries: Spain, Italy, Estonia, Finland and Norway. This report details the study on the State of the art and the technologies used in the development of the project, implementation, design and architecture of the application, as well as the tests performed and the results obtained.
Resumo:
Este Trabajo fin de grado ha tomado como punto de partida el escenario y los casos de uso que han sido seleccionados para el demostrador ("live demo") del proyecto europeo de I+D+I FI-WARE para, a través del diseño y de la implementación del conjunto de widgets y operadores que forman parte de dicho demostrador, deducir los principios subyacentes al Desarrollo sistemático de los elementos composicionales que conforman un mashup de aplicaciones Web 2.0. En concreto, con el escenario escogido se quiere demostrar, en un contexto de Smart Cities, como puede monitorizarse el estado y la geolocalización de un conjunto de máquinas de vending y de los técnicos y reponedores que les dan soporte. Este trabajo fin de grado se ocupa, en concreto, de crear todos los componentes de interfaz necesarios para poder ofrecer un mashup de aplicación que ofrezca un cuadro de mando personalizable para llevar a cabo la monitorización y el control de máquinas de vending, técnicos y reponedores. Teniendo en cuenta el documento de casos de uso para ese escenario, se hizo una revisión de los diferentes widgets y operadores que había que diseñar y desarrollar. El conjunto inicial de widgets se mantuvo invariable, ya que las vistas que hay que mostrar deben ser las que se especifican en el documento anteriormente citado. No obstante, los operadores necesarios para el mashup han ido cambiando a lo largo del desarrollo como consecuencia de las necesidades de los tipos de datos tratados y de las características propias de la plataforma utilizada. El diseño del mashup se ha dividido en dos tipos de diseños distintos: Diseño de vistas: Es un disño de alto nivel donde se pueden observar las distintas vistas que vería el usuario en cada uno de los widgets (los operadores no tienen vista). Diseño de interacciones: Es un diseño de alto nivel donde se representa esquemáticamente el ujo de datos entre los elementos composicionales del mashup (tanto widgets como operadores). Al mismo tiempo que se planteaba el diseño del mashup, y como consecuencia de la experiencia ganada, se han podido ir realizando trabajos como la creación de la "Guía de desarrollo de widgets y operadores" y la "Guía de estilo para el desarrollo de widgets y operadores".Estos documentos, por su importancia, dan pie al título del presente trabajo ya que suponen una ayuda metodológica al desarrollo sistemático de elementos composicionales para mashup de aplicaciones. Durante ese periódo, simultaneamente, se pudieron encontrar y consultar diferentes fuentes de información que completan el "Estado del arte" y el documento de "Principios de diseño de aplicaciones composicionales orientadas a mashups" y se realizaron varias herramientas que facilitan la tarea del programador de crear un nuevo widget u operador desde cero. Entre estas últimas, destacan: una herramienta para crear y mantener la estructura de directorios y archivos de un widget y de un operador; y una herramienta que empaqueta todos los ficheros del widget u operador en un solo fichero WGT, dejándolo preparado para ser desplegado en la plataforma. La mayor parte del trabajo ha consistido en la implementación de los widgets y operadores. Los widgets implementados son los siguientes: Map Viewer. Issues List. Technicians List. Technicians Info. Los operadores implementados son los siguientes: Poi2Issue Issue2Poi Poi2vCard Vcard2Poi TechnicianSource IssuesSource También se han realizado tres tipos de tests: unitarios, de integracion y de sistema. Además se ha creado documentación de cada elemento composicional para el usuario. En dicha documentación se explica cuales son las funcionalidades de cada uno de los elementos composicionales y cuales son las capacidades de conexión con otros elementos. El resultado de mi trabajo puede observarse en: http://www.youtube.com/watch?v=r8 Vv ehJSw
Resumo:
This document is the result of a process of web development to create a tool that will allow to Cracow University of Technology consult, create and manage timetables. The technologies chosen for this purpose are Apache Tomcat Server, My SQL Community Server, JDBC driver, Java Servlets and JSPs for the server side. The client part counts on Javascript, jQuery, AJAX and CSS technologies to perform the dynamism. The document will justify the choice of these technologies and will explain some development tools that help in the integration and development of all this elements: specifically, NetBeans IDE and MySQL workbench have been used as helpful tools. After explaining all the elements involved in the development of the web application, the architecture and the code developed are explained through UML diagrams. Some implementation details related to security are also deeper explained through sequence diagrams. As the source code of the application is provided, an installation manual has been developed to run the project. In addition, as the platform is intended to be a beta that will be grown, some unimplemented ideas for future development are also exposed. Finally, some annexes with important files and scripts related to the initiation of the platform are attached. This project started through an existing tool that needed to be expanded. The main purpose of the project along its development has focused on setting the roots for a whole new platform that will replace the existing one. For this goal, it has been needed to make a deep inspection on the existing web technologies: a web server and a SQL database had to be chosen. Although the alternatives were a lot, Java technology for the server was finally selected because of the big community backwards, the easiness of modelling the language through UML diagrams and the fact of being free license software. Apache Tomcat is the open source server that can use Java Servlet and JSP technology. Related to the SQL database, MySQL Community Server is the most popular open-source SQL Server, with a big community after and quite a lot of tools to manage the server. JDBC is the driver needed to put in contact Java and MySQL. Once we chose the technologies that would be part of the platform, the development process started. After a detailed explanation of the development environment installation, we used UML use case diagrams to set the main tasks of the platform; UML class diagrams served to establish the existing relations between the classes generated; the architecture of the platform was represented through UML deployment diagrams; and Enhanced entity–relationship (EER) model were used to define the tables of the database and their relationships. Apart from the previous diagrams, some implementation issues were explained to make a better understanding of the developed code - UML sequence diagrams helped to explain this. Once the whole platform was properly defined and developed, the performance of the application has been shown: it has been proved that with the current state of the code, the platform covers the use cases that were set as the main target. Nevertheless, some requisites needed for the proper working of the platform have been specified. As the project is aimed to be grown, some ideas that could not be added to this beta have been explained in order not to be missed for future development. Finally, some annexes containing important configuration issues for the platform have been added after proper explanation, as well as an installation guide that will let a new developer get the project ready. In addition to this document some other files related to the project are provided: - Javadoc. The Javadoc containing the information of every Java class created is necessary for a better understanding of the source code. - database_model.mwb. This file contains the model of the database for MySQL Workbench. This model allows, among other things, generate the MySQL script for the creation of the tables. - ScheduleManager.war. The WAR file that will allow loading the developed application into Tomcat Server without using NetBeans. - ScheduleManager.zip. The source code exported from NetBeans project containing all Java packages, JSPs, Javascript files and CSS files that are part of the platform. - config.properties. The configuration file to properly get the names and credentials to use the database, also explained in Annex II. Example of config.properties file. - db_init_script.sql. The SQL query to initiate the database explained in Annex III. SQL statements for MySQL initialization. RESUMEN. Este proyecto tiene como punto de partida la necesidad de evolución de una herramienta web existente. El propósito principal del proyecto durante su desarrollo se ha centrado en establecer las bases de una completamente nueva plataforma que reemplazará a la existente. Para lograr esto, ha sido necesario realizar una profunda inspección en las tecnologías web existentes: un servidor web y una base de datos SQL debían ser elegidos. Aunque existen muchas alternativas, la tecnología Java ha resultado ser elegida debido a la gran comunidad de desarrolladores que tiene detrás, además de la facilidad que proporciona este lenguaje a la hora de modelarlo usando diagramas UML. Tampoco hay que olvidar que es una tecnología de uso libre de licencia. Apache Tomcat es el servidor de código libre que permite emplear Java Servlets y JSPs para hacer uso de la tecnología de Java. Respecto a la base de datos SQL, el servidor más popular de código libre es MySQL, y cuenta también con una gran comunidad detrás y buenas herramientas de modelado, creación y gestión de la bases de datos. JDBC es el driver que va a permitir comunicar las aplicaciones Java con MySQL. Tras elegir las tecnologías que formarían parte de esta nueva plataforma, el proceso de desarrollo tiene comienzo. Tras una extensa explicación de la instalación del entorno de desarrollo, se han usado diagramas de caso de UML para establecer cuáles son los objetivos principales de la plataforma; los diagramas de clases nos permiten realizar una organización del código java desarrollado de modo que sean fácilmente entendibles las relaciones entre las diferentes clases. La arquitectura de la plataforma queda definida a través de diagramas de despliegue. Por último, diagramas EER van a definir las relaciones entre las tablas creadas en la base de datos. Aparte de estos diagramas, algunos detalles de implementación se van a justificar para tener una mejor comprensión del código desarrollado. Diagramas de secuencia ayudarán en estas explicaciones. Una vez que toda la plataforma haya quedad debidamente definida y desarrollada, se va a realizar una demostración de la misma: se demostrará cómo los objetivos generales han sido alcanzados con el desarrollo actual del proyecto. No obstante, algunos requisitos han sido aclarados para que la plataforma trabaje adecuadamente. Como la intención del proyecto es crecer (no es una versión final), algunas ideas que se han podido llevar acabo han quedado descritas de manera que no se pierdan. Por último, algunos anexos que contienen información importante acerca de la plataforma se han añadido tras la correspondiente explicación de su utilidad, así como una guía de instalación que va a permitir a un nuevo desarrollador tener el proyecto preparado. Junto a este documento, ficheros conteniendo el proyecto desarrollado quedan adjuntos. Estos ficheros son: - Documentación Javadoc. Contiene la información de las clases Java que han sido creadas. - database_model.mwb. Este fichero contiene el modelo de la base de datos para MySQL Workbench. Esto permite, entre otras cosas, generar el script de iniciación de la base de datos para la creación de las tablas. - ScheduleManager.war. El fichero WAR que permite desplegar la plataforma en un servidor Apache Tomcat. - ScheduleManager.zip. El código fuente exportado directamente del proyecto de Netbeans. Contiene todos los paquetes de Java generados, ficheros JSPs, Javascript y CSS que forman parte de la plataforma. - config.properties. Ejemplo del fichero de configuración que permite obtener los nombres de la base de datos - db_init_script.sql. Las consultas SQL necesarias para la creación de la base de datos.
Resumo:
El Hogar Digital Accesible (HDA) de la ETSIST nace con el propósito de acercar las nuevas Tecnologías de la Información a las personas que precisan de necesidades concretas de accesibilidad y usabilidad, dotándoles de herramientas que les permitan aumentar su calidad de vida, confort, seguridad y autonomía. El entorno del HDA consta de elementos de control para puertas, persianas, iluminación, agua o gas, sensores de temperatura, incendios, gas, sistemas de climatización, sistemas de entretenimiento y sistemas de seguridad tales como detectores de presencia y alarmas. Todo ello apoyado sobre una arquitectura de red que proporciona una pasarela residencial y un acceso a banda ancha. El objetivo principal de este PFG ha sido el desarrollo de un sistema de autenticación para el Hogar Digital Accesible de bajo coste. La idea de integrar un sistema de autenticación en el HDA, surge de la necesidad de proteger de accesos no deseados determinados servicios disponibles dentro de un ámbito privado. Algunos de estos servicios pueden ser tales como el acceso a la lectura de los mensajes disponibles en el contestador automático, el uso de equipos multimedia, la desconexión de alarmas de seguridad o simplemente la configuración de ambientes según el usuario que esté autenticado (intensidad de luz, temperatura de la sala, etc.). En el desarrollo han primado los principios de accesibilidad, usabilidad y seguridad necesarios para la creación de un entorno no invasivo, que permitiera acreditar la identidad del usuario frente al sistema HDA. Se ha planteado como posible solución, un sistema basado en el reconocimiento de un trazo realizado por el usuario. Este trazo se usará como clave de cara a validar a los usuarios. El usuario deberá repetir el trazado que registró en el sistema para autenticarse. Durante la ejecución del presente PFG, se justificará la elección de este mecanismo de autenticación frente a otras alternativas disponibles en el mercado. Para probar la aplicación, se ha podido contar con dos periféricos de distintas gamas, el uDraw creado para la PS3 que se compone de una tableta digitalizadora y un lápiz que permite recoger los trazos realizados por el usuario de forma inalámbrica y la tableta digitalizadora Bamboo de Wacom. La herramienta desarrollada permite a su vez, la posibilidad de ser usada por otro tipo de dispositivos como es el caso del reloj con acelerómetro de 3 ejes de Texas Instruments Chronos eZ430 capaz de trasladar los movimientos del usuario al puntero de un ratón. El PFG se encuentra dividido en tres grandes bloques de flujo de trabajo. El primero se centra en el análisis del sistema y las tecnologías que lo componen, incluyendo los distintos algoritmos disponibles para realizar la autenticación basada en reconocimiento de patrones aplicados a imágenes que mejor se adaptan a las necesidades del usuario. En el segundo bloque se recoge una versión de prueba basada en el análisis y el diseño UML realizado previamente, sobre la que se efectuaron pruebas de concepto y se comprobó la viabilidad del proyecto. El último bloque incluye la verificación y validación del sistema mediante pruebas que certifican que se han alcanzado los niveles de calidad necesarios para la consecución de los objetivos planteados, generando finalmente la documentación necesaria. Como resultado del trabajo realizado, se ha obtenido un sistema que plantea una arquitectura fácilmente ampliable lograda a través del uso de técnicas como la introspección, que permiten separar la lógica de la capa de negocio del código que la implementa, pudiendo de forma simple e intuitiva sustituir código mediante ficheros de configuración, lo que hace que el sistema sea flexible y escalable. Tras la realización del PFG, se puede concluir que el producto final obtenido ha respondido de forma satisfactoria alcanzando los niveles de calidad requeridos, siendo capaz de proporcionar un sistema de autenticación alternativo a los convencionales, manteniendo unas cotas de seguridad elevadas y haciendo de la accesibilidad y el precio sus características más reseñables. ABSTRACT. Accessible Digital Home (HDA) of the ETSIST was created with the aim of bringing the latest information and communications technologies closer to the people who has special needs of accessibility and usability increasing their quality of life, comfort, security and autonomy. The HDA environment has different control elements for doors, blinds, lighting, water or gas, temperature sensors, fire protection systems, gas flashover, air conditioning systems, entertainments systems and security systems such as intruders detectors and alarms. Everything supported by an architecture net which provides a broadband residential services gateway. The main goal of this PFG was the development of a low-cost authentication system for the Accessible Digital Home. The idea of integrating an authentication system on the HDA, stems from the need to safeguard certain private key network resources from unauthorized access. Some of said resources are the access to the answering machine messages, the use of multimedia devices, the alarms deactivation or the parameter settings for each environment as programmed by the authenticated user (light intensity, room temperature, etc.). During the development priority was given to concepts like accessibility, usability and security. All of them necessary to create a non invasive environment that allows the users to certify their identity. A system based on stroke pattern recognition, was considered as a possible solution. This stroke is used as a key to validate users. The user must repeat the stroke that was saved on the system to validate access. The selection of this authentication mechanism among the others available options will be justified during this PFG. Two peripherals with different ranges were used to test the application. One of them was uDraw design for the PS3. It is wireless and is formed by a pen and a drawing tablet that allow us to register the different strokes drawn by the user. The other one was the Wacom Bamboo tablet, that supports the same functionality but with better accuracy. The developed tool allows another kind of peripherals like the 3-axes accelerometer digital wristwatch Texas Instruments Chronos eZ430 capable of transfering user movements to the mouse cursor. The PFG is divided by three big blocks that represent different workflows. The first block is focused on the system analysis and the technologies related to it, including algorithms for image pattern recognition that fits the user's needs. The second block describes how the beta version was developed based on the UML analysis and design previously done. It was tested and the viability of the project was verified. The last block contains the system verification and validation. These processes certify that the requirements have been fulfilled as well as the quality levels needed to reach the planned goals. Finally all the documentation has been produced. As a result of the work, an expandable system has been created, due to the introspection that provides the opportunity to separate the business logic from the code that implements it. With this technique, the code could be replaced throughout configuration files which makes the system flexible and highly scalable. Once the PFG has finished, it must therefore be concluded that the final product has been a success and high levels of quality have been achieved. This authentication tool gives us a low-cost alternative to the conventional ones. The new authentication system remains security levels reasonably high giving particular emphasis to the accessibility and the price.
Sistema de adquisición de datos para una aplicación de detección del ruido de reversa en tiempo real
Resumo:
Entre todas las fuentes de ruido, la activación de la propulsión en reversa de un avión después de aterrizar es conocida por las autoridades del aeropuerto como una causa importante de impacto acústico, molestias y quejas en las proximidades vecinas de los aeropuertos. Por ello, muchos de los aeropuertos de todo el mundo han establecido restricciones en el uso de la reversa, especialmente en las horas de la noche. Una forma de reducir el impacto acústico en las actividades aeroportuarias es implementar herramientas eficaces para la detección de ruido en reversa en los aeropuertos. Para este proyecto de fin de carrera, aplicando la metodología TREND (Thrust Reverser Noise Detection), se pretende desarrollar un sistema software capaz de determinar que una aeronave que aterrice en la pista active el frenado en reversa en tiempo real. Para el diseño de la aplicación se plantea un modelo software, que se compone de dos módulos: El módulo de adquisición de señales acústicas, simula un sistema de captación por señales de audio. Éste módulo obtiene muestra de señales estéreo de ficheros de audio de formato “.WAV” o del sistema de captación, para acondicionar las muestras de audio y enviarlas al siguiente módulo. El sistema de captación (array de micrófonos), se encuentra situado en una localización cercana a la pista de aterrizaje. El módulo de procesado busca los eventos de detección aplicando la metodología TREND con las muestras acústicas que recibe del módulo de adquisición. La metodología TREND describe la búsqueda de dos eventos sonoros llamados evento 1 (EV1) y evento 2 (EV2); el primero de ellos, es el evento que se activa cuando una aeronave aterriza discriminando otros eventos sonoros como despegues de aviones y otros sonidos de fondo, mientras que el segundo, se producirá después del evento 1, sólo cuando la aeronave utilice la reversa para frenar. Para determinar la detección del evento 1, es necesario discriminar las señales ajenas al aterrizaje aplicando un filtrado en la señal capturada, después, se aplicará un detector de umbral del nivel de presión sonora y por último, se determina la procedencia de la fuente de sonido con respecto al sistema de captación. En el caso de la detección del evento 2, está basada en la implementación de umbrales en la evolución temporal del nivel de potencia acústica aplicando el modelo de propagación inversa, con ayuda del cálculo de la estimación de la distancia en cada instante de tiempo mientras el avión recorre la pista de aterrizaje. Con cada aterrizaje detectado se realiza una grabación que se archiva en una carpeta específica y todos los datos adquiridos, son registrados por la aplicación software en un fichero de texto. ABSTRACT. Among all noise sources, the activation of reverse thrust to slow the aircraft after landing is considered as an important cause of noise pollution by the airport authorities, as well as complaints and annoyance in the airport´s nearby locations. Therefore, many airports around the globe have restricted the use of reverse thrust, especially during the evening hours. One way to reduce noise impact on airport activities is the implementation of effective tools that deal with reverse noise detection. This Final Project aims to the development of a software system capable of detecting if an aircraft landing on the runway activates reverse thrust on real time, using the TREND (Thrust Reverser Noise Detection) methodology. To design this application, a two modules model is proposed: • The acoustic signals obtainment module, which simulates an audio waves based catchment system. This module obtains stereo signal samples from “.WAV” audio files or the catchment system in order to prepare these audio samples and send them to the next module. The catchment system (a microphone array) is located on a place near the landing runway. • The processing module, which looks for detection events among the acoustic samples received from the other module, using the TREND methodology. The TREND methodology describes the search of two sounds events named event 1 (EV1) and event 2 (EV2). The first is the event activated by a landing plane, discriminating other sound events such as background noises or taking off planes; the second one will occur after event one only when the aircraft uses reverse to slow down. To determine event 1 detection, signals outside the landing must be discriminated using a filter on the catched signal. A pressure level´s threshold detector will be used on the signal afterwards. Finally, the origin of the sound source is determined regarding the catchment system. The detection of event 2 is based on threshold implementations in the temporal evolution of the acoustic power´s level by using the inverse propagation model and calculating the distance estimation at each time step while the plane goes on the landing runway. A recording is made every time a landing is detected, which is stored in a folder. All acquired data are registered by the software application on a text file.
Resumo:
En esta tesis se tratan dos aspectos fundamentales de los sistemas funcionales, de cuyo tratamiento depende, en gran medida, la eficiencia de tales sistemas. En primer lugar, se presentan y evalúan una serie de soluciones al problema de representación interna en los sistemas funcionales, soluciones basadas en la utilización de estructuras lineales para obtener una mejora en el tiempo de ejecución y en la ocupación de la memoria del sistema. En segundo lugar, se presenta un sistema de evaluación multitarea para reducir programas funcionales, basado en la especificación de varios ficheros de salida. En él, las tareas del sistema evalúan, de forma concurrente, las diversas partes del resultado de un programa y se .comunican entre sí en base a mensajes que permiten detectar y resolver, sin necesidad de abortar la ejecución, bucles de dependencias entre tareas. El sistema reacciona ante estas situaciones de error de forma comedida, de modo que este error no afecta al resto de las tareas del sistema. Se plantea también un mecanismo de gestión de memoria, mecanismo que introduce una tarea especial en el sistema, encargada de la gestión de una memoria común a todo él, y satisface las necesidades de memoria de las tareas de forma, transparente al mecanismo de evaluación.---ABSTRACT---Two fundamental aspects of functional systems, of which their efficiency to a large extent depends, are dealt with in this thesis. Firstly, several solutions to the internal representation problem of functional systems are proposed and evaluated. These solutions are based on the use of linear data structures in order to achieve a shorter execution time and smaller memory requirement. Secondly, a new multitask evaluation system for the reduction of functional programs is described; it is based on the specifücation of several output files. In this evaluation system, the task evaluates in the different parts of the program result concurrently. Tasks communicate one another through messages, which make it possible to detect and solve the dependency loops within tasks. The program does not need to be aborted, the sistem reacts to such error situations in a smooth way, no other tasks are affected. A memory management system is also introduced. This management system inserts a special task, that carries-out the management of a common memory and serves all tasks memory requirements in a transparent mode to the evaluation mechanism.
Resumo:
Actualmente las redes VSAT (Very Small Aperture Terminal) están adquiriendo una mayor importancia en las comunicaciones por satélite debido a las nuevas aplicaciones que se están desarrollando tanto a nivel empresarial como a nivel de usuario final. El presente proyecto pretende hacer un estudio de este tipo de red para presentarla como una solución al problema de querer conectar estaciones dispersas, que por el perfil del terreno hace difícil la conexión de las mismas a través de las redes terrestres convencionales. Los nuevos estándares están haciendo que este tipo de redes proliferen muy deprisa ya que se consigue una mayor flexibilidad que con los estándares precedentes para este tipo de red. En concreto, en este proyecto se ha estudiado el estándar abierto DVB-S desarrollado por el grupo de trabajo DVB por ser uno de los más aceptado internacionalmente. Para comprender este sistema de comunicaciones, el proyecto está estructurado en dos partes. En la primera parte se hace una revisión de cómo han evolucionado las comunicaciones satelitales VSAT, indicando las ventajas y desventajas de su implementación y sobre todo la orientación que éstas muestran a la utilización de los estándares DVB. Posteriormente se realiza un estudio de los estándares DVB-S y DVBRCS en donde se profundiza en conceptos claves tales como el Multiplexado de Transporte MPEG-2, los mecanismos de envío de mensajes de señalización, etc. En la segunda parte del proyecto se presta atención a la seguridad de la red, analizando los mecanismos propios que presenta el estándar DVB así como los diferentes protocolos de seguridad existentes en las capas superiores para una protección adicional. Para concluir el proyecto se han creado dos aplicaciones, la primera como método didáctico para comprender mejor el comportamiento de las redes VSAT con el estándar DVB-S, y una segunda aplicación con carácter comercial para la transferencia de ficheros de manera segura con características específicas, enfocada particularmente en redes VSAT, aunque siendo posible su uso en otras redes. ABSTRACT. Nowadays VSAT networks (Very Small Aperture Terminal) are becoming more important in satellite communications, due to several new applications that are being developed both at company level and end user level. This project aims to make a study of this type of network to present it as a solution to the problem of wanting to connect scattered stations, because the terrain profile makes difficult to connect them via conventional terrestrial networks. New standards are making that such networks proliferate very quickly for the reason that a more flexibility than the previous standards for this type of network is achieved. Specifically, this project has studied the open standard DVB-S developed by the DVB workgroup as one of the most internationally accepted. To understand this communication system, this project is structured in two different parts: On one hand, in the first part a review about how VSAT satellite communications have evolved, indicating the advantages and disadvantages of its implementation and above all, the guidance that they show to the use of the DVB standards. Subsequently, a study of the DVB-S and DVB-RCS standards is developed, where delves into key concepts such as MPEG-2 Multiplexed Transport, mechanisms of transmission of signaling messages, etc. On the other hand, in the second part of the project, we focus on network security, analyzing the mechanisms presented by the DVB standard and various existing security protocols in the upper layers for an extra protection. To complete the project two different applications have been developed: the first one as a teaching method to better understand the behavior of VSAT networks in DVB-S standard, and the second one with a commercial basis for transferring files securely with specific features applications focused particularly in VSAT networks, although with a possible use on other networks.
Resumo:
En la actualidad gran parte de las industrias utilizan o desarrollan plataformas, las cuales integran un número cada vez más elevado de sistemas complejos. El mantenimiento centralizado permite optimizar el mantenimiento de estas plataformas, por medio de la integración de un sistema encargado de gestionar el mantenimiento de todos los sistemas de la plataforma. Este Trabajo Fin de Máster (TFM) desarrolla el concepto de mantenimiento centralizado para sistemas complejos, aplicable a plataformas formadas por sistemas modulares. Está basado en la creciente demanda de las diferentes industrias en las que se utilizan este tipo de plataformas, como por ejemplo la industria aeronáutica, del ferrocarril y del automóvil. Para ello este TFM analiza el Estado del Arte de los sistemas de mantenimiento centralizados en diferentes industrias, además desarrolla los diferentes tipos de arquitecturas de sistemas, las técnicas de mantenimiento aplicables, así como los sistemas y técnicas de mantenimiento basados en funciones de monitorización y auto diagnóstico denominadas Built-In-Test Equipment (BITE). Adicionalmente, este TFM incluye el desarrollo e implementación de un modelo de un Entorno de Mantenimiento Centralizado en LabVIEW. Este entorno está formado por el modelo de un Sistema Patrón, así como el modelo del Sistema de Mantenimiento Centralizado y la interfaces entre ellos. El modelo del Sistema de Mantenimiento Centralizado integra diferentes funciones para el diagnóstico y aislamiento de los fallos. Así mismo, incluye una función para el análisis estadístico de los datos de fallos almacenados por el propio sistema, con el objetivo de proporcionar capacidades de mantenimiento predictivo a los sistemas del entorno. Para la implementación del modelo del Entorno de Mantenimiento Centralizado se han utilizado recursos de comunicaciones vía TCP/IP, modelización y almacenamiento de datos en ficheros XML y generación automática de informes en HTML. ABSTRACT. Currently several industries are developing or are making use of multi system platforms. These platforms are composed by many complex systems. The centralized maintenance allows the maintenance optimization, integrating a maintenance management system. This system is in charge of managing the maintenance dialog with the different and multiple platforms. This Master Final Project (TFM) develops the centralized maintenance concept for platforms integrated by modular and complex systems. This TFM is based on the demand of the industry that uses or develops multi system platforms, as aeronautic, railway, and automotive industries. In this way, this TFM covers and analyzes several aspects of the centralized maintenance systems like the State of the Art, for several industries. Besides this work develops different systems architecture types, maintenance techniques, and techniques and systems based on Built-in-test Equipment functions. Additionally, this TFM includes a LabVIEW Centralized System Environment model. This model is composed by a Standard System, the Centralized Maintenance System and the corresponding interfaces. Several diagnostic and fault isolation functions are integrated on the Centralized Maintenance Systems, as well a statistic analysis function, that provides with predictive maintenance capacity, based on the failure data stored by the system. Among others, the following resources have been used for the Centralized System Environment model development: TCP/IP communications, XML file data modelization and storing, and also automatic HTML reports generation.
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:
Este proyecto de fin de grado pretende demostrar la importancia y la utilidad de la creación de redes de dispositivos móviles conectados entre sí. Para ello se explicarán varios tipos de redes inalámbricas que permiten estas conexiones directas entre dispositivos sin la necesidad de un servidor. En estas redes inalámbricas se destacan las redes P2P y las redes Ad-hoc, las cuales se explicarán posteriormente. El despliegue de estas redes se puede encontrar en un amplio rango de campos como puede ser la agricultura, la medicina e incluso en el ámbito militar. Es objetivo de este proyecto, además, el estudio de la tecnología Wi-Fi Direct creada por la Wi-Fi Alliance. Como se explicará a lo largo del proyecto, Wi-Fi Direct está basado en las redes P2P. Esta tecnología permite a los dispositivos cercanos crear redes P2P a través de la red Wi-Fi sin la necesidad de un punto de acceso a Internet. Por otro lado, una gran cantidad de los dispositivos móviles que existen actualmente poseen el sistema operativo Android. Android ha incorporado en sus dispositivos más recientes la tecnología Wi-Fi Direct. Debido a ello han ido surgiendo aplicaciones que usando esta tecnología consiguen desde enviar ficheros hasta indicar la localización de un usuario. Esta tecnología combinada con este tipo de dispositivos puede ser muy útil para utilizar en casos de emergencia donde las infraestructuras de comunicaciones no estén disponibles ya que al no necesitar un punto de acceso a internet es posible la comunicación entre un usuario en peligro y otro que se encuentre dentro de un radio cercano. Por estos motivos otro de los principales objetivos de este proyecto es la implementación de una aplicación para dispositivos Android que use la tecnología Wi-Fi Direct para realizar varias funcionalidades diferentes, como es el intercambio de ficheros entre dispositivos y la creación de un chat para la comunicación simultanea entre dos dispositivos. Con esto se pretende conocer mejor el funcionamiento de la tecnología Wi-Fi Direct y demostrar su utilidad en los dispositivos móviles como son los dispositivos Android. ABSTRACT. This final degree Project tries to demonstrate the importance and utility of networking mobile devices. For this purpose several types of wireless networks will be explained. These networks allow direct connections between devices. The most prominent Wireless networks are P2P and Ad-hoc which will be explained later. The use of these networks can be found in a wide range of fields such as agriculture medicine, and even in the military sector. Besides, other aim of this project is the study of Wi-Fi Direct Technology which is created by Wi-Fi Alliance. As it explained along the project, Wi-Fi Direct is based on P2P networks. This technology lets nearby devices create P2P networks through Wi-Fi network without an Internet access point. On the other hand, a large number of mobile devices have the Android OS. Android has integrated Wi-Fi Direct technology in its latest devices. Because of this applications have emerged that using this technology they get from sending files to send the user’s location. This technology combined with these devices can be very useful to use in emergencies where communications infrastructures are not available. Since not need an Internet access point, communication between a user in danger and another within close radius is possible. For these reasons another of the main aims of this project is the implementation of an application for Android devices which use Wi-Fi Direct technology to perform several different functionalities, such as file exchange or chat for simultaneous communication between devices. This is intended to better understand the operation of Wi-Fi Direct technology and prove its utility on mobile devices such as Android devices.
Resumo:
Poder clasificar de manera precisa la aplicación o programa del que provienen los flujos que conforman el tráfico de uso de Internet dentro de una red permite tanto a empresas como a organismos una útil herramienta de gestión de los recursos de sus redes, así como la posibilidad de establecer políticas de prohibición o priorización de tráfico específico. La proliferación de nuevas aplicaciones y de nuevas técnicas han dificultado el uso de valores conocidos (well-known) en puertos de aplicaciones proporcionados por la IANA (Internet Assigned Numbers Authority) para la detección de dichas aplicaciones. Las redes P2P (Peer to Peer), el uso de puertos no conocidos o aleatorios, y el enmascaramiento de tráfico de muchas aplicaciones en tráfico HTTP y HTTPS con el fin de atravesar firewalls y NATs (Network Address Translation), entre otros, crea la necesidad de nuevos métodos de detección de tráfico. El objetivo de este estudio es desarrollar una serie de prácticas que permitan realizar dicha tarea a través de técnicas que están más allá de la observación de puertos y otros valores conocidos. Existen una serie de metodologías como Deep Packet Inspection (DPI) que se basa en la búsqueda de firmas, signatures, en base a patrones creados por el contenido de los paquetes, incluido el payload, que caracterizan cada aplicación. Otras basadas en el aprendizaje automático de parámetros de los flujos, Machine Learning, que permite determinar mediante análisis estadísticos a qué aplicación pueden pertenecer dichos flujos y, por último, técnicas de carácter más heurístico basadas en la intuición o el conocimiento propio sobre tráfico de red. En concreto, se propone el uso de alguna de las técnicas anteriormente comentadas en conjunto con técnicas de minería de datos como son el Análisis de Componentes Principales (PCA por sus siglas en inglés) y Clustering de estadísticos extraídos de los flujos procedentes de ficheros de tráfico de red. Esto implicará la configuración de diversos parámetros que precisarán de un proceso iterativo de prueba y error que permita dar con una clasificación del tráfico fiable. El resultado ideal sería aquel en el que se pudiera identificar cada aplicación presente en el tráfico en un clúster distinto, o en clusters que agrupen grupos de aplicaciones de similar naturaleza. Para ello, se crearán capturas de tráfico dentro de un entorno controlado e identificando cada tráfico con su aplicación correspondiente, a continuación se extraerán los flujos de dichas capturas. Tras esto, parámetros determinados de los paquetes pertenecientes a dichos flujos serán obtenidos, como por ejemplo la fecha y hora de llagada o la longitud en octetos del paquete IP. Estos parámetros serán cargados en una base de datos MySQL y serán usados para obtener estadísticos que ayuden, en un siguiente paso, a realizar una clasificación de los flujos mediante minería de datos. Concretamente, se usarán las técnicas de PCA y clustering haciendo uso del software RapidMiner. Por último, los resultados obtenidos serán plasmados en una matriz de confusión que nos permitirá que sean valorados correctamente. ABSTRACT. Being able to classify the applications that generate the traffic flows in an Internet network allows companies and organisms to implement efficient resource management policies such as prohibition of specific applications or prioritization of certain application traffic, looking for an optimization of the available bandwidth. The proliferation of new applications and new technics in the last years has made it more difficult to use well-known values assigned by the IANA (Internet Assigned Numbers Authority), like UDP and TCP ports, to identify the traffic. Also, P2P networks and data encapsulation over HTTP and HTTPS traffic has increased the necessity to improve these traffic analysis technics. The aim of this project is to develop a number of techniques that make us able to classify the traffic with more than the simple observation of the well-known ports. There are some proposals that have been created to cover this necessity; Deep Packet Inspection (DPI) tries to find signatures in the packets reading the information contained in them, the payload, looking for patterns that can be used to characterize the applications to which that traffic belongs; Machine Learning procedures work with statistical analysis of the flows, trying to generate an automatic process that learns from those statistical parameters and calculate the likelihood of a flow pertaining to a certain application; Heuristic Techniques, finally, are based in the intuition or the knowledge of the researcher himself about the traffic being analyzed that can help him to characterize the traffic. Specifically, the use of some of the techniques previously mentioned in combination with data mining technics such as Principal Component Analysis (PCA) and Clustering (grouping) of the flows extracted from network traffic captures are proposed. An iterative process based in success and failure will be needed to configure these data mining techniques looking for a reliable traffic classification. The perfect result would be the one in which the traffic flows of each application is grouped correctly in each cluster or in clusters that contain group of applications of similar nature. To do this, network traffic captures will be created in a controlled environment in which every capture is classified and known to pertain to a specific application. Then, for each capture, all the flows will be extracted. These flows will be used to extract from them information such as date and arrival time or the IP length of the packets inside them. This information will be then loaded to a MySQL database where all the packets defining a flow will be classified and also, each flow will be assigned to its specific application. All the information obtained from the packets will be used to generate statistical parameters in order to describe each flow in the best possible way. After that, data mining techniques previously mentioned (PCA and Clustering) will be used on these parameters making use of the software RapidMiner. Finally, the results obtained from the data mining will be compared with the real classification of the flows that can be obtained from the database. A Confusion Matrix will be used for the comparison, letting us measure the veracity of the developed classification process.
Resumo:
Las metodologías de desarrollo ágiles han sufrido un gran auge en entornos industriales durante los últimos años debido a la rapidez y fiabilidad de los procesos de desarrollo que proponen. La filosofía DevOps y específicamente las metodologías derivadas de ella como Continuous Delivery o Continuous Deployment promueven la gestión completamente automatizada del ciclo de vida de las aplicaciones, desde el código fuente a las aplicaciones ejecutándose en entornos de producción. La automatización se ve como un medio para producir procesos repetibles, fiables y rápidos. Sin embargo, no todas las partes de las metodologías Continuous están completamente automatizadas. En particular, la gestión de la configuración de los parámetros de ejecución es un problema que ha sido acrecentado por la elasticidad y escalabilidad que proporcionan las tecnologías de computación en la nube. La mayoría de las herramientas de despliegue actuales pueden automatizar el despliegue de la configuración de parámetros de ejecución, pero no ofrecen soporte a la hora de fijar esos parámetros o de validar los ficheros que despliegan, principalmente debido al gran abanico de opciones de configuración y el hecho de que el valor de muchos de esos parámetros es fijado en base a preferencias expresadas por el usuario. Esto hecho hace que pueda parecer que cualquier solución al problema debe estar ajustada a una aplicación específica en lugar de ofrecer una solución general. Con el objetivo de solucionar este problema, propongo un modelo de configuración que puede ser inferido a partir de instancias de configuración existentes y que puede reflejar las preferencias de los usuarios para ser usado para facilitar los procesos de configuración. El modelo de configuración puede ser usado como la base de un proceso de configuración interactivo capaz de guiar a un operador humano a través de la configuración de una aplicación para su despliegue en un entorno determinado o para detectar cambios de configuración automáticamente y producir una configuración válida que se ajuste a esos cambios. Además, el modelo de configuración debería ser gestionado como si se tratase de cualquier otro artefacto software y debería ser incorporado a las prácticas de gestión habituales. Por eso también propongo un modelo de gestión de servicios que incluya información relativa a la configuración de parámetros de ejecución y que además es capaz de describir y gestionar propuestas arquitectónicas actuales tales como los arquitecturas de microservicios. ABSTRACT Agile development methodologies have risen in popularity within the industry in recent years due to the speed and reliability of the processes they propose. The DevOps philosophy and specifically the methodologies derived from it such as Continuous Delivery and Continuous Deployment push for a totally automated management of the application lifecycle, from the source code to the software running in production environment. Automation in this regard is used as a means to produce repeatable, reliable and fast processes. However, not all parts of the Continuous methodologies are completely automatized. In particular, management of runtime parameter configuration is a problem that has increased its impact in deployment process due to the scalability and elasticity provided by cloud technologies. Most deployment tools nowadays can automate the deployment of runtime parameter configuration, but they offer no support for parameter setting o configuration validation, as the range of different configuration options and the fact that the value of many of those parameters is based on user preference seems to imply that any solution to the problem will have to be tailored to a specific application. With the aim to solve this problem I propose a configuration model that can be inferred from existing configurations and reflect user preferences in order to ease the configuration process. The configuration model can be used as the base of an interactive configuration process capable of guiding a human operator through the configuration of an application for its deployment in a specific environment or to automatically detect configuration changes and produce valid runtime parameter configurations that take into account those changes. Additionally, the configuration model should be managed as any other software artefact and should be incorporated into current management practices. I also propose a service management model that includes the configuration information and that is able to describe and manage current architectural practices such as the microservices architecture.
Resumo:
La dinámica estructural estudia la respuesta de una estructura ante cargas o fenómenos variables en el tiempo. En muchos casos, estos fenómenos requieren realizar análisis paramétricos de la estructura considerando una gran cantidad de configuraciones de diseño o modificaciones de la estructura. Estos cambios, ya sean en fases iniciales de diseño o en fases posteriores de rediseño, alteran las propiedades físicas de la estructura y por tanto del modelo empleado para su análisis, cuyo comportamiento dinámico se modifica en consecuencia. Un caso de estudio de este tipo de modificaciones es la supervisión de la integridad estructural, que trata de identificar la presencia de daño estructural y prever el comportamiento de la estructura tras ese daño, como puede ser la variación del comportamiento dinámico de la estructura debida a una delaminación, la aparición o crecimiento de grieta, la debida a la pérdida de pala sufrida por el motor de un avión en vuelo, o la respuesta dinámica de construcciones civiles como puentes o edificios frente a cargas sísmicas. Si a la complejidad de los análisis dinámicos requeridos en el caso de grandes estructuras se añade la variación de determinados parámetros en busca de una respuesta dinámica determinada o para simular la presencia de daños, resulta necesario la búsqueda de medios de simplificación o aceleración del conjunto de análisis que de otra forma parecen inabordables tanto desde el punto de vista del tiempo de computación, como de la capacidad requerida de almacenamiento y manejo de grandes volúmenes de archivos de datos. En la presente tesis doctoral se han revisado los métodos de reducción de elementos .nitos más habituales para análisis dinámicos de grandes estructuras. Se han comparado los resultados de casos de estudio de los métodos más aptos, para el tipo de estructuras y modificaciones descritas, con los resultados de aplicación de un método de reducción reciente. Entre los primeros están el método de condensación estática de Guyan extendido al caso con amortiguamiento no proporcional y posteriores implementaciones de condensaciones dinámicas en diferentes espacios vectoriales. El método de reducción recientemente presentado se denomina en esta tesis DACMAM (Dynamic Analysis in Complex Modal space Acceleration Method), y consiste en el análisis simplificado que proporciona una solución para la respuesta dinámica de una estructura, calculada en el espacio modal complejo y que admite modificaciones estructurales. El método DACMAM permite seleccionar un número reducido de grados de libertad significativos para la dinámica del fenómeno que se quiere estudiar como son los puntos de aplicación de la carga, localizaciones de los cambios estructurales o puntos donde se quiera conocer la respuesta, de forma que al implementar las modificaciones estructurales, se ejecutan los análisis necesarios sólo de dichos grados de libertad sin pérdida de precisión. El método permite considerar alteraciones de masa, rigidez, amortiguamiento y la adición de nuevos grados de libertad. Teniendo en cuenta la dimensión del conjunto de ecuaciones a resolver, la parametrización de los análisis no sólo resulta posible, sino que es también manejable y controlable gracias a la sencilla implementación del procedimiento para los códigos habituales de cálculo mediante elementos .nitos. En el presente trabajo se muestra la bondad y eficiencia del método en comparación con algunos de los métodos de reducción de grandes modelos estructurales, verificando las diferencias entre sí de los resultados obtenidos y respecto a la respuesta real de la estructura, y comprobando los medios empleados en ellos tanto en tiempo de ejecución como en tamaño de ficheros electrónicos. La influencia de los diversos factores que se tienen en cuenta permite identificar los límites y capacidades de aplicación del método y su exhaustiva comparación con los otros procedimientos. ABSTRACT Structural dynamics studies the response of a structure under loads or phenomena which vary over time. In many cases, these phenomena require the use of parametric analyses taking into consideration several design configurations or modifications of the structure. This is a typical need in an engineering o¢ ce, no matter the structural design is in early or final stages. These changes modify the physical properties of the structure, and therefore, the finite element model to analyse it. A case study, that exempli.es this circumstance, is the structural health monitoring to predict the variation of the dynamical behaviour after damage, such as a delaminated structure, a crack onset or growth, an aircraft that suffers a blade loss event or civil structures (buildings or bridges) under seismic loads. Not only large structures require complex analyses to appropriately acquire an accurate solution, but also the variation of certain parameters. There is a need to simplify the analytical process, in order to bring CPU time, data .les, management of solutions to a reasonable size. In the current doctoral thesis, the most common finite element reduction methods for large structures are reviewed. Results of case studies are compared between a recently proposed method, herein named DACMAM (Dynamic Analysis in Complex Modal space Acceleration Method), and different condensation methods, namely static or Guyan condensation and dynamic condensation in different vectorial spaces. All these methods are suitable for considering non-classical damping. The reduction method DACMAM consist of a structural modification in the complex modal domain which provides a dynamic response solution for the reduced models. This process allows the selection of a few degrees of freedom that are relevant for the dynamic response of the system. These d.o.f. are the load application points, relevant structural points or points in which it is important to know the response. Consequently, an analysis with structural modifications implies only the calculation of the dynamic response of the selected degrees of freedom added, but with no loss of information. Therefore, mass, stiffness or damping modifications are easily considered as well as new degrees of freedom. Taking into account the size of the equations to be solved, the parameterization of the dynamic solutions is not only possible, but also manageable and controllable due to the easy implementation of the procedure in the standard finite element solvers. In this thesis, the proposed reduction method for large structural models is compared with other published model order reduction methods. The comparison shows and underlines the efficiency of the new method, and veri.es the differences in the response when compared with the response of the full model. The CPU time, the data files and the scope of the parameterization are also addressed.
Resumo:
Este proyecto fin de grado presenta dos herramientas, Papify y Papify-Viewer, para medir y visualizar, respectivamente, las prestaciones a bajo nivel de especificaciones RVC-CAL basándose en eventos hardware. RVC-CAL es un lenguaje de flujo de datos estandarizado por MPEG y utilizado para definir herramientas relacionadas con la codificación de vídeo. La estructura de los programas descritos en RVC-CAL se basa en unidades funcionales llamadas actores, que a su vez se subdividen en funciones o procedimientos llamados acciones. ORCC (Open RVC-CAL Compiler) es un compilador de código abierto que utiliza como entrada descripciones RVC-CAL y genera a partir de ellas código fuente en un lenguaje dado, como por ejemplo C. Internamente, el compilador ORCC se divide en tres etapas distinguibles: front-end, middle-end y back-end. La implementación de Papify consiste en modificar la etapa del back-end del compilador, encargada de la generación de código, de modo tal que los actores, al ser traducidos a lenguaje C, queden instrumentados con PAPI (Performance Application Programing Interface), una herramienta utilizada como interfaz a los registros contadores de rendimiento (PMC) de los procesadores. Además, también se modifica el front-end para permitir identificar cierto tipo de anotaciones en las descripciones RVC-CAL, utilizadas para que el diseñador pueda indicar qué actores o acciones en particular se desean analizar. Los actores instrumentados, además de conservar su funcionalidad original, generan una serie de ficheros que contienen datos sobre los distintos eventos hardware que suceden a lo largo de su ejecución. Los eventos incluidos en estos ficheros son configurables dentro de las anotaciones previamente mencionadas. La segunda herramienta, Papify-Viewer, utiliza los datos generados por Papify y los procesa, obteniendo una representación visual de la información a dos niveles: por un lado, representa cronológicamente la ejecución de la aplicación, distinguiendo cada uno de los actores a lo largo de la misma. Por otro lado, genera estadísticas sobre la cantidad de eventos disparados por acción, actor o núcleo de ejecución y las representa mediante gráficos de barra. Ambas herramientas pueden ser utilizadas en conjunto para verificar el funcionamiento del programa, balancear la carga de los actores o la distribución por núcleos de los mismos, mejorar el rendimiento y diagnosticar problemas. ABSTRACT. This diploma project presents two tools, Papify and Papify-Viewer, used to measure and visualize the low level performance of RVC-CAL specifications based on hardware events. RVC-CAL is a dataflow language standardized by MPEG which is used to define video codec tools. The structure of the applications described in RVC-CAL is based on functional units called actors, which are in turn divided into smaller procedures called actions. ORCC (Open RVC-CAL Compiler) is an open-source compiler capable of transforming RVC-CAL descriptions into source code in a given language, such as C. Internally, the compiler is divided into three distinguishable stages: front-end, middle-end and back-end. Papify’s implementation consists of modifying the compiler’s back-end stage, which is responsible for generating the final source code, so that translated actors in C code are now instrumented with PAPI (Performance Application Programming Interface), a tool that provides an interface to the microprocessor’s performance monitoring counters (PMC). In addition, the front-end is also modified in such a way that allows identification of a certain type of annotations in the RVC-CAL descriptions, allowing the designer to set the actors or actions to be included in the measurement. Besides preserving their initial behavior, the instrumented actors will also generate a set of files containing data about the different events triggered throughout the program’s execution. The events included in these files can be configured inside the previously mentioned annotations. The second tool, Papify-Viewer, makes use of the files generated by Papify to process them and provide a visual representation of the information in two different ways: on one hand, a chronological representation of the application’s execution where each actor has its own timeline. On the other hand, statistical information is generated about the amount of triggered events per action, actor or core. Both tools can be used together to assert the normal functioning of the program, balance the load between actors or cores, improve performance and identify problems.