921 resultados para Proyecto Fin de Carrera
Resumo:
El presente trabajo fin de grado, que, a partir de ahora, denominaré TFG, consiste en elaborar una monitorización de programas concurrentes en lenguaje Java, para que se visualicen los eventos ocurridos durante la ejecución de los dichos programas. Este trabajo surge en el marco de la asignatura “Concurrencia” de la Escuela Técnica Superior de Ingeniería Informática de la Universidad Politécnica de Madrid, impartida por D. Julio Mariño y D. Ángel Herranz. El objetivo principal de este proyecto es crear una herramienta para el aprendizaje de la asignatura de concurrencia, facilitando la comprensión de los conceptos teóricos, de modo que puedan corregir los posibles errores que haya en sus prácticas. en este proyecto se expone el desarrollo de una librería de visualización de programas concurrentes programados en Java usando un formalismo gráfico similar al empleado en la asignatura. Además esta librería da soporte a los mecanismos de sincronización usados en las prácticas de la asignatura: la librería Monitor (desarrollada por los profesores de la asignatura, D. Ángel Herranz y D. Julio Mariño) y la librería JCSP (Universidad de Kent). ---ABSTRACT---This Bachelor Thesis addresses the problem of monitoring a Java program in order to trace and visualize a certain set of events produced during the execution of concurrent Java programs. This work originates in the subject "Concurrency" of the Computer Science and Engineering degree of our University. The main goal of this work is to have a tool that helps students learning the subject, so they can better understand the core concepts and correct common mistakes in the course practical work. We have implemented a library for visualizing concurrent Java programsusing a graphical notation similar to the one used in class, which supports the design of concurrent programs whose synchronization mechanisms are either monitors(using the Monitor package) or CSP(as implemented in the JCSP library from Kent University).
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.
Resumo:
El abandono universitario es un problema que siempre ha afectado a las distintas universidades públicas. La Universidad Politécnica de Madrid, en concreto la Escuela Técnica Superior de Ingenieros Informáticos, pretende reducir dicho abandono aplicando técnicas de Data Mining para detectar aquellos alumnos que abandonan antes de que lo hagan. Este proyecto, a través de la metodología CRISP-DM (CRoss Industry Standard Process for Data Mining) y con los datos obtenidos del SIIU (Sistema Integrado de Información Universitaria), tiene como fin identificar a los alumnos que abandonan el primer añoo para poder aplicar distintas políticas en ellos y así evitarlo. ---ABSTRACT---Early university abandonment is a problem which has affected different public universities. The Universidad Polit´ecnica de Madrid (Polytechnic University of Madrid), inparticular the Escuela Técnica Superior de Ingenieros Informáticos (Computer Science Engineering School), wants to reduce this abandonment rate using Data Mining techniques to find students who are likely to leave before they do. The purpose of this project, through CRISP-DM (CRoss Industry Standard Process for Data Mining) methodology and using the data from SIIU (Sistema Integrado de Informaci´on Universitaria), is to identify those students who leave the first year in order to apply different policies and avoid it.
Resumo:
En este Trabajo se ha establecido un contexto general del lugar donde se ha realizado el proyecto,el municipio cacereño de Hervás así como el desarrollo de un estudio de vulnerabilidad del mismo camino y de su entorno a través del diseño de un SIG. El objetivo general del proyecto es el asentamiento de los conocimientos adquiridos durante la carrera, relacionados con el Urbanismo, Ordenación del Territorio los Sistemas de Información Geográfica, consolidando un punto de partida para la propuesta de nuevas iniciativas que permitan valorar la vulnerabilidad paisajística y medioambiental de cualquier municipio. El motivo de la realización de este es proyecto es la posibilidad de mejorar un entorno natural,en el que se observó que carecía de las medidas necesarias para optimizarlo de manera sostenible, de acuerdo con lo requerido para un paisaje natural.
Resumo:
El trabajo presentado a lo largo de este documento es el resultado del TFG1 realizado por Israel Suárez Santiago, alumno de la Escuela Técnica Superior de Ingenieros Informáticos (ETSIINF) de la Universidad Politécnica de Madrid (UPM). Dicho trabajo tiene como finalidad proporcionar una herramienta que, basada en estándares previamente estudiados, permita la fácil creación y gestión de plantillas de mensajes HL7v32 a las que posteriormente se le añadirán datos clínicos que serán insertados en una base de datos para su fácil acceso y consulta. La herramienta desarrollada únicamente facilita una serie de opciones para la creación de la plantilla en sí, que servirá como base para la creación de mensajes HL7v3, es decir, no permite la inclusión de datos específicos en las plantillas generadas, que deberá hacerse con alguna herramienta externa o bien manualmente. Las plantillas generadas por la herramienta se basan principalmente en el estándar CDA3, que proporciona una amplia guía para la correcta generación de mensajes HL7v3. La herramienta garantiza que las plantillas resultantes estarán correctamente formadas, siendo acordes al estándar anteriormente citado y siendo, además, sintácticamente correctas, es decir, el documento .xml generado no contendrá errores. ---ABSTRACT---This document is the result of the TFG developed by Israel Suárez Santiago, student of Escuela Técnica Superior de Ingenieros Informáticos (ETSIINF) of the Universidad Politécnica de Madrid (UPM). This work aims to offer a tool based on standards that can facilitate and manage the creation of HL7v3 templates. Clinical data will be added to those templates in order to load them into a database and query them fast and easily. The tool only facilitates several options to create the template, that will be used to generate the HL7v3 messages, but it does not permit the inclusion of data on them. The inclusion of data will be done manually or using an external tool. The generated templates are based mainly on the CDA1 standard, that provides a widely guide to create HL7v32 messages. The tool guarantees that the resulting templates have been correctly generated, following the previous standard and with no errors in the .xml document generated.
Resumo:
La computación distribuida ha estado presente desde hace unos cuantos años, pero es quizás en la actualidad cuando está contando con una mayor repercusión. En los últimos años el modelo de computación en la nube (Cloud computing) ha ganado mucha popularidad, prueba de ello es la cantidad de productos existentes. Todo sistema informático requiere ser controlado a través de sistemas de monitorización que permiten conocer el estado del mismo, de tal manera que pueda ser gestionado fácilmente. Hoy en día la mayoría de los productos de monitorización existentes limitan a la hora de visualizar una representación real de la arquitectura de los sistemas a monitorizar, lo que puede dificultar la tarea de los administradores. Es decir, la visualización que proporcionan de la arquitectura del sistema, en muchos casos se ve influenciada por el diseño del sistema de visualización, lo que impide ver los niveles de la arquitectura y las relaciones entre estos. En este trabajo se presenta un sistema de monitorización para sistemas distribuidos o Cloud, que pretende dar solución a esta problemática, no limitando la representación de la arquitectura del sistema a monitorizar. El sistema está formado por: agentes, que se encargan de la tarea de recolección de las métricas del sistema monitorizado; un servidor, al que los agentes le envían las métricas para que las almacenen en una base de datos; y una aplicación web, a través de la que se visualiza toda la información. El sistema ha sido probado satisfactoriamente con la monitorización de CumuloNimbo, una plataforma como servicio (PaaS), que ofrece interfaz SQL y procesamiento transaccional altamente escalable sobre almacenes clave valor. Este trabajo describe la arquitectura del sistema de monitorización, y en concreto, el desarrollo de la principal contribución al sistema, la aplicación web. ---ABSTRACT---Distributed computing has been around for quite a long time, but now it is becoming more and more important. In the last few years, cloud computing, a branch of distributed computing has become very popular, as its different products in the market can prove. Every computing system requires to be controlled through monitoring systems to keep them functioning correctly. Currently, most of the monitoring systems in the market only provide a view of the architectures of the systems monitored, which in most cases do not permit having a real view of the system. This lack of vision can make administrators’ tasks really difficult. If they do not know the architecture perfectly, controlling the system based on the view that the monitoring system provides is extremely complicated. The project introduces a new monitoring system for distributed or Cloud systems, which shows the real architecture of the system. This new system is composed of several elements: agents, which collect the metrics of the monitored system; a server, which receives the metrics from the agents and saves them in a database; and a web application, which shows all the data collected in an easy way. The monitoring system has been tested successfully with Cumulonimbo. CumuloNimbo is a platform as a service (PaaS) which offers an SQL interface and a high-scalable transactional process. This platform works over key-value storage. This project describes the architecture of the monitoring system, especially, the development of the web application, which is the main contribution to the system.
Resumo:
Vivimos en una época en la que cada vez existe una mayor cantidad de información. En el dominio de la salud la historia clínica digital ha permitido digitalizar toda la información de los pacientes. Estas historias clínicas digitales contienen una gran cantidad de información valiosa escrita en forma narrativa que sólo podremos extraer recurriendo a técnicas de procesado de lenguaje natural. No obstante, si se quiere realizar búsquedas sobre estos textos es importante analizar que la información relativa a síntomas, enfermedades, tratamientos etc. se puede refererir al propio paciente o a sus antecentes familiares, y que ciertos términos pueden aparecer negados o ser hipotéticos. A pesar de que el español ocupa la segunda posición en el listado de idiomas más hablados con más de 500 millones de hispano hablantes, hasta donde tenemos de detección de la negación, probabilidad e histórico en textos clínicos en español. Por tanto, este Trabajo Fin de Grado presenta una implementación basada en el algoritmo ConText para la detección de la negación, probabilidad e histórico en textos clínicos escritos en español. El algoritmo se ha validado con 454 oraciones que incluían un total de 1897 disparadores obteniendo unos resultado de 83.5 %, 96.1 %, 96.9 %, 99.7% y 93.4% de exactitud con condiciones afirmados, negados, probable, probable negado e histórico respectivamente. ---ABSTRACT---We live in an era in which there is a huge amount of information. In the domain of health, the electronic health record has allowed to digitize all the information of the patients. These electronic health records contain valuable information written in narrative form that can only be extracted using techniques of natural language processing. However, if you want to search on these texts is important to analyze if the relative information about symptoms, diseases, treatments, etc. are referred to the patient or family casework, and that certain terms may appear negated or be hypothesis. Although Spanish is the second spoken language with more than 500 million speakers, there seems to be no method of detection of negation, hypothesis or historical in medical texts written in Spanish. Thus, this bachelor’s final degree presents an implementation based on the ConText algorithm for the detection of negation, hypothesis and historical in medical texts written in Spanish. The algorithm has been validated with 454 sentences that included a total of 1897 triggers getting a result of 83.5 %, 96.1 %, 96.9 %, 99.7% and 93.4% accuracy with affirmed, negated, hypothesis, negated hypothesis and historical respectively.
Resumo:
Los conjuntos bacterianos son sistemas dinámicos difíciles de modelar debido a que las bacterias colaboran e intercambian información entre sí. Estos microorganismos procariotas pueden tomar decisiones por mayoría e intercambiar información genética importante que, por ejemplo, las haga resistentes a un antibiótico. El proceso de conjugación consiste en el intercambio de un plásmido de una bacteria con otra, permitiendo así que se transfieran propiedades. Estudios recientes han demostrado que estos plásmidos pueden ser reprogramados artificialmente para que la bacteria que lo contenga realice una función específica [1]. Entre la multitud de aplicaciones que supone esta idea, el proyecto europeo PLASWIRES está intentando demostrar que es posible usar organismos vivos como computadores distribuidos en paralelo y plásmidos como conexión entre ellos mediante conjugación. Por tanto, mediante una correcta programación de un plásmido, se puede conseguir, por ejemplo, hacer que una colonia de bacterias haga la función de un antibiótico o detecte otros plásmidos peligrosos en bacterias virulentas. El proceso experimental para demostrar esta idea puede llegar a ser algo lento y tedioso, por lo que es necesario el uso de simuladores que predigan su comportamiento. Debido a que el proyecto PLASWIRES se basa en la conjugación bacteriana, surge la necesidad de un simulador que reproduzca esta operación. El presente trabajo surge debido a la deficiencia del simulador GRO para reproducir la conjugación. En este documento se detallan las modificaciones necesarias para que GRO pueda representar este proceso, así como analizar los datos obtenidos e intentar ajustar el modelo a los datos obtenidos por el Instituto de Biomedicina y Biotecnología de Cantabria (IBBTEC). ---ABSTRACT---Bacterial colonies are dynamical systems difficult to model because bacteria collaborate and exchange information with each other. These prokaryotic organisms can make decisions by majority and exchange important genetic information, for example, make them resistant to an antibiotic. The conjugation process is the exchange of a plasmid from one bacterium to another, allowing both to have the same properties. Recent studies have shown that these plasmids can be artificially reprogrammed to make the bacteria that contain it to perform a specific function [1]. Among the multitude of applications involved in this idea, the European project PLASWIRES is attempting to prove that it is possible to use living organisms as parallel and distributed computers with plasmids acting as connectors between them through conjugation. Thus, by properly programming a plasmid, you can get a colony of bacteria that work as an antibiotic or detect hazardous plasmids in virulent bacteria. The experimental process to prove this idea can be slow and tedious, so the use of simulators to predict their behavior is required. Since PLASWIRES project is based on bacterial conjugation, a simulator that can reproduce this operation is required. This work arises due to the absence of the conjugation process in the simulator GRO. This document details the changes made to GRO to represent this process, analyze the data and try to adjust the model to the data obtained by the Institute of Biomedicine and Biotechnology of Cantabria ( IBBTEC ). This project has two main objectives, the first is to add the functionality of intercellular communication by conjugation to the simulator GRO, and the second is to use the experimental data obtained by the IBBTEC. To do this, the following points should be followed: • Study of conjugation biology as a mechanism of intercellular communication. • Design and implementation of the algorithm that simulates conjugation. • Experimental validation and model adjust to the experimental data on rates of conjugation and bacterial growth.
Resumo:
Desde hace tiempo ha habido mucho interés en la automatización de todo tipo de tareas en las que la intervención humana es esencial para que sean completadas con éxito. Esto es de especial interés si además se ciertas tareas que pueden ser perfectamente reproducibles y, o bien requieren mucha formación, o bien consumen mucho tiempo. Este proyecto está dirigido a la búsqueda de métodos para automatizar la anotación de imágenes médicas. En concreto, se centra en el apartado de delimitación de las regiones de interés (ROIs) en imágenes de tipo PET siendo éstas usadas con frecuencia junto con las imágenes de tipo CT en el campo de oncología para delinear volúmenes afectados por cáncer. Se pretende con esto ayudar a los hospitales a organizar y estructurar las imágenes de sus pacientes y relacionarlas con las notas clínicas. Esto es lo que llamaremos el proceso de anotación de imágenes y la integración con la anotación de notas clínicas respectivamente. En este documento nos vamos a centrar en describir cuáles eran los objetivos iniciales, los pasos dados para su consecución y las dificultades encontradas durante el proceso. De todas las técnicas existentes en la literatura, se han elegido 4 técnicas de segmentación, 2 de ellas probadas en pacientes reales y las otras 2 probadas solo en phantoms según la literatura. En nuestro caso, las pruebas, se han realizado en imágenes PET de 6 pacientes reales diagnosticados de cáncer. Los resultados han sido analizados y presentados. ---ABSTRACT---For a long period of time, there has been an increasing interest in automation of tasks where human intervention is needed in order to succeed. This interest is even greater if those tasks must be solved by qualifed specialists in the area and the task is reproducible or if the task is too time consuming. The main objective of this project is to find methods which can help to automate medical image annotation processes. In our specific case, we are willing to delineate regions of interest (ROIs) in PET images which are frequently used simultaneaously ith CT images in oncology to determine those volumes that are afected by cancer. With this process we want to help hospitals organize and have from their patient studies and to relate these images to the corpus annotations. We may call this the image annotation process and the integration with the corpus annotation respectively. In this document we are going to concentrate in the description of the initial objectives, the steps we had to go through and the di�culties we had to face during this process. From all existing techniques in the literature, 4 segmentation techniques have been chosen, 2 of them were tested in real patients and the other 2 were tested using phantoms according to the literature. In our case, the tests have been done using PET images from 6 real patients diagnosed with cancer. The results have been analyzed and presented.
Resumo:
En el presente documento se presenta un Proyecto de Fin de Carrera realizado en el contexto de una beca de colaboración en el Grupo de Microondas y Radar del departamento de Señales, Sistemas y Radiocomunicaciones de la ETSI de Telecomunicación (UPM). Parte del trabajo realizado en dicha beca se ha empleado en la realización de este proyecto, como son el desarrollo de una aplicación sobre MATLAB para el diseño y simulación de antenas de exploración electrónica (phased array) y la investigación del estado del arte en este tipo de antenas. Parte de esta investigación ha estado desde el principio ligada al observatorio meteorológico de Oklahoma, EEUU, debido a su uso pionero de un radar meteorológico de antena de exploración electrónica. Por tanto, la aplicación que se decidió estudiar en este proyecto es la meteorológica, analizando las particularidades de este tipo de señales frente a la detección de blancos tradicionales. El proyecto consta, como su nombre indica, de tres partes diferenciadas: Estudio, Aplicación y Desarrollo, donde a su vez el Estudio se divide en dos ramas. En primer lugar el estudio de los radares meteorológicos: su historia, la naturaleza de las señales meteorológicas, la estimación de la precipitación a través de ellas y el tipo de atenuación que presenta la señal. En segundo lugar, el estudio de las antenas de exploración electrónica y su aplicación inmediata en radares multifunción: constitución de las antenas, propiedades y prestaciones, y las ventajas de un radar meteorológico basado en ellas. Una vez concluido el Estudio de los radares meteorológicos tradicionales, de los radares multifunción basados en antena de exploración electrónica, y la Aplicación de los últimos a la meteorología, se pasa al Desarrollo de un radar meteorológico basado en este tipo de antenas. Para el diseño del phased array se ha empleado la herramienta previamente mencionada y para el análisis radar se han tenido en cuenta las necesidades de un radar meteorológico, llegando finalmente al diseño de un phased array para el uso meteorológico.
Resumo:
Este trabajo fin de grado es un estudio sobre la reconstrucción del espectro de irradiancia solar en la superficie de Marte y de la radiación solar recibida en lo alto de la atm´osfera. Se llevará a cabo a partir de los datos recogidos por “arrays” de fotodiodos, que se integran en unos sensores, y miden la intensidad de la radiación recibida del cuerpo negro (el Sol), en un rango de longitudes de onda del espectro electromagnético. Para lograr esta reconstrucción, se ha necesitado desarrollar técnicas de interpolación y modelos matemáticos. Estos m´etodos los he implementado con el lenguaje de programación Matlab y me he ayudado de Maple para conseguir distintos resultados. Estos procedimientos serán aplicados a tres configuraciones de sondas en las que cada una cuenta con un número determinado de fotodiodos. El objetivo es reconstruir este espectro de irradiancia aproximándolo lo máximo posible a unos conjuntos de datos estimados, según modelos de transferencia radiativa, que me han sido proporcionados para el cuerpo negro y que miden la radiación solar recibida en la superficie y en lo alto de la atmósfera del Planeta rojo. Este trabajo está basado en un proyecto de investigación que se está llevando a cabo desde hace varios años por un equipo de investigadores de varias universidades de Madrid, conjuntamente con el I.N.T.A. (Instituto Nacional de Técnica Aeroespacial), entre los que se encuentra mi tutor.
Resumo:
Trabajo fin de Carrera en Cooperación al desarrollo de la UPM, en el que se analiza la situación de la pequeña industria de carpintería dentro del área Bosque Modelo de Yoro, con la finalidad de unificar y reducir así el impacto medioambiental que supone la compra de madera ilegal por parte de estos trabajadores.
Resumo:
Los lenguajes de programación son el idioma que los programadores usamos para comunicar a los computadores qué queremos que hagan. Desde el lenguaje ensamblador, que traduce una a una las instrucciones que interpreta un computador hasta lenguajes de alto nivel, se ha buscado desarrollar lenguajes más cercanos a la forma de pensar y expresarse de los humanos. Los lenguajes de programación lógicos como Prolog utilizan a su vez el lenguaje de la lógica de 1er orden de modo que el programador puede expresar las premisas del problema que se quiere resolver sin preocuparse del cómo se va a resolver dicho problema. La resolución del problema se equipara a encontrar una deducción del objetivo a alcanzar a partir de las premisas y equivale a lo que entendemos por la ejecución de un programa. Ciao es una implementación de Prolog (http://www.ciao-lang.org) y utiliza el método de resolución SLD, que realiza el recorrido de los árboles de decisión en profundidad(depth-first) lo que puede derivar en la ejecución de una rama de busqueda infinita (en un bucle infinito) sin llegar a dar respuestas. Ciao, al ser un sistema modular, permite la utilización de extensiones para implementar estrategias de resolución alternativas como la tabulación (OLDT). La tabulación es un método alternativo que se basa en memorizar las llamadas realizadas y sus respuestas para no repetir llamadas y poder usar las respuestas sin recomputar las llamadas. Algunos programas que con SLD entran en un bucle infinito, gracias a la tabulación dán todas las respuestas y termina. El modulo tabling es una implementación de tabulación mediante el algoritmo CHAT. Esta implementación es una versión beta que no tiene implementado un manejador de memoria. Entendemos que la gestión de memoria en el módulo de tabling tiene gran importancia, dado que la resolución con tabulación permite reducir el tiempo de computación (al no repetir llamadas), aumentando los requerimientos de memoria (para guardar las llamadas y las respuestas). Por lo tanto, el objetivo de este trabajo es implementar un mecanismo de gestión de la memoria en Ciao con el módulo tabling cargado. Para ello se ha realizado la implementación de: Un mecanismo de captura de errores que: detecta cuando el computador se queda sin memoria y activa la reinicialización del sitema. Un procedimiento que ajusta los punteros del modulo de tabling que apuntan a la WAM tras un proceso de realojo de algunas de las áreas de memoria de la WAM. Un gestor de memoria del modulo de tabling que detecta c realizar una ampliación de las áreas de memoria del modulo de tabling, realiza la solicitud de más memoria y realiza el ajuste de los punteros. Para ayudar al lector no familiarizado con este tema, describimos los datos que Ciao y el módulo de tabling alojan en las áreas de memoria dinámicas que queremos gestionar. Los casos de pruebas desarrollados para evaluar la implementación del gestor de memoria, ponen de manifiesto que: Disponer de un gestor de memoria dinámica permite la ejecución de programas en un mayor número de casos. La política de gestión de memoria incide en la velocidad de ejecución de los programas. ---ABSTRACT---Programming languages are the language that programmers use in order to communicate to computers what we want them to do. Starting from the assembly language, which translates one by one the instructions to the computer, and arriving to highly complex languages, programmers have tried to develop programming languages that resemble more closely the way of thinking and communicating of human beings. Logical programming languages, such as Prolog, use the language of logic of the first order so that programmers can express the premise of the problem that they want to solve without having to solve the problem itself. The solution to the problem is equal to finding a deduction of the objective to reach starting from the premises and corresponds to what is usually meant as the execution of a program. Ciao is an implementation of Prolog (http://www.ciao-lang.org) and uses the method of resolution SLD that carries out the path of the decision trees in depth (depth-frist). This can cause the execution of an infinite searching branch (an infinite loop) without getting to an answer. Since Ciao is a modular system, it allows the use of extensions to implement alternative resolution strategies, such as tabulation (OLDT). Tabulation is an alternative method that is based on the memorization of executions and their answers, in order to avoid the repetition of executions and to be able to use the answers without reexecutions. Some programs that get into an infinite loop with SLD are able to give all the answers and to finish thanks to tabulation. The tabling package is an implementation of tabulation through the algorithm CHAT. This implementation is a beta version which does not present a memory handler. The management of memory in the tabling package is highly important, since the solution with tabulation allows to reduce the system time (because it does not repeat executions) and increases the memory requirements (in order to save executions and answers). Therefore, the objective of this work is to implement a memory management mechanism in Ciao with the tabling package loaded. To achieve this goal, the following implementation were made: An error detection system that reveals when the computer is left without memory and activate the reinizialitation of the system. A procedure that adjusts the pointers of the tabling package which points to the WAM after a process of realloc of some of the WAM memory stacks. A memory manager of the tabling package that detects when it is necessary to expand the memory stacks of the tabling package, requests more memory, and adjusts the pointers. In order to help the readers who are not familiar with this topic, we described the data which Ciao and the tabling package host in the dynamic memory stacks that we want to manage. The test cases developed to evaluate the implementation of the memory manager show that: A manager for the dynamic memory allows the execution of programs in a larger number of cases. Memory management policy influences the program execution speed.
Resumo:
El objetivo de este proyecto es desarrollar un conjunto de herramientas de auto aprendizaje y autoevaluación del laboratorio de la asignatura "Procesado Digital de la Señal", perteneciente al plan de grado de la Escuela Técnica Superior de Ingeniería y Sistemas de Telecomunicación de la Universidad Politécnica de Madrid. Con ello se pretende de mejorar el rendimiento académico de los alumnos en dicha asignatura y en la materia "Señales y Sistemas" en general. Para la realización de las prácticas se emplea Matlab, de modo que es necesario integrar esta herramienta en el laboratorio con MOODLE, plataforma de e-learning utilizada para la gestión de las asignaturas a nivel docente, para proporcionar material de estudio y programar actividades de aprendizaje y evaluación. Será fundamental el análisis de la integración de Matlab con MOODLE, de modo que en función de los resultados de los alumnos, se les propongan repeticiones de apartados erróneos, revisiones de resultados y otros aspectos, como autoaprendizaje y autoevaluación que permitan la obtención de las competencias y alcanzar los resultados de aprendizaje, y a los profesores que imparten la asignatura, como herramienta para detectar las deficiencias más significativas en la programación y en las metodologías empleadas en la asignatura para corregir las carencias de los alumnos. ABSTRACT: The aim of this project will be the development of self-learning and self- assessment lab tools for the course "Procesado Digital de la Señal" in order to improve student’s performance in that subject and in the matter "Señales y Sistemas " for grades taught at the Escuela Universitaria de Ingeniería Técnica de Telecomunicación of the Universidad Politécnica de Madrid today. Matlab is used to perform laboratory practices of "Procesado Digital de la Señal “. Matlab is a numerical calculation program. A very powerful tool with a great mathematical processing performance level, so it is necessary to integrate this tool in the laboratory with MOODLE, the current e-learning platform used at the Universidad Politécnica de Madrid for the management of teaching subjects to provide material and to program learning and assessment activities for students. It is therefore essential the analysis of the Matlab integration with Moodle. Thus, depending on the results and grades that students get along the way in the various activities evaluators should conduct, they propose, for example, repetitions of erroneous exercises, reviews of some results and other aspects such as self-learning and self-assessment. This would allow students to obtain the skills and learning to achieve the results set as a target. For teachers who teach the subject will also be a preview of the notes as these tools will be used to identify the most significant shortcomings both in programming and in the methodologies used in "Procesado Digital de la Señal " to act accordingly and correcting shortcomings of the enrolled students.
Resumo:
El propósito principal del proyecto es la realización del modelo tridimensional del Galeón Flamenco del Museo Naval, con un tamaño de 18 cm de ancho, 110 cm de alto y 124 cm de largo. Debido a la antigüedad de la pieza y su fragilidad, la combinación de la fotogrametría y la topografía industrial son las técnicas ideales para su representación tanto por conservación como por su alta precisión. Con la utilización de las técnicas antes mencionadas, se intenta conseguir una precisión en todo el modelo tridimensional que sea inferior al milímetro. De esta manera, se explicará en todo el proceso la metodología utilizada en el trabajo,para examinar otra metodología más efectiva y de menor coste.