199 resultados para Ficheros
Resumo:
Nowadays the stress is a frequent problem in the society. The level of stress could be important in order to recognise health problems later. Electrocardiogram technics allows to supervise the heart condition and the detection of anomalies about the patient. Sometimes the data collection systems by sensors placed on the patient restrict his mobility. Therefore the elimination of wires is a good solution for this trouble. Then the Bluetooth protocol is chosen as way for transmitting and receive data between stations. There are three ECG sensors placed on the right hand, the left hand and the right leg. It is possible to measure the heart signal with this technique. Besides there is an extra sensor in order to measure the temperature of the patient. Depending of the value of these parameters is possible to recognise stress levels. All sensors are connected to a special box with a microcontroller which treat every signal. This module has a Bluetooth part that transmitts wireless the new digital signal to the receiver. This one will be a dongle connected to the computer by Serial Port. A program in the computer has been implemented in order to receive the Bluetooth Data sent from the box and saving the data in a file for subsequent activities. El objetivo principal de este proyecto es el estudio de parámetros como la temperatura corporal y las señales de electrocardiograma para el diagnóstico del estrés. Existen varios estudios que relacionan estos parámetros y sus niveles con posibles casos de estrés y ansiedad. Para este fin usamos unos sensores colocados en el brazo derecho, brazo izquierdo y pierna izquierda. Esto forma el Eindhoven Triangle, que es conocido por dar una señal de electrocardiograma. A su vez también tendremos un sensor de temperatura colocado en un dedo de la mano para medir los grados a los que está el cuerpo en ese momento y así poder detectar ciertas anomalías. Estos sensores están conectados a un modulo que trata las señales analógicas recogidas, las une, y digitaliza para que el modulo transmisor pueda enviar via Bluetooth los datos hacia un receptor colocado en un área cercana. En el módulo hay una electrónica que ayuda a resolver problemas importantes como ruido o interferencias. Este receptor está conectado a un ordenador en el cual he desarrollado una aplicación que implementa el protocolo HCI y cuya funcionalidad es recoger los datos recibidos. Este programa es capaz de crear y gestionar conexiones Bluetooth entre dispositivos. El programa está preparado para que si las conexiones se cortan, se traten en la medida de lo posible los datos recogidos. Los datos se interpretarán y guardarán en un fichero .bin para posteriores usos, como graficaciones y análisis de parámetros. El programa está enteramente hecho en lenguaje Java y tiene un mecanismo de eventos que se activa cada vez que hay datos en el receptor, los recoge y los procesa con el fin de darles un trato posteriormente. Se eligió el formato .bin para los ficheros debido a su pequeño tamaño, ya que aunque sean más laboriosos de usar es mucho más eficiente que un .txt, que en este caso podría ocupar varios megabytes.
Resumo:
El presente proyecto final de carrera titulado “Modelado de alto nivel con SystemC” tiene como objetivo principal el modelado de algunos módulos de un codificador de vídeo MPEG-2 utilizando el lenguaje de descripción de sistemas igitales SystemC con un nivel de abstracción TLM o Transaction Level Modeling. SystemC es un lenguaje de descripción de sistemas digitales basado en C++. En él hay un conjunto de rutinas y librerías que implementan tipos de datos, estructuras y procesos especiales para el modelado de sistemas digitales. Su descripción se puede consultar en [GLMS02] El nivel de abstracción TLM se caracteriza por separar la comunicación entre los módulos de su funcionalidad. Este nivel de abstracción hace un mayor énfasis en la funcionalidad de la comunicación entre los módulos (de donde a donde van datos) que la implementación exacta de la misma. En los documentos [RSPF] y [HG] se describen el TLM y un ejemplo de implementación. La arquitectura del modelo se basa en el codificador MVIP-2 descrito en [Gar04], de dicho modelo, los módulos implementados son: · IVIDEOH: módulo que realiza un filtrado del vídeo de entrada en la dimensión horizontal y guarda en memoria el video filtrado. · IVIDEOV: módulo que lee de la memoria el vídeo filtrado por IVIDEOH, realiza el filtrado en la dimensión horizontal y escribe el video filtrado en memoria. · DCT: módulo que lee el video filtrado por IVIDEOV, hace la transformada discreta del coseno y guarda el vídeo transformado en la memoria. · QUANT: módulo que lee el video transformado por DCT, lo cuantifica y guarda el resultado en la memoria. · IQUANT: módulo que lee el video cuantificado por QUANT, realiza la cuantificación inversa y guarda el resultado en memoria. · IDCT: módulo que lee el video procesado por IQUANT, realiza la transformada inversa del coseno y guarda el resultado en memoria. · IMEM: módulo que hace de interfaz entre los módulos anteriores y la memoria. Gestiona las peticiones simultáneas de acceso a la memoria y asegura el acceso exclusivo a la memoria en cada instante de tiempo. Todos estos módulos aparecen en gris en la siguiente figura en la que se muestra la arquitectura del modelo: Figura 1. Arquitectura del modelo (VER PDF DEL PFC) En figura también aparecen unos módulos en blanco, dichos módulos son de pruebas y se han añadido para realizar simulaciones y probar los módulos del modelo: · CAMARA: módulo que simula una cámara en blanco y negro, lee la luminancia de un fichero de vídeo y lo envía al modelo a través de una FIFO. · FIFO: hace de interfaz entre la cámara y el modelo, guarda los datos que envía la cámara hasta que IVIDEOH los lee. · CONTROL: módulo que se encarga de controlar los módulos que procesan el vídeo, estos le indican cuando terminan de procesar un frame de vídeo y este módulo se encarga de iniciar los módulos que sean necesarios para seguir con la codificación. Este módulo se encarga del correcto secuenciamiento de los módulos procesadores de vídeo. · RAM: módulo que simula una memoria RAM, incluye un retardo programable en el acceso. Para las pruebas también se han generado ficheros de vídeo con el resultado de cada módulo procesador de vídeo, ficheros con mensajes y un fichero de trazas en el que se muestra el secuenciamiento de los procesadores. Como resultado del trabajo en el presente PFC se puede concluir que SystemC permite el modelado de sistemas digitales con bastante sencillez (hace falta conocimientos previos de C++ y programación orientada objetos) y permite la realización de modelos con un nivel de abstracción mayor a RTL, el habitual en Verilog y VHDL, en el caso del presente PFC, el TLM. ABSTRACT This final career project titled “High level modeling with SystemC” have as main objective the modeling of some of the modules of an MPEG-2 video coder using the SystemC digital systems description language at the TLM or Transaction Level Modeling abstraction level. SystemC is a digital systems description language based in C++. It contains routines and libraries that define special data types, structures and process to model digital systems. There is a complete description of the SystemC language in the document [GLMS02]. The main characteristic of TLM abstraction level is that it separates the communication among modules of their functionality. This abstraction level puts a higher emphasis in the functionality of the communication (from where to where the data go) than the exact implementation of it. The TLM and an example are described in the documents [RSPF] and [HG]. The architecture of the model is based in the MVIP-2 video coder (described in the document [Gar04]) The modeled modules are: · IVIDEOH: module that filter the video input in the horizontal dimension. It saves the filtered video in the memory. · IVIDEOV: module that read the IVIDEOH filtered video, filter it in the vertical dimension and save the filtered video in the memory. · DCT: module that read the IVIDEOV filtered video, do the discrete cosine transform and save the transformed video in the memory. · QUANT: module that read the DCT transformed video, quantify it and save the quantified video in the memory. · IQUANT: module that read the QUANT processed video, do the inverse quantification and save the result in the memory. · IDCT: module that read the IQUANT processed video, do the inverse cosine transform and save the result in the memory. · IMEM: this module is the interface between the modules described previously and the memory. It manage the simultaneous accesses to the memory and ensure an unique access at each instant of time All this modules are included in grey in the following figure (SEE PDF OF PFC). This figure shows the architecture of the model: Figure 1. Architecture of the model This figure also includes other modules in white, these modules have been added to the model in order to simulate and prove the modules of the model: · CAMARA: simulates a black and white video camera, it reads the luminance of a video file and sends it to the model through a FIFO. · FIFO: is the interface between the camera and the model, it saves the video data sent by the camera until the IVIDEOH module reads it. · CONTROL: controls the modules that process the video. These modules indicate the CONTROL module when they have finished the processing of a video frame. The CONTROL module, then, init the necessary modules to continue with the video coding. This module is responsible of the right sequence of the video processing modules. · RAM: it simulates a RAM memory; it also simulates a programmable delay in the access to the memory. It has been generated video files, text files and a trace file to check the correct function of the model. The trace file shows the sequence of the video processing modules. As a result of the present final career project, it can be deduced that it is quite easy to model digital systems with SystemC (it is only needed previous knowledge of C++ and object oriented programming) and it also allow the modeling with a level of abstraction higher than the RTL used in Verilog and VHDL, in the case of the present final career project, the TLM.
Resumo:
El mundo tecnológico está cambiando hacia la optimización en la gestión de recursos gracias a la poderosa influencia de tecnologías como la virtualización y la computación en la nube (Cloud Computing). En esta memoria se realiza un acercamiento a las mismas, desde las causas que las motivaron hasta sus últimas tendencias, pasando por la identificación de sus principales características, ventajas e inconvenientes. Por otro lado, el Hogar Digital es ya una realidad para la mayoría de los seres humanos. En él se dispone de acceso a múltiples tipos de redes de telecomunicaciones (3G, 4G, WI-FI, ADSL…) con más o menos capacidad pero que permiten conexiones a internet desde cualquier parte, en todo momento, y con prácticamente cualquier dispositivo (ordenadores personales, smartphones, tabletas, televisores…). Esto es aprovechado por las empresas para ofrecer todo tipo de servicios. Algunos de estos servicios están basados en el cloud computing sobre todo ofreciendo almacenamiento en la nube a aquellos dispositivos con capacidad reducida, como son los smarthphones y las tabletas. Ese espacio de almacenamiento normalmente está en los servidores bajo el control de grandes compañías. Guardar documentos, videos, fotos privadas sin tener la certeza de que estos no son consultados por alguien sin consentimiento, puede despertar en el usuario cierto recelo. Para estos usuarios que desean control sobre su intimidad, se ofrece la posibilidad de que sea el propio usuario el que monte sus propios servidores y su propio servicio cloud para compartir su información privada sólo con sus familiares y amigos o con cualquiera al que le dé permiso. Durante el proyecto se han comparado diversas soluciones, la mayoría de código abierto y de libre distribución, que permiten desplegar como mínimo un servicio de almacenamiento accesible a través de Internet. Algunas de ellas lo complementan con servicios de streaming tanto de música como de videos, compartición y sincronización de documentos entre múltiples dispositivos, calendarios, copias de respaldo (backups), virtualización de escritorios, versionado de ficheros, chats, etc. El proyecto finaliza con una demostración de cómo utilizar dispositivos de un hogar digital interactuando con un servidor Cloud, en el que previamente se ha instalado y configurado una de las soluciones comparadas. Este servidor quedará empaquetado en una máquina virtual para que sea fácilmente transportable e utilizable. ABSTRACT. The technological world is changing towards optimizing resource management thanks to the powerful influence of technologies such as Virtualization and Cloud Computing. This document presents a closer approach to them, from the causes that have motivated to their last trends, as well as showing their main features, advantages and disadvantages. In addition, the Digital Home is a reality for most humans. It provides access to multiple types of telecommunication networks (3G, 4G, WI-FI, ADSL...) with more or less capacity, allowing Internet connections from anywhere, at any time, and with virtually any device (computer personal smartphones, tablets, televisions...).This is used by companies to provide all kinds of services. Some of these services offer storage on the cloud to devices with limited capacity, such as smartphones and tablets. That is normally storage space on servers under the control of important companies. Saving private documents, videos, photos, without being sure that they are not viewed by anyone without consent, can wake up suspicions in some users. For those users who want control over their privacy, it offers the possibility that it is the user himself to mount his own server and its own cloud service to share private information only with family and friends or with anyone with consent. During the project I have compared different solutions, most open source and with GNU licenses, for deploying one storage facility accessible via the Internet. Some supplement include streaming services of music , videos or photos, sharing and syncing documents across multiple devices, calendars, backups, desktop virtualization, file versioning, chats... The project ends with a demonstration of how to use our digital home devices interacting with a cloud server where one of the solutions compared is installed and configured. This server will be packaged in a virtual machine to be easily transportable and usable.
Resumo:
FTTH (fibra hasta el hogar) es actualmente, junto con la banda ancha móvil, la principal evolución tecnológica en Redes y Servicios de Telecomunicaciones. Se prevé que en los próximos años, el despliegue de las redes FTTH se vea incrementado de manera significativa, gracias al interés creciente tanto de Operadores de Telecomunicaciones como de Organismos Gubernamentales. Este despliegue (que en el año 2013 ya se está haciendo realidad) llevará servicios de muy alta velocidad (superiores a 100 Mbps, incluso 1 Gbps) de manera masiva a los hogares, exigiendo nuevos requisitos y prestaciones en la red del hogar de los clientes. Se abre aquí, por tanto, un campo de exploración novedoso, incipiente y de requerimientos cada vez más exigentes. De hecho, sin duda, la red del hogar es uno de los elementos fundamentales para el éxito de las redes y servicios en FTTH. Debido a todo lo anterior, se convierte en una necesidad para el sector de las Telecomunicaciones el encontrar soluciones a los problemas anteriormente mencionados. Con objeto de contribuir al análisis de soluciones, este proyecto se enfoca en dos temas, ambos relacionados con la problemática ya mencionada en la red del hogar: Prospección e identificación de soluciones tecnológicas avanzadas para la red del hogar. Descrito en capítulos 2, 3 y 4. En ellos se realiza un estudio detallado de la situación actual y tendencias futuras de los dispositivos utilizados en la red del hogar. Este estudio está enfocado en la distribución de señales de muy alto ancho de banda (en torno a los 100 Mbps por segundo) en el hogar. Diseño y desarrollo de una aplicación que permita determinar la calidad de experiencia de cliente (QoE) de un servicio de televisión IP (IPTV). Descrito en capítulos 5 y 6. Se ha seleccionado este tipo de servicios debido a que son los que requieren mayores prestaciones tanto de la red de transporte como de la red del hogar y, al mismo tiempo, son los más complicados de medir debido a la fuerte componente de subjetividad del usuario final. Una red del hogar correctamente diseñada debe cumplir de manera equilibrada los requisitos demandados tanto por el operador como por el cliente o usuario final del servicio. Los requisitos del operador se centran principalmente en el control de la inversión (CAPEX) y del gasto de mantenimiento de la red del hogar (OPEX). El usuario, por otra parte, requiere sencillez en la instalación y mínimo número de elementos a instalar (cero intrusismo, ausencia de cableado). Para adaptarse a estos requerimientos, existe una serie de dispositivos y tecnologías que buscan encontrar el punto de equilibrio entre necesidades de operadores y de clientes finales. Las soluciones actualmente utilizadas pueden dividirse en soluciones cableadas e inalámbricas. También existen soluciones híbridas. Todas ellas se describen en detalle en los capítulos 3 y 4. Al final del estudio se concluye que, con la tecnología actual, es preferible el uso de soluciones cableadas tipo Ethernet o POF. Es recomendable no usar soluciones PLC de manera extensiva (G.hn puede ser una alternativa a futuro) y, en caso de no requerir cableado, utilizar WiFi 11n con frecuencias de 5 GHz, así como sus evoluciones, WiFi 11ac y 11ad. La aplicación desarrollada, explicada en los capítulos 5 y 6, permite capturar y medir en tiempo real la señal de televisión IP que se entrega al usuario. Esta aplicación estimará, a partir de dichas medidas, la calidad de la señal entregada. Para ello tendrá en cuenta el tipo de descodificador utilizado por el usuario así como la red empleada (red FTTH de Telefónica). Esta aplicación podría ser utilizada en los centros de atención técnica de las operadoras de telecomunicaciones, determinando así la relación existente entre reclamaciones recibidas y calidad de servicio medida por la aplicación. Asimismo, aparte de realizar medidas en tiempo real, la aplicación vuelca las medidas realizadas y alarmas detectadas en ficheros log, facilitando el análisis técnico de los problemas e incidencias registrados por dichos centros técnicos. Igualmente, esta aplicación puede ser utilizada para el proceso de certificación de equipamiento de red del hogar o incluso como herramienta para profundizar en parámetros teóricos y criterios de medida de calidad de servicio en IPTV. ABSTRACT. FTTH (Fiber To The Home) and mobile broadband are currently the main technological trend in the Network and Telecommunications Services area. In the next few years, the deployment of FTTH networks will experiment a significant increase, due to the growing interest of both telecommunications operators and government agencies. This deployment (that is becoming a reality) which will massively carry high-speed services to households (speeds of more than 100 Mbps, even 1 Gbps) will demand new requirements and features in the customer’s home network. It can be found here a new and emerging field of exploration, with increasingly demanding requirements. In fact, the home network is one of the key elements for the success of FTTH network and services. Due to the aforementioned, it is a necessity for the telecommunications industry to find solutions to these problems. In order to contribute into the solution analysis, this project focuses on two subjects, both related to the problems of home networking: Exploratory research and identification of advanced technology solutions for the home network. Described in chapters 2, 3 and 4. These chapters show a detailed study of the current situation and future trends of the devices used at the home network. It focuses on the distribution of very high bandwidth signals (around 100 Mbps per second) in the customer’s home. Design and development of an application to evaluate customer’s quality of experience (QoE) of an IP television service (IPTV). Described in chapters 5 and 6. IPTV service has been selected because it requires higher performance both from the transport and the home networks and, at the same time, it is the most difficult to measure due to the strong component of subjectivity of the end user. A correct design of the home network must meet the requirements demanded both by the network operator and the customer (end user of the service). Network operator requirements mainly focus on reduced capital expenditures (CAPEX) and operational expenditures (OPEX). Additionally, the final user requires a simple and easy installation and also the minimum number of items to install (zero intrusion, lack of wiring, etc.). Different devices and technologies seek to find a balance between these two requirements (network operators and final users requirements). Solutions available in the market can be divided into wired and wireless. There are also hybrid solutions. All of them are described thoroughly in the first part of the project. The conclusion at the end of the study recommends the use of wired technologies like Ethernet or POF. Additionally, the use of PLC is not advised (G.hn can be an alternative in the future) and, in the case of not requiring wiring, the use of 11ac and 11ad WiFi is advised. The application developed in the second part of the project allows capturing and measuring the real-time IPTV signal delivered to the user. This application will estimate the delivered signal quality from the captured measurements. For this purpose, it will also consider the type of decoder installed on the customer’s premises and the transport network (Telefonica’s FTTH network). This application could be used at the operator’s technical service centres, determining in this way the relationship between user’s complaints and the quality of service measured. Additionally, this application can write all the measurements and alarms in log files, making easier the technical analysis of problems and impairments recorded by the technical centres. Finally, the application can also be used for the certification process of home networking equipment (i.e. decoders) or even as a tool to deepen theoretical parameters and measuring criteria of quality of service in IPTV.
Resumo:
El planteamiento inicial era proveer al individuo invidente de un sistema autónomo capaz de guiarle según sus preferencias. El resultado obtenido al finalizar este proyecto ha sido un dispositivo autónomo configurable por el usuario mediante una aplicación sw , desarrollada en la plataforma móvil Android capaz de comunicarse con el dispositivo autónomo(móvil personal). La idea de utilizar como plataforma de desarrollo sw Android, se basó fundamentalmente en que es código open source, es gratuito y está presente en el 70 por ciento de los móviles de Europa. La idea inicial era que ambos hubieran sido integrados en un mismo dispositivo, pero una vez comenzado el proyecto y habiendo evaluado los hábitos actuales, decidimos adaptar la idea general del proyecto, a nuestros días. Para ello hicimos uso del dispositivo móvil más usado hoy en día, como es nuestros teléfonos móviles, o más bien los llamado Smartphone, con los cuales podemos desde su aplicación originaria que es llamar, hasta realizar multitud de operaciones al mismo tiempo como puede ser comunicación por internet, posicionamiento via GPS, intercambio de ficheros por bluetooth… tantas como podamos programar. Sobre este último atributo, intercambio de información a través de bluetooth, es la interfaz que vamos a aprovechar para la realización de nuestro proyecto. Hoy en día el 90% de los Smartphone tiene entre sus características de conectividad la posibilidad de intercambiar información vía bluetooth. Una vez se tiene resuelto el interfaz entre el medio y el usuario se debe solucionar la forma de transformar la información para que los dispositivos móviles recojan la información y sepan discernir entre la información importante y la que no lo es. Para ello hemos desarrollado una tarjeta configurable, con un módulo bluetooth comercial para enviar la información. El resultado final de esta tarjeta proporciona una manera fácil de configurar diferentes mensajes que serán utilizados según la situación. ABSTRACT The initial approach consisted of a system that shows the way for blind people to get somewhere or something or provide to them important information, an autonomous system able to guide to their preference. After several analyses the project accomplish is a standalone device configurable by the user via an application sw, developed in Android mobile platform capable of communicating with the standalone device (personal cell phone). The decision of using the sw development platform of Android was due to the open source code concept and the great extent of presence on 70 percent of European mobiles. The first idea was that the sw and the device were integrated into a single device, but once the project had been started and having assessed the current habits, it has changed to be adapted to the present technology to get a better usability on the present-day. To achieve the project goals the most used mobile device today was used, our mobile phones, or rather called Smartphone, which you could use to phone your mother or perform many operations simultaneously such as communication online, positioning via GPS, bluetooth file trading program, etc. On this last attribute, information sharing via bluetooth, is the interface that it has been taken to complete the project. Today 90% of the Smartphone include in its connectivity features the ability to exchange information via bluetooth. Once that it was solved the interface between the environment and the final user, the next step incorporates the transformation of the information that the mobile devices collect from the environment to discern between the information the user configure to be notified or not. The hardware device that makes it possible is a configurable card with a bluetooth module that is able to send the information. The final result of this card provides an easy way to configure different messages, that we could use depending of the situation.
Resumo:
Con este proyecto se ha desarrollado una guía introductoria a uno de los aspectos más complejos y especializados de Blender, que es el control de su motor de videojuegos mediante programas escritos en Python. Está orientado a lectores que tienen un conocimiento amplio sobre el manejo de Blender, su interfaz y el funcionamiento de sus diferentes elementos, así como una mínima experiencia en cuanto a programación. Se ha organizado en una parte descriptiva, centrada en el lenguaje Python y en las bases de su uso para programar el motor de videojuegos (Game Engine) de Blender, y otra de práctica guiada, que constituye la mayoría del proyecto, donde se estudian de manera progresiva ejemplos concretos de uso del mismo. En la parte descriptiva se ha tratado tanto el funcionamiento más básico del lenguaje Python, especialmente las características que difieren de otros lenguajes de programación tradicionales, como su relación con Blender en particular, explicando las diferentes partes de la API de Blender para Python, y las posibles estrategias de uso. La parte práctica guiada, dado que esta interacción entre Blender y Python ofrece un rango de posibilidades muy amplio, se ha centrado en tres áreas concretas que han sido investigadas en profundidad: el control del objeto protagonista, de la cámara y la implementación de un mapa de orientación. Todas ellas se han centrado en torno a un ejemplo común, que consiste en un videojuego muy básico, y que, gracias a los ficheros de Blender que acompañan a esta memoria, sirve para apoyar las explicaciones y poder probar su efecto directamente. Por una parte, estos tres aspectos prácticos se han explicado exhaustivamente, y se han llevado hasta un nivel relativamente alto. Asimismo se han intentado minimizar las dependencias, tanto entre ellos como con la escena que se ha usado como ejemplo, de manera que sea sencillo usar los programas generados en otras aplicaciones. Por otra, la mayoría de los problemas que ha sido necesario resolver durante el desarrollo no son específicos de ninguna de las tres áreas, sino que son de carácter general, por lo que sus explicaciones podrán usarse al afrontar otras situaciones. ABSTRACT. This Thesis consists of an introductory guide to one of the most complex and specific parts of Blender, which is the control of its game engine by means of programs coded in Python. The dissertation is orientated towards readers who have a good knowledge of Blender, its interface and how its different systems work, as well as basic programming skills. The document is composed of two main sections, the first one containing a description of Python’s basics and its usage within Blender, and the second consisting of three practical examples of interaction between them, guided and explained step by step. On the first section, the fundamentals of Python have been covered in the first place, focusing on the characteristics that distinguish it from other programming languages. Then, Blender’s API for Python has also been introduced, explaining its different parts and the ways it can be used in. Since the interaction between Blender and Python offers a wide range of possibilities, the practical section has been centered on three particular areas. Each one of the following sections has been deeply covered: how to control the main character object, how to control the camera, and how to implement and control a mini-map. Furthermore, a demonstrative videogame has been generated for the reader to be able to directly test the effect of what is explained in each section. On the one hand, these three practical topics have been thoroughly explained, starting from the basis and gradually taking them to a relatively advanced level. The dependences among them, or between them and the demonstrative videogame, have been minimised so that the scripts or ideas can be easily used within other applications. On the other hand, most of the problems that have been addressed are not exclusively related to these areas, but will most likely appear in different situations, thus enlarging the field in which this Thesis can be used.
Resumo:
A día de hoy, XML (Extensible Markup Language) es uno de los formatos más utilizados para el intercambio y almacenamiento de información estructurada en la World Wide Web. Es habitual que las aplicaciones que utilizan archivos XML presupongan en ellos una estructura determinada, pudiendo producirse errores si se intentase emplear documentos que no la cumplan. A fin de poder expresar este tipo de limitaciones y poder verificar que un documento las cumple, se definió en el mismo estándar XML el DTD, si bien pronto se mostró bastante limitado en cuanto a su capacidad expresiva. Es por este motivo que se decidió crear el XML Schema, un lenguaje XML para definir qué estructura deben tener otros documentos XML. Contar con un esquema tiene múltiples ventajas, siendo la principal de ellas el poder validar documentos contra él para comprobar si su estructura es correcta u otras como la generación automática de código. Sin embargo, definir una estructura común a varios documentos XML de una manera óptima puede convertirse en una tarea ardua si se hace de manera manual. Este problema puede salvarse contando con una herramienta que automatice el proceso de creación de dichos XSDs. En este proyecto, desarrollaremos una herramienta en Java que, a partir de una serie de documentos XML de entrada, inferirá automáticamente un esquema contra el que validen todos ellos, expresando su estructura de manera completa y concisa. Dicha herramienta permitirá elegir varios parámetros de inferencia, a fin de que el esquema generado se adapte lo más posible a los propósitos del usuario. Esta herramienta generará también una serie de estadísticas adicionales, que permitirán conocer más información sobre los ficheros de entrada.
Resumo:
El presente proyecto propone la creación de un procedimiento y metodología para el diseño de salas y sistemas electroacústicos basados en el software EASE. La sala tipo elegida para el diseño será una sala de cine bajo las premisas de DOLBY Digital. Los sistemas electroacústicos modelo serán: • Sistema distribuido tanto en malla cuadrada como hexagonal • Sistemas centralizados basados en agrupaciones, tanto lineales como circulares. Se establecerán los pasos básicos imprescindibles para el diseño de los sistemas descritos de forma que, con la ayuda de este tutorial y los medios didácticos adjuntos al mismo, se puedan acometer paso a paso las distintas fases de diseño, cálculo y análisis de los mismos. Como metodología de trabajo se acometerá el proceso de diseño de un ejemplo de cada tipo sobre el que se describirán todos los pasos, posibilidades de diseño y cálculo de los mismos. Los puntos de estudio serán: • Diseño de una sala de Cine ◦Importación de los Ficheros Autocad del cine a EASE ◦Dibujo del recinto en EASE ◦Inserción de materiales ◦Cálculo del tiempo de reverberación en función del volumen de la sala ◦Ajuste del tiempo de reverberación ◦Elección de altavoces para la sonorización ◦Comprobación de la uniformidad de campo sonoro en todos los canales ◦Comprobación de los niveles de pico y total por canal ◦Ecualización de la sala según la curva X (ISO-2969) ◦Inclusión de la Pantalla en la curva de ecualización ◦Estudios psicoacústico de la sala. Retardos ◦Inteligibilidad ◦Diagrama de bloques • Diseño de un sistema distribuido ◦Estudio de los diferentes tipos de solapamientos ▪Borde con Borde ▪Solapamiento mínimo ▪Centro con Centro ◦Estudio de los diferente tipos de mallas ▪Cuadrada ▪Hexagonal • Diseño de un sistema Centralizado ◦Sistemas centralizados tipo Linear Array ◦Sistemas centralizados tipo Circular Array Así mismo se estudiarán las diferentes posibilidades dentro de la suite EASE, incluyendo las versiones gratuitas del mismo EASE ADDRESS (sistemas distribuidos) y FOCUS II (sistemas centralizados), comparando sus posibilidades con los módulos comerciales equivalentes de EASE y las herramientas añadidas del mismo EARS (software para la auralización biaural) y AURA (utilidad de análisis extendido). ABSTRACT This project proposes the creation of a procedure and methodology for the design of rooms and electroacoustic systems based on EASE software. The room chosen as example design is a cinema under DOLBY Digital premises. Electroacoustic systems chosen as example are: • Distributed both square and hexagonal mesh • Centralized systems based on clusters, both linear and circular. It will be established the basic essential steps for the design of the systems described so, with this tutorial and attached teaching aids, could be undertaken the various stages of design, calculation and analysis. As a working methodology, the process design of an example will be described of each system on which all the steps described, design possibilities and calculation will be shown. The main points are: • Design of a cinema • Importing Autocad Files in EASE • Drawing with EASE • Materials insertion • Reverberation time based on the room volume • Adjusting reverberation time • Choosing speakers • Checking sound field uniformity in all channels • Checking peak levels and total level per each channel • Room equalization using X curve (ISO-2969) • Adding screen in the EQ • Psychoacoustic. Delays • Intelligibility • Block diagram • Design of a distributed system • Study of the different types of overlap o Edge to Edge o Minimum Overlap o Center to Center • Study of different types of mesh • Square • Hex • Centralized System Design • Centralized systems. Linear Array • Centralized systems. Circular Array It also will explore the different possibilities within the EASE suite, including the free versions of the same EASE ADDRESS (distributed systems) and FOCUS II (centralized), comparing its potential with commercial equivalents EASE modules and added tools EARS (software for biaural auralization) and AURA (utility extended analysis).
Resumo:
El propósito de este proyecto de fin de Grado es el estudio y desarrollo de una aplicación basada en Android que proporcionará soporte y atención a los servicios de transporte público existentes en Cracovia, Polonia. La principal funcionalidad del sistema será consultar la posición de un determinado autobús o tranvía y mostrar su ubicación con exactitud. Para lograr esto, necesitaremos tres fases de desarrollo. En primer lugar, deberemos implementar un sistema que obtenga las coordenadas geográficas de los vehículos de transporte público en cada instante. A continuación, tendremos que registrar todos estos datos y almacenarlos en una base de datos en un servidor web. Por último, desarrollaremos un sistema cliente que realice consultas a tiempo real sobre estos datos almacenados, obteniendo la posición para una línea determinada y mostrando su ubicación con un marcador en el mapa. Para hacer el seguimiento de los vehículos, sería necesario tener acceso a una API pública que nos proporcionase la posición registrada por los GPS que integran cada uno de ellos. Como esta API no existe actualmente para los servicios de autobús, y para los tranvías es de uso meramente privado, desarrollaremos una segunda aplicación en Android que hará las funciones del lado servidor. En ella podremos elegir mediante una simple interfaz el número de línea y un código específico que identificará a cada vehículo en particular (e.g. podemos tener 6 tranvías recorriendo la red al mismo tiempo para la línea 24). Esta aplicación obtendrá las coordenadas geográficas del teléfono móvil, lo cual incluye latitud, longitud y orientación a través del proveedor GPS. De este modo, podremos realizar una simulación de como el sistema funcionará a tiempo real utilizando la aplicación servidora desde dentro de un tranvía o autobús y, al mismo tiempo, utilizando la aplicación cliente haciendo peticiones para mostrar la información de dicho tranvía. El cliente, además, podrá consultar la ruta de cualquier línea sin necesidad de tener acceso a Internet. Almacenaremos las rutas y paradas de cada línea en la memoria del teléfono móvil utilizando ficheros XML debido al poco espacio que ocupan y a lo útil que resulta poder consultar un trayecto en cualquier momento, independientemente del acceso a la red. El usuario también podrá consultar las tablas de horarios oficiales para cada línea. Aunque en este caso si será necesaria una conexión a Internet debido a que se realizará a través de la web oficial de MPK. Para almacenar todas las coordenadas de cada vehículo en cada instante necesitaremos crear una base de datos en un servidor. Esto se resolverá mediante el uso de MYSQL y PHP. Se enviarán peticiones de tipo GET y POST a los servicios PHP que se encargarán de traducir y realizar la consulta correspondiente a la base de datos MYSQL. Por último, gracias a todos los datos recogidos relativos a la posición de los vehículos de transporte público, podremos realizar algunas tareas de análisis. Comparando la hora exacta a la que los vehículos pasaron por cada parada y la hora a la que deberían haber pasado según los horarios oficiales, podremos descubrir fallos en estos. Seremos capaces de determinar si es un error puntual debido a factores externos (atascos, averías,…) o si por el contrario, es algo que ocurre muy a menudo y se debería corregir el horario oficial. ABSTRACT The aim of this final Project (for University) is to develop an Android application thatwill provide support and feedback to the public transport services in Krakow. The main functionality of the system will be to track the position of a desired bus or tram line, and display its position on the map. To achieve this, we will need 3 stages: the first one will be to implement a system that sends the geographical position of the public transport vehicles, the second one will be to collect this data in a web server, and the last one will be to get the last location registered for the desired line and display it on the map. For tracking the vehicles, we would need to have access to a public API that should be connected with each bus/tram GPS. As this doesn’t exist in Krakow or at least is not available for public use, we will develop a second android application that will do the server side job. We will be able to choose in a simple interface the line number and a code letter to identify each vehicle (e.g. we can have 6 trams that belong to the line number 24 working at the same time). It will take the current mobile geolocation; this includes getting latitude, longitude and bearing from the GPS provider. Thus, we will be able to make a simulation of how the system works in real time by using the server app inside a tram and at the same time, using the client app and making requests to display the information of that tram. The client will also be able to check the path of the desired line without internet access. We will store the path and stops for each line locally in the phone memory using xml files due to the few requirements of available space it needs and the usefulness of checking a path when needed. This app will also offer the functionality of checking the timetable for the line, but in this case, it will link to the official Mpk website, so Internet access will be required. For storing all the coordinates for each vehicle at every moment we will need to create a database on a server. We have decided that the easiest way is to use Mysql and PHP for the deployment of the service. We will send GET and POST requests to the php files and those files will make the according queries to our database. Finally, based on all the collected data, we will be able to get some information about errors in the system of public transport timetables. We will check at what time a line was in each specific stop and compare it with the official timetable to find mistakes of time. We will determine if it is something that happens occasionally and related to external factors (e.g. traffic jams, breakdowns…) or if on the other hand, it is something that happens very often and the public transport timetables should be looked over and corrected.
Resumo:
En este proyecto se realiza un estudio sobre herramientas que facilitan la creación y distribución de aplicaciones en distintas plataformas móviles, con el fin de poder seleccionar la herramienta más apropiada en función del proyecto a desarrollar. Previo al estudio de las herramientas para el desarrollo en plataformas múltiples se realiza un estudio de las herramientas y metodologías que facilitan los propietarios de los entornos IOS y Android. Este estudio previo permitirá al lector conocer en más detalle las particularidades de cada uno de estos dos entornos, así como las pautas y buenas prácticas a seguir en el desarrollo de aplicaciones para dispositivos móviles. Una vez finalizado el estudio, el lector sabrá escoger una herramienta de desarrollo adaptada a cada proyecto en función de su objeto, los recursos disponibles y las habilidades de los miembros del equipo de desarrollo. Adicionalmente al estudio, y como ejemplo de aplicación, en el proyecto se realiza un caso práctico de selección de herramienta y aplicación de la herramienta seleccionada a un proyecto de desarrollo concreto. El caso práctico consiste en la creación de un entorno que permite generar aplicaciones para la visualización de apuntes. Las aplicaciones permitirán ver contenidos de tipo multimedia como ficheros de texto, sonidos, imágenes, vídeos y enlaces a contenidos externos. Además estas aplicaciones se generarán sin que el autor de las mismas tenga que modificar alguna de las líneas del código. Para ello, se han definido una serie de ficheros de configuración en los que el autor de la aplicación deberá indicar los contenidos a mostrar y su ubicación. Se han seleccionado recursos de tipo “código abierto” para el desarrollo del caso práctico, con el fin de evitar los costes asociados a las posibles licencias. El equipo de desarrollo del caso práctico estará formado únicamente por el autor de este proyecto de fin de grado, lo que hace del caso de estudio un desarrollo sencillo, de manera que su futuro mantenimiento y escalabilidad no deberían verse afectados por la necesidad de contar con equipos de desarrolladores con conocimientos específicos o complejos. ABSTRACT. This document contains a study of tools that ease the creation and the distribution of the applications through different mobile platforms. The objective o this document is to allow the selection of the most appropriate tool, depending on the development objectives. Previous to this study about the tools for developing on multiple platforms, a study of IOS and Android tools and their methodologies is included on this document. This previous analysis will allow the reader to know in more detail the peculiarities of each of these environments, together with theirs requirements and the best practices of the applications development for mobile devices. By the end of this document the reader would be able to choose the adequate development tool for a project depending of its objective, its available resources and the developers team’s capabilities. Beside this study and as example of case study this final project includes a practical case of tool selection and its application to a specific development. The case study consists in the creation of an environment that allows generating applications to visualise notes. These applications will allow seeing contents of multimedia type such as: text files, sounds, images, videos, and links to external content. Furthermore these applications will be generated without their author having to modify any line of code, because a group of configuration files will be defined for such purpose. The author of the application only has to update this configuration with the content to show by the application and its location. The selected resources for the case study were of the type “open source” in order to avoid the cost associated to the potential licenses. The developers’ team for this case study has only one member, the author of this final project document and practical case developer. As a result the case study is a very simple development in a way that the future potential maintenance and scalability should not depend on the necessity of a highly qualified developers’ teams with a very specific knowledge on mobile platforms development.
Resumo:
El presente proyecto fin de carrera, realizado por el ingeniero técnico en telecomunicaciones Pedro M. Matamala Lucas, es la fase final de desarrollo de un proyecto de mayor magnitud correspondiente al software de vídeo forense SAVID. El propósito del proyecto en su totalidad es la creación de una herramienta informática capacitada para realizar el análisis de ficheros de vídeo, codificados y comprimidos por el sistema DV –Digital Video-. El objetivo del análisis, es aportar información acerca de si la cinta magnética presenta indicios de haber sido manipulada con una edición posterior a su grabación original, además, de mostrar al usuario otros datos de interés como las especificaciones técnicas de la señal de vídeo y audio. Por lo tanto, se facilitará al usuario, analista de vídeo forense, información que le ayude a valorar la originalidad del contenido del soporte que es sujeto del análisis. El objetivo específico de esta fase final, es la creación de la interfaz de usuario del software, que informa tanto del código binario de los sectores significativos, como de su interpretación tras el análisis. También permitirá al usuario el reporte de los resultados, además de otras funcionalidades que le permitan la navegación por los sectores del código que han sido modificados como efecto colateral de la edición de la cinta magnética original. Otro objetivo importante del proyecto ha sido la investigación de metodologías y técnicas de desarrollo de software para su posterior implementación, buscando con esto, una mayor eficiencia en la gestión del tiempo y una mayor calidad de software con el fin de garantizar su evolución y sostenibilidad en el futuro. Se ha hecho hincapié en las metodologías ágiles que han ido ganando relevancia en el sector de las tecnologías de la información en las últimas décadas, sustituyendo a metodologías clásicas como el desarrollo en cascada. Su flexibilidad durante el ciclo de vida del software, permite obtener mejores resultados cuando las especificaciones no están del todo definidas, ajustándose de este modo a las condiciones del proyecto. Resumiendo las especificaciones técnicas del software, C++ es el lenguaje de programación orientado a objetos con el que se ha desarrollado, utilizándose la tecnología MFC -Microsoft Foundation Classes- para la implementación. Es un proyecto MFC de tipo cuadro de dialogo,creado, compilado y publicado, con la herramienta de desarrollo integrado Microsoft Visual Studio 2010. La arquitectura con la que se ha estructurado es la arquetípica de tres capas, compuesta por la interfaz de usuario, capa de negocio y capa de acceso a datos. Se ha visto necesario configurar el proyecto con compatibilidad con CLR –Common Languages Runtime- para poder implementar la funcionalidad de creación de reportes. Acompañando a la aplicación informática, se presenta la memoria del proyecto y sus anexos correspondientes a los documentos EDRF –Especificaciones Detalladas de Requisitos funcionales-, EIU –Especificaciones de Interfaz de Usuario , DT -Diseño Técnico- y Guía de Usuario. SUMMARY. This dissertation, carried out by the telecommunications engineer Pedro M. Matamala Lucas, is in its final stage and is part of a larger project for the software of forensic video called SAVID. The purpose of the entire project is the creation of a software tool capable of analyzing video files that are coded and compressed by the DV -Digital Video- System. The objective of the analysis is to provide information on whether the magnetic tape shows signs of having been tampered with after the editing of the original recording, and also to show the user other relevant data and technical specifications of the video signal and audio. Therefore the user, forensic video analyst, will have information to help assess the originality of the content of the media that is subject to analysis. The specific objective of this final phase is the creation of the user interface of the software that provides information about the binary code of the significant sectors and also its interpretation after analysis. It will also allow the user to report the results, and other features that will allow browsing through the sections of the code that have been modified as a secondary effect of the original magnetic tape being tampered. Another important objective of the project is the investigation of methodologies and software development techniques to be used in deployment, with the aim of greater efficiency in time management and enhanced software quality in order to ensure its development and maintenance in the future. Agile methodologies, which have become important in the field of information technology in recent decades, have been used during the execution of the project, replacing classical methodologies such as Waterfall Development. The flexibility, as the result of using by agile methodologies, during the software life cycle, produces better results when the specifications are not fully defined, thus conforming to the initial conditions of the project. Summarizing the software technical specifications, C + + the programming language – which is object oriented and has been developed using technology MFC- Microsoft Foundation Classes for implementation. It is a project type dialog box, created, compiled and released with the integrated development tool Microsoft Visual Studio 2010. The architecture is structured in three layers: the user interface, business layer and data access layer. It has been necessary to configure the project with the support CLR -Common Languages Runtime – in order to implement the reporting functionality. The software application is submitted with the project report and its annexes to the following documents: Functional Requirements Specifications - Detailed User Interface Specifications, Technical Design and User Guide.
Resumo:
Hoy en día, con la evolución continua y rápida de las tecnologías de la información y los dispositivos de computación, se recogen y almacenan continuamente grandes volúmenes de datos en distintos dominios y a través de diversas aplicaciones del mundo real. La extracción de conocimiento útil de una cantidad tan enorme de datos no se puede realizar habitualmente de forma manual, y requiere el uso de técnicas adecuadas de aprendizaje automático y de minería de datos. La clasificación es una de las técnicas más importantes que ha sido aplicada con éxito a varias áreas. En general, la clasificación se compone de dos pasos principales: en primer lugar, aprender un modelo de clasificación o clasificador a partir de un conjunto de datos de entrenamiento, y en segundo lugar, clasificar las nuevas instancias de datos utilizando el clasificador aprendido. La clasificación es supervisada cuando todas las etiquetas están presentes en los datos de entrenamiento (es decir, datos completamente etiquetados), semi-supervisada cuando sólo algunas etiquetas son conocidas (es decir, datos parcialmente etiquetados), y no supervisada cuando todas las etiquetas están ausentes en los datos de entrenamiento (es decir, datos no etiquetados). Además, aparte de esta taxonomía, el problema de clasificación se puede categorizar en unidimensional o multidimensional en función del número de variables clase, una o más, respectivamente; o también puede ser categorizado en estacionario o cambiante con el tiempo en función de las características de los datos y de la tasa de cambio subyacente. A lo largo de esta tesis, tratamos el problema de clasificación desde tres perspectivas diferentes, a saber, clasificación supervisada multidimensional estacionaria, clasificación semisupervisada unidimensional cambiante con el tiempo, y clasificación supervisada multidimensional cambiante con el tiempo. Para llevar a cabo esta tarea, hemos usado básicamente los clasificadores Bayesianos como modelos. La primera contribución, dirigiéndose al problema de clasificación supervisada multidimensional estacionaria, se compone de dos nuevos métodos de aprendizaje de clasificadores Bayesianos multidimensionales a partir de datos estacionarios. Los métodos se proponen desde dos puntos de vista diferentes. El primer método, denominado CB-MBC, se basa en una estrategia de envoltura de selección de variables que es voraz y hacia delante, mientras que el segundo, denominado MB-MBC, es una estrategia de filtrado de variables con una aproximación basada en restricciones y en el manto de Markov. Ambos métodos han sido aplicados a dos problemas reales importantes, a saber, la predicción de los inhibidores de la transcriptasa inversa y de la proteasa para el problema de infección por el virus de la inmunodeficiencia humana tipo 1 (HIV-1), y la predicción del European Quality of Life-5 Dimensions (EQ-5D) a partir de los cuestionarios de la enfermedad de Parkinson con 39 ítems (PDQ-39). El estudio experimental incluye comparaciones de CB-MBC y MB-MBC con los métodos del estado del arte de la clasificación multidimensional, así como con métodos comúnmente utilizados para resolver el problema de predicción de la enfermedad de Parkinson, a saber, la regresión logística multinomial, mínimos cuadrados ordinarios, y mínimas desviaciones absolutas censuradas. En ambas aplicaciones, los resultados han sido prometedores con respecto a la precisión de la clasificación, así como en relación al análisis de las estructuras gráficas que identifican interacciones conocidas y novedosas entre las variables. La segunda contribución, referida al problema de clasificación semi-supervisada unidimensional cambiante con el tiempo, consiste en un método nuevo (CPL-DS) para clasificar flujos de datos parcialmente etiquetados. Los flujos de datos difieren de los conjuntos de datos estacionarios en su proceso de generación muy rápido y en su aspecto de cambio de concepto. Es decir, los conceptos aprendidos y/o la distribución subyacente están probablemente cambiando y evolucionando en el tiempo, lo que hace que el modelo de clasificación actual sea obsoleto y deba ser actualizado. CPL-DS utiliza la divergencia de Kullback-Leibler y el método de bootstrapping para cuantificar y detectar tres tipos posibles de cambio: en las predictoras, en la a posteriori de la clase o en ambas. Después, si se detecta cualquier cambio, un nuevo modelo de clasificación se aprende usando el algoritmo EM; si no, el modelo de clasificación actual se mantiene sin modificaciones. CPL-DS es general, ya que puede ser aplicado a varios modelos de clasificación. Usando dos modelos diferentes, el clasificador naive Bayes y la regresión logística, CPL-DS se ha probado con flujos de datos sintéticos y también se ha aplicado al problema real de la detección de código malware, en el cual los nuevos ficheros recibidos deben ser continuamente clasificados en malware o goodware. Los resultados experimentales muestran que nuestro método es efectivo para la detección de diferentes tipos de cambio a partir de los flujos de datos parcialmente etiquetados y también tiene una buena precisión de la clasificación. Finalmente, la tercera contribución, sobre el problema de clasificación supervisada multidimensional cambiante con el tiempo, consiste en dos métodos adaptativos, a saber, Locally Adpative-MB-MBC (LA-MB-MBC) y Globally Adpative-MB-MBC (GA-MB-MBC). Ambos métodos monitorizan el cambio de concepto a lo largo del tiempo utilizando la log-verosimilitud media como métrica y el test de Page-Hinkley. Luego, si se detecta un cambio de concepto, LA-MB-MBC adapta el actual clasificador Bayesiano multidimensional localmente alrededor de cada nodo cambiado, mientras que GA-MB-MBC aprende un nuevo clasificador Bayesiano multidimensional. El estudio experimental realizado usando flujos de datos sintéticos multidimensionales indica los méritos de los métodos adaptativos propuestos. ABSTRACT Nowadays, with the ongoing and rapid evolution of information technology and computing devices, large volumes of data are continuously collected and stored in different domains and through various real-world applications. Extracting useful knowledge from such a huge amount of data usually cannot be performed manually, and requires the use of adequate machine learning and data mining techniques. Classification is one of the most important techniques that has been successfully applied to several areas. Roughly speaking, classification consists of two main steps: first, learn a classification model or classifier from an available training data, and secondly, classify the new incoming unseen data instances using the learned classifier. Classification is supervised when the whole class values are present in the training data (i.e., fully labeled data), semi-supervised when only some class values are known (i.e., partially labeled data), and unsupervised when the whole class values are missing in the training data (i.e., unlabeled data). In addition, besides this taxonomy, the classification problem can be categorized into uni-dimensional or multi-dimensional depending on the number of class variables, one or more, respectively; or can be also categorized into stationary or streaming depending on the characteristics of the data and the rate of change underlying it. Through this thesis, we deal with the classification problem under three different settings, namely, supervised multi-dimensional stationary classification, semi-supervised unidimensional streaming classification, and supervised multi-dimensional streaming classification. To accomplish this task, we basically used Bayesian network classifiers as models. The first contribution, addressing the supervised multi-dimensional stationary classification problem, consists of two new methods for learning multi-dimensional Bayesian network classifiers from stationary data. They are proposed from two different points of view. The first method, named CB-MBC, is based on a wrapper greedy forward selection approach, while the second one, named MB-MBC, is a filter constraint-based approach based on Markov blankets. Both methods are applied to two important real-world problems, namely, the prediction of the human immunodeficiency virus type 1 (HIV-1) reverse transcriptase and protease inhibitors, and the prediction of the European Quality of Life-5 Dimensions (EQ-5D) from 39-item Parkinson’s Disease Questionnaire (PDQ-39). The experimental study includes comparisons of CB-MBC and MB-MBC against state-of-the-art multi-dimensional classification methods, as well as against commonly used methods for solving the Parkinson’s disease prediction problem, namely, multinomial logistic regression, ordinary least squares, and censored least absolute deviations. For both considered case studies, results are promising in terms of classification accuracy as well as regarding the analysis of the learned MBC graphical structures identifying known and novel interactions among variables. The second contribution, addressing the semi-supervised uni-dimensional streaming classification problem, consists of a novel method (CPL-DS) for classifying partially labeled data streams. Data streams differ from the stationary data sets by their highly rapid generation process and their concept-drifting aspect. That is, the learned concepts and/or the underlying distribution are likely changing and evolving over time, which makes the current classification model out-of-date requiring to be updated. CPL-DS uses the Kullback-Leibler divergence and bootstrapping method to quantify and detect three possible kinds of drift: feature, conditional or dual. Then, if any occurs, a new classification model is learned using the expectation-maximization algorithm; otherwise, the current classification model is kept unchanged. CPL-DS is general as it can be applied to several classification models. Using two different models, namely, naive Bayes classifier and logistic regression, CPL-DS is tested with synthetic data streams and applied to the real-world problem of malware detection, where the new received files should be continuously classified into malware or goodware. Experimental results show that our approach is effective for detecting different kinds of drift from partially labeled data streams, as well as having a good classification performance. Finally, the third contribution, addressing the supervised multi-dimensional streaming classification problem, consists of two adaptive methods, namely, Locally Adaptive-MB-MBC (LA-MB-MBC) and Globally Adaptive-MB-MBC (GA-MB-MBC). Both methods monitor the concept drift over time using the average log-likelihood score and the Page-Hinkley test. Then, if a drift is detected, LA-MB-MBC adapts the current multi-dimensional Bayesian network classifier locally around each changed node, whereas GA-MB-MBC learns a new multi-dimensional Bayesian network classifier from scratch. Experimental study carried out using synthetic multi-dimensional data streams shows the merits of both proposed adaptive methods.
Resumo:
Los objetivos políticos de la Sociedad de la Información necesitan ser debatidos, para evitar que ésta quede reducida a su -por otra parte- importante dimensión instrumental: liberalización de servicios e infraestructuras, tarifa plana para Internet, aumentos del ancho de banda de las redes, firma electrónica, ley del comercio electrónico, etcétera. Hay quien cree firmemente que la sociedad de la información es tener un teléfono celular y cargarlo de tiempos en el cajero automático, descargarse ficheros MP3, "chatear" por Internet o disponer de 200 canales de televisión por satélite.
Estudio preliminar acerca del uso de protocolos y actos comunicativos FIPA en el sistema COMPUTAPLEX
Resumo:
Este trabajo corresponde con la implementación de componentes software dentro de la Plataforma COMPUTAPLEX, la cual tiene como objetivo facilitar a los investigadores la realización de tareas del proceso experimental de ingeniería de software. Uno de los aportes a esta plataforma tecnológica corresponde con el desarrolló de los componentes necesarios para la recuperación de datos experimentales disponibles en diversas fuentes de datos, para ello se hizo uso de un mecanismo capaz de unificar la extracción de información de MySQL, ficheros excel y ficheros SPSS. Con ello diferentes grupos de investigación asociados pueden compartir y tener acceso a repositorios experimentales que se mantienen tanto de manera local como externa. Por otra parte, se ha realizado un estudio de la tecnología de agentes en la que se describe sus definiciones, lenguajes de comunicación, especificación FIPA, JADE como implementación FIPA y parser XML. Además para este trabajo se ha definido e implementado una ontología de comunicación entre agentes, la misma que fue diseñada en la herramienta Protégé. En lo que se refiere al desarrollo de componentes se hizo uso de una amplía variedad de tecnologías que incluye lenguaje de programación Java, framework JADE para el desarrollo de agentes, librería JENA para manejo de ontologías, librería SAXParser para lectura de archivos XML y patrón de diseño Factory. Finalmente se describe la metodología de trabajo utilizada en el proyecto, la cual por medio de la realización de varios ciclos iterativos permitió obtener prototipos que poco a poco fueron cubriendo las necesidades del producto software.----ABSTRACT---- This work relates to the implementation of software components within the platform Computaplex, which aims to enable researchers to conduct experimental software engineering process tasks. One of the contributions to this platform technology corresponds to the development of components which are necessary for the recovery of experimental data available in different data sources, to archive this goal a mechanism able to unify the extraction of information from MySQL, Excel and SPSS files was made. Therefore, associated research groups can share and access experimental repositories that remain both locally and externally. Moreover, it has been conducted a study of agent technology in its definition is described, languages communication, FIPA, JADE and FIPA implementation and XML parser. In addition to this work, it has been defined and implemented an ontology for communication between agents, the same as was designed in the Protégé tool. In what refers to the development of components, a wide range of technologies have been made which includes Java programming language, framework JADE for agent development, JENA library for handling ontologies, SAXParser for reading XML files and Factory design pattern. Finally, describing the work methodology used in this project, which through the implementation of several iterative cycles allowed to obtain prototypes were gradually meeting the needs of the software product.
Resumo:
El Trabajo Fin de Grado ha consistido en el diseño e implementación de una herramienta para la gestión y administración de los entrenamientos de atletas de deportes individuales. Hasta ahora los deportistas debían gestionar sus entrenamientos a través de hojas de cálculo, teniendo que dedicar tiempo al aprendizaje de herramientas como Microsoft Excel u OpenOffice Excel para personalizar las plantillas y guardar los datos, utilizar otras herramientas como Google Calendar para obtener una visión de un calendario con los entrenamientos realizados o bien utilizar programas hechos a medida para un deporte e incluso para un deportista. El objetivo principal consistía en desarrollar una herramienta que unificara todas las tareas para ofrecer al deportista las funciones de configuración de plantillas, registro y generación de gráficas de los datos registrados y visionado del calendario de entrenamientos de una forma ágil, sencilla e intuitiva, adaptándose a las necesidades de cualquier deporte o deportista. Para alcanzar el objetivo principal realizamos encuestas a atletas de una gran diversidad de deportes individuales, detectando las particularidades de cada deporte y analizando los datos que nos ofrecían para alcanzar el objetivo de diseñar una herramienta versátil que permitiera su uso independientemente de los parámetros que se quisiera registrar de cada entrenamiento. La herramienta generada es una herramienta programada en Java, que ofrece portabilidad a cualquier sistema operativo que lo soporte, sin ser necesario realizar una instalación previa. Es una aplicación plug and play en la que solo se necesita del fichero ejecutable para su funcionamiento; de esta forma facilitamos que el deportista guarde toda la información en muy poco espacio, 6 megabytes aproximadamente, y pueda llevarla a cualquier lado en un pen drive o en sistemas de almacenamiento en la nube. Además, los ficheros en los que se registran los datos son ficheros CSV (valores separados por comas) con un formato estandarizado que permite la exportación a otras herramientas. Como conclusión el atleta ahorra tiempo y esfuerzo en tareas ajenas a la práctica del deporte y disfruta de una herramienta que le permite analizar de diferentes maneras cada uno de los parámetros registrados para ver su evolución y ayudarle a mejorar aquellos aspectos que sean deficientes. ---ABSTRACT---The Final Project consists in the design and implementation of a tool for the management and administration of training logs for individual athletes. Until now athletes had to manage their workouts through spreadsheets, having to spend time in learning tools such as Microsoft Excel or OpenOffice in order to save the data, others tools like Google Calendar to check their training plan or buy specifics programs designed for a specific sport or even for an athlete. The main purpose of this project is to develop an intuitive and straightforward tool that unifies all tasks offering setup functions, data recording, graph generation and training schedule to the athletes. Whit this in mind, we have interviewed athletes from a wide range of individual sports, identifying their specifications and analyzing the data provided to design a flexible tool that registers multitude of training parameters. This tool has been coded in Java, providing portability to any operating system that supports it, without installation being required. It is a plug and play application, that only requires the executable file to start working. Accordingly, athletes can keep all the information in a relative reduced space (aprox 6 megabytes) and save it in a pen drive or in the cloud. In addition, the files whit the stored data are CSV (comma separated value) files whit a standardized format that allows exporting to other tools. Consequently athletes will save time and effort on tasks unrelated to the practice of sports. The new tool will enable them to analyze in detail all the existing data and improve in those areas with development opportunities.