865 resultados para Scriptor server
Resumo:
Este Trabajo de Fin de Grado recoge el diseño e implementación de un compilador y una librería de entorno de ejecución para el lenguaje específico del dominio TESL, un lenguaje de alto nivel para el análisis de series temporales diseñado por un grupo de investigación de la Universidad Politécnica de Madrid. Este compilador es el primer compilador completo disponible para TESL y sirve como base para la continuación del desarrollo del lenguaje, estando ideado para permitir su adaptación a cambios en el mismo. El compilador ha sido implementado en Java siguiendo la arquitectura clásica para este tipo de aplicaciones, incluyendo un Analizador Léxico, Sintáctico y Semántico, así como un Generador de Código. Se ha documentado su arquitectura y las decisiones de diseño que han conducido a la misma. Además, se ha demostrado su funcionamiento con un caso práctico de análisis de eventos en métricas de servidores. Por último, se ha documentado el lenguaje TESL, en cuyo desarrollo se ha colaborado. ---ABSTRACT---This Bachelor’s Thesis describes the design and implementation of a compiler and a runtime library for the domain-specific language TESL, a high-level language for analyzing time series events developed by a research group from the Technical University of Madrid. This is the first fully implemented TESL compiler, and serves as basis for the continuation of the development of the language. The compiler has been implemented in Java following the classical architecture for this kind of systems, having a four phase compilation with a Lexer, a Parser, a Semantic Analyzer and a Code Generator. Its architecture and the design decisions that lead to it have been documented. Its use has been demonstrated in an use-case in the domain of server metrics. Finally, the TESL language itself has been extended and documented.
Resumo:
This document is the result of a process of web development to create a tool that will allow to Cracow University of Technology consult, create and manage timetables. The technologies chosen for this purpose are Apache Tomcat Server, My SQL Community Server, JDBC driver, Java Servlets and JSPs for the server side. The client part counts on Javascript, jQuery, AJAX and CSS technologies to perform the dynamism. The document will justify the choice of these technologies and will explain some development tools that help in the integration and development of all this elements: specifically, NetBeans IDE and MySQL workbench have been used as helpful tools. After explaining all the elements involved in the development of the web application, the architecture and the code developed are explained through UML diagrams. Some implementation details related to security are also deeper explained through sequence diagrams. As the source code of the application is provided, an installation manual has been developed to run the project. In addition, as the platform is intended to be a beta that will be grown, some unimplemented ideas for future development are also exposed. Finally, some annexes with important files and scripts related to the initiation of the platform are attached. This project started through an existing tool that needed to be expanded. The main purpose of the project along its development has focused on setting the roots for a whole new platform that will replace the existing one. For this goal, it has been needed to make a deep inspection on the existing web technologies: a web server and a SQL database had to be chosen. Although the alternatives were a lot, Java technology for the server was finally selected because of the big community backwards, the easiness of modelling the language through UML diagrams and the fact of being free license software. Apache Tomcat is the open source server that can use Java Servlet and JSP technology. Related to the SQL database, MySQL Community Server is the most popular open-source SQL Server, with a big community after and quite a lot of tools to manage the server. JDBC is the driver needed to put in contact Java and MySQL. Once we chose the technologies that would be part of the platform, the development process started. After a detailed explanation of the development environment installation, we used UML use case diagrams to set the main tasks of the platform; UML class diagrams served to establish the existing relations between the classes generated; the architecture of the platform was represented through UML deployment diagrams; and Enhanced entity–relationship (EER) model were used to define the tables of the database and their relationships. Apart from the previous diagrams, some implementation issues were explained to make a better understanding of the developed code - UML sequence diagrams helped to explain this. Once the whole platform was properly defined and developed, the performance of the application has been shown: it has been proved that with the current state of the code, the platform covers the use cases that were set as the main target. Nevertheless, some requisites needed for the proper working of the platform have been specified. As the project is aimed to be grown, some ideas that could not be added to this beta have been explained in order not to be missed for future development. Finally, some annexes containing important configuration issues for the platform have been added after proper explanation, as well as an installation guide that will let a new developer get the project ready. In addition to this document some other files related to the project are provided: - Javadoc. The Javadoc containing the information of every Java class created is necessary for a better understanding of the source code. - database_model.mwb. This file contains the model of the database for MySQL Workbench. This model allows, among other things, generate the MySQL script for the creation of the tables. - ScheduleManager.war. The WAR file that will allow loading the developed application into Tomcat Server without using NetBeans. - ScheduleManager.zip. The source code exported from NetBeans project containing all Java packages, JSPs, Javascript files and CSS files that are part of the platform. - config.properties. The configuration file to properly get the names and credentials to use the database, also explained in Annex II. Example of config.properties file. - db_init_script.sql. The SQL query to initiate the database explained in Annex III. SQL statements for MySQL initialization. RESUMEN. Este proyecto tiene como punto de partida la necesidad de evolución de una herramienta web existente. El propósito principal del proyecto durante su desarrollo se ha centrado en establecer las bases de una completamente nueva plataforma que reemplazará a la existente. Para lograr esto, ha sido necesario realizar una profunda inspección en las tecnologías web existentes: un servidor web y una base de datos SQL debían ser elegidos. Aunque existen muchas alternativas, la tecnología Java ha resultado ser elegida debido a la gran comunidad de desarrolladores que tiene detrás, además de la facilidad que proporciona este lenguaje a la hora de modelarlo usando diagramas UML. Tampoco hay que olvidar que es una tecnología de uso libre de licencia. Apache Tomcat es el servidor de código libre que permite emplear Java Servlets y JSPs para hacer uso de la tecnología de Java. Respecto a la base de datos SQL, el servidor más popular de código libre es MySQL, y cuenta también con una gran comunidad detrás y buenas herramientas de modelado, creación y gestión de la bases de datos. JDBC es el driver que va a permitir comunicar las aplicaciones Java con MySQL. Tras elegir las tecnologías que formarían parte de esta nueva plataforma, el proceso de desarrollo tiene comienzo. Tras una extensa explicación de la instalación del entorno de desarrollo, se han usado diagramas de caso de UML para establecer cuáles son los objetivos principales de la plataforma; los diagramas de clases nos permiten realizar una organización del código java desarrollado de modo que sean fácilmente entendibles las relaciones entre las diferentes clases. La arquitectura de la plataforma queda definida a través de diagramas de despliegue. Por último, diagramas EER van a definir las relaciones entre las tablas creadas en la base de datos. Aparte de estos diagramas, algunos detalles de implementación se van a justificar para tener una mejor comprensión del código desarrollado. Diagramas de secuencia ayudarán en estas explicaciones. Una vez que toda la plataforma haya quedad debidamente definida y desarrollada, se va a realizar una demostración de la misma: se demostrará cómo los objetivos generales han sido alcanzados con el desarrollo actual del proyecto. No obstante, algunos requisitos han sido aclarados para que la plataforma trabaje adecuadamente. Como la intención del proyecto es crecer (no es una versión final), algunas ideas que se han podido llevar acabo han quedado descritas de manera que no se pierdan. Por último, algunos anexos que contienen información importante acerca de la plataforma se han añadido tras la correspondiente explicación de su utilidad, así como una guía de instalación que va a permitir a un nuevo desarrollador tener el proyecto preparado. Junto a este documento, ficheros conteniendo el proyecto desarrollado quedan adjuntos. Estos ficheros son: - Documentación Javadoc. Contiene la información de las clases Java que han sido creadas. - database_model.mwb. Este fichero contiene el modelo de la base de datos para MySQL Workbench. Esto permite, entre otras cosas, generar el script de iniciación de la base de datos para la creación de las tablas. - ScheduleManager.war. El fichero WAR que permite desplegar la plataforma en un servidor Apache Tomcat. - ScheduleManager.zip. El código fuente exportado directamente del proyecto de Netbeans. Contiene todos los paquetes de Java generados, ficheros JSPs, Javascript y CSS que forman parte de la plataforma. - config.properties. Ejemplo del fichero de configuración que permite obtener los nombres de la base de datos - db_init_script.sql. Las consultas SQL necesarias para la creación de la base de datos.
Resumo:
From research groups at the universities of developed countries there is a growing interest in providing solutions to problems of developing countries. In this context we have studied typical problems in many (educational) institutions, such as the lack of technicians who repair the computers, the administration of the machines, and also the difficulty to maintain and configure the old hardware available due to the variety of characteristics of the different machines and the amount of hardware breakdowns and software issues (viruses, administration issues) that the local staff has to face up to with their equipments. We propose a thin client approach that takes into account the human, hardware and software characteristics of developing institutions to provide a complete service for a computer network. The network administration is reduced to the administration of one server only. The maintenance of the machines is simplified and old computers can simulate the running of a powerful computer. Our proposal results in a cheap, simple (from the support point of view) and powerful (in terms of achieved functionalities) design.
Resumo:
Este proyecto consiste en el diseño e implementación un sistema domótico que puede ser instalado en una vivienda para controlar distintas variables ambientales y conseguir así la máxima comodidad de los habitantes de manera automática o manual según los gustos y necesidades de los usuarios. La característica principal de este sistema, es que cuenta con un funcionamiento distribuido donde entran en juego un servidor, encargado de tomar las decisiones generales para el comportamiento de la casa, y una serie de controladores esclavo cuya función es mantener constantes las variables ambientales con los valores fijados por el servidor. Así se consigue mantener la vivienda en una situación de bienestar constante para cualquier persona que se encuentre dentro. El sistema ha sido pensado de manera que se intenta reducir al máximo el cableado para facilitar su instalación por lo que la comunicación entre los distintos dispositivos se hace de manera inalámbrica por medio de un protocolo descrito en la norma IEEE 802.15.4 llamado ZigBee. Para ello se ha utilizado un módulo de comunicación wireless llamado Xbee, el cual permite la comunicación entre dos dispositivos. Para el control de dicho sistema distribuido se cuenta con una aplicación web, que mediante una interfaz gráfica permite al usuario controlar los distintos dispositivos dentro de la vivienda consiguiendo así controlar las variables ambientales a gusto del usuario. Dicha interfaz gráfica no depende de un software específico, sino que sólo es necesario un cliente http como podría ser Internet Explorer, Mozilla Firefox, Google Chrome, etc. Para integrar dicho sistema se ha usado un mini ordenador de bajo coste llamado RaspBerryPi, en el que se encuentra alojado un servidor Apache con el fin de gestionar y automatizar las variables ambientales. El control de los dipositivos encargados de modificar y estabilizar las variables ambientales se realiza mediante unos controladores genéricos implementados mediante mcontroladores 80C51F410, pertenecientes a la familia 80C51, y una serie de componentes y circuitería que permiten el correcto funcionamiento de éstos. Existen dos tipos de controladores distintos, los cuales son: Controlador Sensor: Encargados de las tomas de valores ambientales como puede ser la luz y la temperatura. Controladores Actuadores: Encargados de actuar sobre los dispositivos que modifican y estabilizan las variables ambientales como pueden ser la calefacción, tiras de leds de iluminación, persianas, alarmas, etc. El conjunto de la RaspBerryPi y los diferentes controladores forman el prototipo diseñado para este proyecto fin de carrera, el cual puede ser ampliado sencillamente para abarcar una amplia gama de posibilidades y funcionalidades dentro de la comodidad de una vivienda. ABSTRACT. The project described in this report consisted designing and implementing a home automation system that could be installed in a house in order to control environmental variables and thus get the maximum comfort of the inhabitant automatically or manually according to their tastes and needs. The main feature of this system consists in a distributed system, formed by a server which is responsible for making the main decisions of the actions performed inside the house. In addition, there are a series of slave controlers whose function consists in keeping the environmental variables within the values established by the server. Thus gets to keep the home in a situation of constant wellbeing to anyone who is inside. The system has been designed in order to reduce the amount of wire needed for the inter-connection of the devices, by means of wireless communication. The devices chosen for the solution are Xbee modules, which use the Zigbee protocol in order to comunicate one between each other. The Zigbee protocol is fully described in the IEEE 802.15.4 standard. A web application has been used to control the distributed system. This application allows users to control various devices inside the house and subsequently the different environmental variables. This implementation allows obtaining the maximum comfort by means of a very simple graphical interface. In addition, the Graphical User Interface (GUI) does not depend on any specific software. This means that it would only be necessary a http client (such as Internet Explorer, Mozilla Firefox, Google Chrome, etc.) for handling the application. The system has been integrated using a low-cost mini computer called RaspBerryPi.This computer has an Apache server allocated which allows to manage and to automatize the different environmental variables. Furthermore, for changing and stabilizing those variables, some generic controllers have been developed, based on mcontrollers 80C51F410. There have been developed mainly two different types of controllers: Sensor Controllers, responsible for measuring the different environmental values, such as light and temperature; and Actuator Controllers, which purpose is to modify and stabilize those environmental variables by actuating on the heating, the led lamps, the blinders, the alarm, etc. The combination of the RaspBerryPi and the different controllers conform the prototype designed during this project. Additionally, this solution could be easily expanded in order to intake further functionalities adapted to new needs that could arise in the future.
Resumo:
En la realización de este proyecto se ha tratado principalmente la temática del web scraping sobre documentos HTML en Android. Como resultado del mismo, se ha propuesto una metodología para poder realizar web scraping en aplicaciones implementadas para este sistema operativo y se desarrollará una aplicación basada en esta metodología que resulte útil a los alumnos de la escuela. Web scraping se puede definir como una técnica basada en una serie de algoritmos de búsqueda de contenido con el fin de obtener una determinada información de páginas web, descartando aquella que no sea relevante. Como parte central, se ha dedicado bastante tiempo al estudio de los navegadores y servidores Web, y del lenguaje HTML presente en casi todas las páginas web en la actualidad así como de los mecanismos utilizados para la comunicación entre cliente y servidor ya que son los pilares en los que se basa esta técnica. Se ha realizado un estudio de las técnicas y herramientas necesarias, aportándose todos los conceptos teóricos necesarios, así como la proposición de una posible metodología para su implementación. Finalmente se ha codificado la aplicación UPMdroid, desarrollada con el fin de ejemplificar la implementación de la metodología propuesta anteriormente y a la vez desarrollar una aplicación cuya finalidad es brindar al estudiante de la ETSIST un soporte móvil en Android que le facilite el acceso y la visualización de aquellos datos más importantes del curso académico como son: el horario de clases y las calificaciones de las asignaturas en las que se matricule. Esta aplicación, además de implementar la metodología propuesta, es una herramienta muy interesante para el alumno, ya que le permite utilizar de una forma sencilla e intuitiva gran número de funcionalidades de la escuela solucionando así los problemas de visualización de contenido web en los dispositivos. ABSTRACT. The main topic of this project is about the web scraping over HTML documents on Android OS. As a result thereof, it is proposed a methodology to perform web scraping in deployed applications for this operating system and based on this methodology that is useful to the ETSIST school students. Web scraping can be defined as a technique based on a number of content search algorithms in order to obtain certain information from web pages, discarding those that are not relevant. As a main part, has spent considerable time studying browsers and Web servers, and the HTML language that is present today in almost all websites as well as the mechanisms used for communication between client and server because they are the pillars which this technique is based. We performed a study of the techniques and tools needed, providing all the necessary theoretical concepts, as well as the proposal of a possible methodology for implementation. Finally it has codified UPMdroid application, developed in order to illustrate the implementation of the previously proposed methodology and also to give the student a mobile ETSIST Android support to facilitate access and display those most important data of the current academic year such as: class schedules and scores for the subjects in which you are enrolled. This application, in addition to implement the proposed methodology is also a very interesting tool for the student, as it allows a simple and intuitive way of use these school functionalities thus fixing the viewing web content on devices.
Resumo:
¿No sabes dónde comer un plato típico cuando estás de vacaciones? ¿Quieres ir con amigos a comer a un sitio distinto? ¿Quieres disfrutar de esa comida que tanto te gusta y no sabes dónde hacerlo? Con afán de responder a estas preguntas y gracias a las capacidades que nos brindan las nuevas tecnologías de dispositivos móviles, surge la aplicación que se presenta en este proyecto fin de carrera. Se trata de una aplicación para dispositivos móviles con sistema operativo Android que nos brindará la opción de encontrar restaurantes en nuestro entorno que nos ofrezcan esa comida que queremos. Además, a modo de red social, incluye la opción de poder puntuar los platos degustados en los restaurantes e insertar restaurantes nuevos, lo que hace que la aplicación tenga una mayor versatilidad. En este documento se podrán encontrar los diagramas UML que modelan el proyecto, tanto la parte de la aplicación como la parte del servidor. En él también podremos encontrar otra documentación como: un manual de usuario de la aplicación, el código fuente de la misma y proposiciones de futuras versiones y mejoras de la aplicación actual. ABSTRACT. Don’t you know where you can eat a typical dish when you are on holidays? Do you want to go to eat to a different place? Do you want to enjoy that meal you love and you don’t know where you can do it? To answer those questions and thanks to the possibilities of modern smartphones’ technology, we present this application in my degree’s final project. This application, which runs with an Android operative system, gives us the option to find restaurants in our environment that offer the meal we really want. In addition, as a social network, it includes the option to rate the tasted dishes or to add new restaurants, giving the application versatility. Nowadays our society is used to the use of smartphones and their possibilities. That is why we must to explore its potential to obtain better amenities. In the last few years the amount of available applications for these devices has increased too much, offering a huge variety of them. If we realize a research about their functionalities and uses we will discover that most of them are oriented to leisure. That is why we are going to start the inquiry of a software engineering project developing a restaurant localization restaurant for Android smartphones, In this document you can find the UMI diagrams which model the project, both the application part and the server part. Besides, you can find other documents as: an application user manual, the source and proposals for future versions and improvements.
Resumo:
El presente trabajo está enfocado a facilitar la realización de prácticas con equipamiento de laboratorio físico, permitiendo que se tenga acceso a diferentes escenarios virtuales (topologías de ejercicios) sin necesidad de variar la configuración física (conexionado) de dos kits de laboratorio oficial para CCNA Routing & Switching[1] y CCNA Security[2]. Para ello se plantea la creación de diferentes escenarios o topologías virtuales que puedan montarse sobre el mismo escenario de conexionado físico. Es necesario revisar y seleccionar los ejercicios prácticos más destacados en términos de importancia de las curriculas de CCNA Routing & Switching y CCNA Security. Naturalmente, estos ejercicios han de variar en sus interfaces, nomenclatura y documentación para que cuadren con las especificaciones disponibles del laboratorio físico, todo ello sin perder nada de su fundamento. Los escenarios físicos deben de ser lo más versátiles posibles para dar soporte a las topologías requeridas en los ejercicios prácticos de los cursos oficiales de CISCO CCNA Routing & Switching y CCNA Security, con el objetivo de realizar los mínimos cambios de configuración física posibles, y poder simultanear la realización de diferentes prácticas y entre alumnos de diferentes asignaturas. También se pretende posibilitar que los profesores desarrollen sus propios ejercicios prácticos compatibles con el conexionado físico escogido. Para ello se utilizará un servidor de acceso (Access Server) para que los alumnos puedan configurar de forma remota los diferentes equipos sin necesidad de acudir en persona al laboratorio, aunque esta también sea una opción más que viable. Los dos escenarios contarán con tres routers, tres switches y un firewall, de forma que han sido montados en su respectivo armario, al igual que sus conexiones y cableado. La deshabilitación de puertos en los diferentes equipos de red que forman el kit de laboratorio (routers, switches y firewalls) dará lugar a los diferentes escenarios virtuales. Se crearán VLANs en los switches para establecer diferentes conexiones. Estos escenarios deberán ofrecer la variedad necesaria para realizar las diferentes prácticas necesarias en las asignaturas “Tecnologías de Red CISCO: CCNA” [3], “Redes y Comunicaciones” [4] y “Diseño y Seguridad de Redes” [5]. Además, para facilitar y agilizar el cambio entre topologías, se debe automatizar la configuración básica de cada escenario virtual (activación/desactivación de puertos) en base a la topología deseada, y el establecimiento de una configuración inicial. De forma que los alumnos puedan comenzar los ejercicios de igual forma a lo que ven en los documentos explicativos, y en el caso de terminar su sesión (o cerrarla voluntariamente) que sus progresos en el mismo se guarden para posteriores sesiones de forma que puedan proseguir su tarea cuando deseen.---ABSTRACT---The present work is aimed at facilitating the experiments with equipment Physical Laboratory, allowing access to different virtual scenarios (topologies exercises) without changing the physical configuration (connection) with two kits of official laboratory for CCNA Routing & Switching[1] and CCNA Security[2]. This requires the creation of different scenarios or virtual topologies that can be mounted on the same physical connection scenario arises. It is necessary to review and select the most prominent practical exercises in terms of importance of curricula of CCNA Routing and Switching, and CCNA Security. Naturally, these exercises must vary in their interfaces, nomenclature and documentation available that fit the specifications of the physical laboratory, all without losing any of its foundation. The physical setting should be as versatile as possible to support topologies required in the practical exercises of official courses CISCO Routing and Switching CCNA, and CCNA Security, in order to make the minimum possible changes in physical configuration, and can simultaneous realization of different practices, and between students of different subjects. It also aims to enable teachers to develop their own practical exercises compatible with the physical connection chosen. For this, we will use an Access Server will be used by the students to access remotely to configure different computers without having to go in person to the laboratory, but this is also an other viable option. The two scenarios have three routers, three switches and a firewall, so that have been mounted in their respective rack, as well as their connections and wiring. Disabling ports on different network equipment that make up the lab kit (routers, switches and firewalls) will lead to different virtual scenarios. These scenarios should provide the variety needed to perform the necessary practices in different subjects "Network Technologies CISCO: CCNA"[3], "Networking and Communications"[4] and "Design and Network Security." [5] Moreover, to facilitate and expedite the exchange topologies, it was necessary to automate the basic configuration of each virtual setting (on/off ports) based on the desired topology, and the establishment of an initial configuration. So that, the students can begin the exercises equally to what they see on explanatory documents, and if they finish their session (or close voluntarily) their progress on the exercise will be saved for future sessions so that they can continue their work when they want.
Resumo:
RESUMEN DEL PROYECTO Organizar actividades y proyectos entre varias personas o tomar decisiones conjuntas son cuestiones a las que se enfrenta cualquier individuo en su día a día. El simple hecho de coordinar o poner de acuerdo a un grupo reducido de personas puede llegar a suponer un gran problema ya que cada participante tiene sus propias preferencias y, en ocasiones, es difícil conseguir encajarlas con las demás del grupo. Este proyecto, llamado “DealtDay”, surge para facilitar esta labor. La idea nace ante la necesidad de organizar, de forma fácil e intuitiva, a un grupo de personas para, por ejemplo, concretar una reunión, quedar para ir a dar una vuelta, decidir qué película ver, etc. Este proyecto se ha desarrollado basándose en el sistema actual de relaciones con el que se han creado la mayoría de las redes sociales que hoy conocemos. Como medio para poder hacer uso del proyecto se ha construido una aplicación web que, gracias a las decisiones de diseño tomadas, se puede usar tanto en un ordenador, una tablet o un Smartphone. Este punto se considera fundamental ya que cada vez más personas están dejando de lado los ordenadores corrientes para dar paso al uso de las nuevas tecnologías. Además, se ha creado una API REST, lo que nos permite utilizar todas las funcionalidades de la aplicación desde cualquier sistema que pueda realizar peticiones http. En este proyecto en concreto se realizará la parte del desarrollo de la API, el cliente web y el despliegue de la aplicación en un servidor web para realizar las pruebas pertinentes. ABSTRACT To organize activities and projects between several people or make joint decisions are issues to which any person faces every day.The simple fact of coordinate or coming to an agreement with a group of persons could be a major problem, since each participant has their own preferences and often fails when tries to fit them with the group. This project, called “Dealt Day”, is born to facilitate this task. The idea arises of how to achieve organize a group of people in an easily and intuitively way in order to arrange a meeting, be able to go for a walk, decide what movie to see or simply vote a choice between a users group. This project has been developed based on the current relation system that has been created in the most social networks we know. As a means of making use of the project a web application has been built, that thanks to the design decisions taken it can be used in a computer, tablet or smartphone, This is an essential point because more and more people are abandoning the current computers to make way for the use of new technologies. Also, a REST API has been created, which allows us to use all the features of the application from any system able to make http requests. In this particular project, I have done the development of the API, web client and the application deployment on a web server in order to test it.
Resumo:
The availability of electronic health data favors scientific advance through the creation of repositories for secondary use. Data anonymization is a mandatory step to comply with current legislation. A service for the pseudonymization of electronic healthcare record (EHR) extracts aimed at facilitating the exchange of clinical information for secondary use in compliance with legislation on data protection is presented. According to ISO/TS 25237, pseudonymization is a particular type of anonymization. This tool performs the anonymizations by maintaining three quasi-identifiers (gender, date of birth and place of residence) with a degree of specification selected by the user. The developed system is based on the ISO/EN 13606 norm using its characteristics specifically favorable for anonymization. The service is made up of two independent modules: the demographic server and the pseudonymizing module. The demographic server supports the permanent storage of the demographic entities and the management of the identifiers. The pseudonymizing module anonymizes the ISO/EN 13606 extracts. The pseudonymizing process consists of four phases: the storage of the demographic information included in the extract, the substitution of the identifiers, the elimination of the demographic information of the extract and the elimination of key data in free-text fields. The described pseudonymizing system was used in three Telemedicine research projects with satisfactory results. A problem was detected with the type of data in a demographic data field and a proposal for modification was prepared for the group in charge of the drawing up and revision of the ISO/EN 13606 norm.
Resumo:
One of the key factors for a given application to take advantage of cloud computing is the ability to scale in an efficient, fast and reliable way. In centralized multi-party video conferencing, dynamically scaling a running conversation is a complex problem. In this paper we propose a methodology to divide the Multipoint Control Unit (the video conferencing server) into more simple units, broadcasters. Each broadcaster receives the media from a participant, processes it and forwards it to the rest. These broadcasters can be distributed among a group of CPUs. By using this methodology, video conferencing systems can scale in a more granular way, improving the deployment.
Resumo:
We introduce the need for a distributed guideline-based decision sup-port (DSS) process, describe its characteristics, and explain how we implement-ed this process within the European Union?s MobiGuide project. In particular, we have developed a mechanism of sequential, piecemeal projection, i.e., 'downloading' small portions of the guideline from the central DSS server, to the local DSS in the patient's mobile device, which then applies that portion, us-ing the mobile device's local resources. The mobile device sends a callback to the central DSS when it encounters a triggering pattern predefined in the pro-jected module, which leads to an appropriate predefined action by the central DSS, including sending a new projected module, or directly controlling the rest of the workflow. We suggest that such a distributed architecture that explicitly defines a dialog between a central DSS server and a local DSS module, better balances the computational load and exploits the relative advantages of the cen-tral server and of the local mobile device.
Resumo:
El presente trabajo describe la construcción de una aplicación que controla a un Non Player Character (NPC), en un mundo virtual. La aplicación desarrollada, que tiene como nombre BotManager, realiza dos tareas fundamentales: 1) conectarse al repositorio de conocimiento, que en esta implementación es una ontología expresada en OWL, para obtener las acciones que debe realizar el NPC dentro del mundo virtual; y 2) ordenar al NPC que realice estas acciones en un mundo virtual creado con la plataforma OpenSimulator. BotManager puede tener variadas aplicaciones, por lo tanto puede ser usada como complemento en mundos virtuales aplicados a la educación, simulación, ocio, etc. Ahora bien, la principal razón que motivó el desarrollo del BotManager fue la de crear un sistema de demostración automática de tareas en un mundo virtual destinado a la educación/ entrenamiento. De esta forma, un Sistema Inteligente de Tutoría integrado con un mundo virtual podría demostrar paso a paso a un estudiante cómo realizar una tarea en el mundo virtual. La ontología que lee el BotManager extiende la ontología propuesta en la tesis “Una propuesta de modelado del estudiante basada en ontologías y diagnóstico pedagógico-cognitivo no monótono” de Julia Parraga en el 2011 (Ontología de Julia). La construcción y las pruebas del BotManager se llevaron a cabo en tres etapas: 1) creación de la Ontología de Acciones del NPC que extiende la Ontología de Julia; 2) diseño e implementación de la aplicación en C# que lee la ontología que contiene el plan de acción del NPC, y ordena al NPC realizar las acciones en el mundo virtual; y 3) pruebas de la aplicación con la práctica “preparación de una taza de cafe”, que es parte de un Laboratorio Virtual de Biotecnología. El BotManager se ha diseñado como una aplicación cliente que se conecta a un servidor de Open- Simulator. Por lo tanto, puede ejecutarse en una máquina distinta a la del servidor. Asimismo, en la implementación del BotManager se ha utilizado una librería gratuita denominada LibOpenMetaverse que permite controlar un NPC de forma remota.---ABSTRACT---This paper describes the construction of an application that controls a Non Player Character (NPC), in a virtual world. The application developed, called BotManager, performs two main tasks: 1) the connection to the repository of knowledge, which in this implementation is an ontology expressed in OWL, and retrieving the actions to be performed by the NPC within the virtual world; and 2) commanding the NPC to perform these actions in a virtual world created with the OpenSimulator platform. BotManager can have diverse applications, therefore it can be used as a complement in virtual worlds applied to education, simulation, entertainment, etc. However, the main reason behind the development of BotManager was to create an automatic demonstration of tasks in a virtual world for education / training. Thus, a virtual world integrated with an Intelligent Tutoring Systems could demonstrate step by step to a student how to perform a task in the virtual world. The ontology used by the BotManager extends ontology proposed in the thesis “A proposal for modeling ontologies based student and not monotonous teaching-cognitive diagnosis” by Julia Parraga in 2011 (Julia’s Ontology). Construction and testing of BotManager were conducted in three stages: 1) creation of the NPC Actions Ontology by extending the Julia’s Ontology; 2) design and implementation of the application in C# that reads the ontology containing the plan of action of the NPC, and commands the NPC to perform the read plan in the virtual world; and 3) testing of the application with the practice “preparing a cup of coffee”, which is part of a Virtual Laboratory of Biotechnology. The BotManager has been designed as a client application that connects to an OpenSimulator server. Therefore, it can run on a different machine to the server. To implement the BotManager we have used a free library called libopenmetaverse that allows us to control a NPC remotely.
Resumo:
Aunque se han logrado importantes avances en estudios de laboratorio con diseños experimentales poco representativos (e.g., Farrow y Reid, 2012; Nieminen, Piirainen, Salmi, y Linnamo, 2013), a día de hoy, todavía se desconoce a cabalidad cómo los jugadores de tenis de diferente nivel de pericia calibran o ajustan sus movimientos a las demandas espacio-temporales presentes en la tarea de resto de un primer servicio. ! Escasos trabajos se han llevado a cabo in situ y a la mayoría se les puede cuestionar algún aspecto de la metodología empleada. Así pues, en varios estudios la frecuencia de grabación ha sido limitada (e.g., a 50 Hz en Jackson y Gudgeon, 2004; Triolet, Benguigui, Le Runigo y Williams, 2013), o la velocidad del saque ha sido visiblemente inferior a la habitual (cf. Carboch, Süss y Kocib, 2014; Williams, Singer y Weigelt, 1998). También, en algunos estudios los participantes experimentados no han sido jugadores de nivel internacional (e.g., Avilés, Ruiz, Sanz y Navia, 2014), y el tamaño muestral ha sido muy pequeño (e.g., Gillet, Leroy, Thouvarecq, Mégrot y Stein, 2010). ! Además, en los diferentes trabajos se han utilizado una diversidad de métodos e instrumentos de medida y los criterios de codificación del inicio de los movimientos y de las respuestas han diferido; como consecuencia el lapso visomotor de respuesta (LVMr) ha sido muy dispar variando considerablemente de 198 a 410 ms. Considerando los inconvenientes señalados anteriormente, el presente estudio tuvo como objetivo determinar un modelo técnico de regulación temporal de los movimientos y de la respuesta del restador, tomando en cuenta el flujo continuo de información proporcionado por el sacador. Para ello, se realizó un análisis cronométrico de los restos de doce jugadores de diferente nivel deportivo (seis internacionales y seis nacionales) que respondieron de forma natural enviando sus devoluciones hacia las dianas. Se grabaron las acciones de los restadores y sacadores con una cámara Casio Exilim Pro Ex-F1 de alta velocidad (300 Hz) y luego se realizó un análisis imagen por imagen cada 3.33 ms. Una vez obtenidos los datos de los vídeos se realizaron análisis con las pruebas de ANOVA de un factor, ANCOVA con la velocidad del saque como covariable, U de Mann-Whitney y Chi-cuadrado de Pearson. En cuanto a la regulación del movimiento hasta el momento del despegue, los jugadores internacionales iniciaron sus acciones antes que los jugadores nacionales lo que podría indicar una mejor preparación al ejecutar los movimientos como reflejo del nivel de pericia. Los jugadores internacionales iniciaron la elevación del pie posterior a -293 ms y los jugadores nacionales a -202 ms. Todas estas acciones se fueron enlazando unas con otras y fue en el momento del impacto del sacador donde los restadores demostraron una remarcable coordinación perceptivo-motriz. Por consiguiente, los jugadores internacionales despegaron e iniciaron el vuelo a tan solo -6.5 ms del impacto y los jugadores nacionales lo hicieron más tarde a +19.5 ms. A lo largo de la secuencia temporal, todo parece indicar que las informaciones que utilizan los restadores interactúan entre sí; información más temprana y menos fiable para anticipar o moverse antes e información más tardía y más fiable para regular la temporalización de las acciones. Los restadores de nivel internacional y nacional anticiparon a nivel espacial en un bajo porcentaje (7.7% vs. 13.6%) y en tiempos similares (-127 vs. -118 ms) sugiriendo que la utilización de variables ópticas tempranas y menos fiables solo se produce en contadas ocasiones. Por otra parte, estos datos se relacionan con una gran precisión en la respuesta ya que tanto los jugadores internacionales como los nacionales demostraron un alto porcentaje de acierto al responder (95.4% vs. 96.7%). Se había señalado que los jugadores internacionales y nacionales se diferenciarían en el tiempo de caída (i.e., aterrizaje) del primer pie del salto preparatorio, sin embargo ese efecto no fue encontrado (128 vs. 135 ms). Tampoco se hallaron diferencias en el porcentaje de caída con el pie contrario a la dirección de la pelota (58% vs. 62%). Donde sí ambos grupos se diferenciaron fue en el tiempo de caída del segundo pie (147 vs. 168 ms). Esta diferencia de 21 ms fue crucial y fue una prueba de la mayor rapidez de los jugadores internacionales; sugiriendo que ésta acción se podría relacionar con el momento del inicio de la respuesta. Aunque los jugadores internacionales hayan demostrado ser más rápidos en relación con sus capacidades funcionales, ambos grupos no se diferenciaron en todas las variables relacionadas con el LVMr. Ellos no utilizaron esos valiosos milisegundos ganados en el instante de la caída del segundo pie para responder más pronto, ya que el LVMr del miembro superior fue el mismo para ambos grupos (179 vs. 174 ms). Es como si hubiesen tenido todo el tiempo del mundo para seguir ajustando sus acciones hasta el propio golpeo. Además, estos tiempos largos sugieren que en la gran mayoría de los restos la información clave que determinó la respuesta fue detectada (extraída) en momentos cercanos al golpeo del sacador y en la primera parte del vuelo de la pelota. Asimismo, se constató que en general el LVMr se ve influenciado por el tipo de información utilizada. De esta manera, cuando se tomaron en cuenta los ensayos en los que hubo anticipación espacial reflejados en el LVMr del cuerpo entero los tiempos disminuyeron (152 vs. 136 ms). Por otra parte, existieron ocasiones (13%) en los que tanto los jugadores internacionales como los nacionales respondieron tarde recibiendo saques directos (208 vs. 195 ms). Es muy posible que en estos casos los jugadores hayan tenido problemas para detectar la información respondiendo fuera de los márgenes temporales de acción lo que mermó su rendimiento. Lo mismo pudo haber ocurrido cuando ambos grupos de jugadores corrigieron el movimiento del miembro superior tras el impacto (17% vs. 10%) lo que aumentó el tiempo en responder al redirigir la respuesta hacia el lado correcto (208 vs. 205 ms). Además, los jugadores internacionales obtuvieron tiempos de movimiento menores que el de los jugadores nacionales (509 vs. 531 ms) lo que se reflejó en un tiempo total de actuación menor (683 vs. 703 ms). Por último, en cuanto al rendimiento del resto, los jugadores internacionales obtuvieron valores superiores a los jugadores nacionales (1.3 vs. 0.9). ABSTRACT Although there have been significant advances in laboratory studies with unrepresentative experimental designs (e.g., Farrow y Reid, 2012; Nieminen, Piirainen, Salmi, y Linnamo, 2013), today it is still unknown to full extent how tennis players of different levels of expertise calibrate or adjust their movements to the spatial-temporal demands present in the return of a first serve. Few studies have been carried out in situ and some aspects of the methodology most of them used can be questioned. Thus, in several studies the recording frequency has been limited (e.g., a 50 Hz en Jackson y Gudgeon, 2004; Triolet, Benguigui, Le Runigo y Williams, 2013), or serve speed was visibly lower than the usual one (cf. Carboch, Süss y Kocib, 2014; Williams, Singer y Weigelt, 1998). Also, in some studies, experienced participants have not played at international level (e.g., Avilés, Ruiz, Sanz y Navia, 2014), and the sample size has been very small (e.g., Gillet, Leroy, Thouvarecq, Mégrot y Stein, 2010). Furthermore, different works have used a variety of methods and measurement instruments and coding criteria of the onset of movements and responses have differed; due to this, visuomotor response delay (LVMr) has been very uneven, varying considerably from 198-410 ms. Considering the drawbacks mentioned above, this study aimed to determine a technical model of temporal regulation of movements and returner’s response, taking into account the continuous flow of information provided by the server. For this, a chronometric analysis of the returns of twelve players (six international and six national) of different sports level, that naturally responded by hitting their returns towards the targets, was performed. Actions of servers and returners were recorded with a Casio Exilim Pro Ex-F1 high speed camera (300 Hz) and then every 3.33 ms analysis was made frame by frame. Once the data of the videos were obtained, analyses were performed using one factor ANOVA test, ANCOVA with the speed of the serve as a covariate, U of Mann- Whitney and Pearson’s Chi-square test. As for the regulation of movement until the moment of serve, international players began their actions before national players, which could indicate that they were better prepared to execute movements reflecting the level of their expertise. International players began raising the rear foot at -293 ms and national players at -202 ms. All these actions were being linked to each other and it was at the moment of impact of the server when the receivers demonstrated a remarkable perceptual-motor coordination. Therefore, international players took off and started their flight just -6.5 ms before the serve and national players did the same somewhat later: +19.5 ms after the serve. Along the timeline, everything seems to indicate that the information used by returners interact with each other; early information which is less reliable to anticipate or move before, and later information more reliable appears to regulate the timing of actions. Returners of international and national levels anticipated at spatial level in a low percentage (7.7% vs. 13.6%) and in similar times (-127 vs. -118 ms) suggesting that the use of early and less reliable optical variables is only produced on rare occasions. Moreover, these data relate to a precise response as both international and national players showed a high percentage of success in responding (95.4% vs. 96.7%). It had been noted that international and national players would differ in the time the fall (i.e., landing) of the first foot of the split-step, however, this effect was not found (128 vs. 135 ms). No differences in the percentage of fall with the opposite foot to the direction of the ball (58% vs. 62%) were found. Where the two groups differed was in the time of the fall of the second foot (147 vs. 168 ms). This difference of 21 ms was crucial and it was a proof of mayor speed of international players; suggesting that this action could be related to the onset time of response. Although international players have proven to be faster in relation to their functional capabilities, both groups did not differ in all variables related to LVMr. They did not use those precious milliseconds earned at the time of the fall of the second foot to respond as soon, since the LVMr of the upper limb was the same for both groups (179 vs. 174 ms). It is as if they had all the time in the world to continue to adjust their actions until the return itself. Furthermore, these long times suggest that in the vast majority of the returns, key information that determined the response was detected (pick-up) in moments close to the hit of the server and in the first part of the ball flight. It was also found that in general the LVMr is influenced by the type of information used. Thus, when taking into account the trials during which there was spatial anticipation, reflected in LVMr of the whole body, the times decreased (152 vs. 136 ms). On the other hand, there were occasions (13%) where both international and national players responded late, thus receiving aces (208 vs. 195 ms). It is quite possible that in these cases the players have had trouble to pick-up information, responding out of temporary margins of action, which affected their performance. The same could have occurred when both groups of players corrected upper limb movement after impact (17% vs. 10%), which increased the time to respond and to redirect the return towards the right side (208 vs. 205 ms). Moreover, international players scored lower movement times than the national players (509 vs. 531 ms), which was reflected in a shorter total response time (683 vs. 703 ms). Finally, as far as the performance of return is concerned, international players scored above the national players values (1.3 vs. 0.9).
Resumo:
En esta tesis se aborda el problema de la externalización segura de servicios de datos y computación. El escenario de interés es aquel en el que el usuario posee datos y quiere subcontratar un servidor en la nube (“Cloud”). Además, el usuario puede querer también delegar el cálculo de un subconjunto de sus datos al servidor. Se presentan dos aspectos de seguridad relacionados con este escenario, en concreto, la integridad y la privacidad y se analizan las posibles soluciones a dichas cuestiones, aprovechando herramientas criptográficas avanzadas, como el Autentificador de Mensajes Homomórfico (“Homomorphic Message Authenticators”) y el Cifrado Totalmente Homomórfico (“Fully Homomorphic Encryption”). La contribución de este trabajo es tanto teórica como práctica. Desde el punto de vista de la contribución teórica, se define un nuevo esquema de externalización (en lo siguiente, denominado con su término inglés Outsourcing), usando como punto de partida los artículos de [3] y [12], con el objetivo de realizar un modelo muy genérico y flexible que podría emplearse para representar varios esquemas de ”outsourcing” seguro. Dicho modelo puede utilizarse para representar esquemas de “outsourcing” seguro proporcionando únicamente integridad, únicamente privacidad o, curiosamente, integridad con privacidad. Utilizando este nuevo modelo también se redefine un esquema altamente eficiente, construido en [12] y que se ha denominado Outsourcinglin. Este esquema permite calcular polinomios multivariados de grado 1 sobre el anillo Z2k . Desde el punto de vista de la contribución práctica, se ha construido una infraestructura marco (“Framework”) para aplicar el esquema de “outsourcing”. Seguidamente, se ha testado dicho “Framework” con varias implementaciones, en concreto la implementación del criptosistema Joye-Libert ([18]) y la implementación del esquema propio Outsourcinglin. En el contexto de este trabajo práctico, la tesis también ha dado lugar a algunas contribuciones innovadoras: el diseño y la implementación de un nuevo algoritmo de descifrado para el esquema de cifrado Joye-Libert, en colaboración con Darío Fiore. Presenta un mejor comportamiento frente a los algoritmos propuestos por los autores de [18];la implementación de la función eficiente pseudo-aleatoria de forma amortizada cerrada (“amortized-closed-form efficient pseudorandom function”) de [12]. Esta función no se había implementado con anterioridad y no supone un problema trivial, por lo que este trabajo puede llegar a ser útil en otros contextos. Finalmente se han usado las implementaciones durante varias pruebas para medir tiempos de ejecución de los principales algoritmos.---ABSTRACT---In this thesis we tackle the problem of secure outsourcing of data and computation. The scenario we are interested in is that in which a user owns some data and wants to “outsource” it to a Cloud server. Furthermore, the user may want also to delegate the computation over a subset of its data to the server. We present the security issues related to this scenario, namely integrity and privacy and we analyse some possible solutions to these two issues, exploiting advanced cryptographic tools, such as Homomorphic Message Authenticators and Fully Homomorphic Encryption. Our contribution is both theoretical and practical. Considering our theoretical contribution, using as starting points the articles of [3] and [12], we introduce a new cryptographic primitive, called Outsourcing with the aim of realizing a very generic and flexible model that might be employed to represent several secure outsourcing schemes. Such model can be used to represent secure outsourcing schemes that provide only integrity, only privacy or, interestingly, integrity with privacy. Using our new model we also re-define an highly efficient scheme constructed in [12], that we called Outsourcinglin and that is a scheme for computing multi-variate polynomials of degree 1 over the ring Z2k. Considering our practical contribution, we build a Framework to implement the Outsourcing scheme. Then, we test such Framework to realize several implementations, specifically the implementation of the Joye-Libert cryptosystem ([18]) and the implementation of our Outsourcinglin scheme. In the context of this practical work, the thesis also led to some novel contributions: the design and the implementation, in collaboration with Dario Fiore, of a new decryption algorithm for the Joye-Libert encryption scheme, that performs better than the algorithms proposed by the authors in [18]; the implementation of the amortized-closed-form efficient pseudorandom function of [12]. There was no prior implementation of this function and it represented a non trivial work, which can become useful in other contexts. Finally we test the implementations to execute several experiments for measuring the timing performances of the main algorithms.
Resumo:
El objetivo del proyecto es implantar un sistema de monitorización, con la peculiaridad de encontrarse en alta disponibilidad, esto es, que el servicio (la monitorización de una infraestructura) se preste forma continua y no se vea interrumpido. Dado que el propósito del sistema es monitorizar activamente una infraestructura, ha sido necesario desplegar una infraestructura, además del sistema de monitorización. La infraestructura en cuestión está compuesta por un servidor de documentación, un servidor de base de datos, un servidor de aplicaciones y un servidor web. El sistema de monitorización se ha desplegado en la misma red de área local de esta infraestructura y monitoriza que los servicios prestados por los componentes de esta infraestructura se encuentren operativos y funcionando adecuadamente. Así pues, se tendría un sistema de monitorización local funcional. No obstante, el proyecto plantea un sistema escalable, que esté preparado para el crecimiento de la infraestructura y continúe siendo eficiente. Para ello, sistema de monitorización se encuentre dividido por dos componentes: Sonda delegada: monitoriza localmente los activos de la infraestructura a monitorizar, es el escenario anteriormente descrito. Sonda maestra: recibe los resultados de la monitorización realizada, este sistema puede estar desplegado en otra red distinta a la sonda delegada. Este enfoque no solo es escalable, sino también es fiel a la realidad, pues puede darse el caso de que las sondas pertenezcan a distintas infraestructuras e inclusive, distintas organizaciones, y se comuniquen a través de internet, mediante un mecanismo confiable a ser posible. El proyecto plantea que ambas sondas se encuentren en alta disponibilidad (en adelante HA, referente a high availability), y que cada sonda está compuesta por dos equipos (nodos, en adelante). Como se analizará en posteriores capítulos, existen diversas configuraciones que permiten implantar un sistema en HA, la configuración escogida para el proyecto es Activo – Pasivo(los detalles de esta configuración también se explican en posteriores capítulos). Para finalizar, se estudiara la posibilidad de ofrecer respuestas activas en ciertas situaciones y configuraciones adicionales sobre el sistema de monitorización base. Por otro lado, para la implantación del proyecto se ha usado software de código abierto para la virtualización de la infraestructura (Virtual Box y GNS3), los sistemas operativos base (Linux), el sistema de monitorización(Nagios Core) así como el software que implementa la HA (corosync y pacemaker).---ABSTRACT---The aim of the Project is to implement a monitoring system, with the peculiarity of being deployed in high availability, what it is that the service (monitoring infrastructure) is provided continuously and not interrupted. As the purpose of the system is monitoring infrastructure actively, an infrastructure has been deployed, and also the monitoring system. The infrastructure monitored is composed of a documentation server, a server database, an application server and a Web server. The monitoring system has been also deployed on the same LAN of this infrastructure and monitors the services provided by the components of this infrastructure are operational and working as expected. This is a local monitoring system functional. However, the project also proposes a scalable system that is ready for growth of infrastructure and efficient. This is the reason of divide the system in two components: Slave Component: monitors locally the infrastructure assets to be monitored, this is the scenario described above. Master Component: get the results from the monitoring, provided by the Slave Component. This system can be deployed in a different network than the slave component. This approach is not only scalable but also a real scenario, as may be the case that the Components belongs to different infrastructures and even, different organizations, also this components can communicate over the Internet, through a reliable mechanism if possible. The project proposes that both Components are deployed in high availability (HA onwards concerning high availability), each Component is composed of two servers (nodes, hereafter). As will be discussed in later chapters, there are several settings available to deploy a system in HA, the configuration chosen for the project is Active - Passive (details of this configuration are also explained in later chapters). Finally the possibility of offering active responses in certain situations and additional settings on the monitoring system will be discussed. On the other hand, for the implementation of the project, open source software has been used, for virtualization infrastructure (Virtual Box and GNS3), code-based operating systems (Linux), the monitoring system (Nagios core), as well as the software that implements the HA (corosync and pacemaker).