7 resultados para gamification,gwap,qr-code,accessibilità,barriere,pervasive game
em Universidad Politécnica de Madrid
Resumo:
Proof carrying code (PCC) is a general is originally a roof in ñrst-order logic of certain vermethodology for certifying that the execution of an un- ification onditions and the checking process involves trusted mobile code is safe. The baste idea is that the ensuring that the certifícate is indeed a valid ñrst-order code supplier attaches a certifícate to the mobile code proof. which the consumer checks in order to ensure that the The main practical difñculty of PCC techniques is in code is indeed safe. The potential benefit is that the generating safety certiñeates which at the same time: i) consumer's task is reduced from the level of proving to allow expressing interesting safety properties, ii) can be the level of checking. Recently, the abstract interpre- generated automatically and, iii) are easy and efficient tation techniques developed, in logic programming have to check. In [1], the abstract interpretation techniques been proposed as a basis for PCC. This extended ab- [5] developed in logic programming1 are proposed as stract reports on experiments which illustrate several is- a basis for PCC. They offer a number of advantages sues involved in abstract interpretation-based certifica- for dealing with the aforementioned issues. In particution. First, we describe the implementation of our sys- lar, the xpressiveness of existing abstract domains will tem in the context of CiaoPP: the preprocessor of the be implicitly available in abstract interpretation-based Ciao multi-paradigm programming system. Then, by code certification to deñne a wide range of safety propermeans of some experiments, we show how code certifi- ties. Furthermore, the approach inherits the automation catión is aided in the implementation of the framework. and inference power of the abstract interpretation en- Finally, we discuss the application of our method within gines used in (Constraint) Logic Programming, (C)LP. the área, of pervasive systems
Resumo:
Proof carrying code is a general methodology for certifying that the execution of an untrusted mobile code is safe, according to a predefined safety policy. The basic idea is that the code supplier attaches a certifícate (or proof) to the mobile code which, then, the consumer checks in order to ensure that the code is indeed safe. The potential benefit is that the consumer's task is reduced from the level of proving to the level of checking, a much simpler task. Recently, the abstract interpretation techniques developed in logic programming have been proposed as a basis for proof carrying code [1]. To this end, the certifícate is generated from an abstract interpretation-based proof of safety. Intuitively, the verification condition is extracted from a set of assertions guaranteeing safety and the answer table generated during the analysis. Given this information, it is relatively simple and fast to verify that the code does meet this proof and so its execution is safe. This extended abstract reports on experiments which illustrate several issues involved in abstract interpretation-based code certification. First, we describe the implementation of our system in the context of CiaoPP: the preprocessor of the Ciao multi-paradigm (constraint) logic programming system. Then, by means of some experiments, we show how code certification is aided in the implementation of the framework. Finally, we discuss the application of our method within the área of pervasive systems which may lack the necessary computing resources to verify safety on their own. We herein illustrate the relevance of the information inferred by existing cost analysis to control resource usage in this context. Moreover, since the (rather complex) analysis phase is replaced by a simpler, efficient checking process at the code consumer side, we believe that our abstract interpretation-based approach to proof-carrying code becomes practically applicable to this kind of systems.
Resumo:
Customer Satisfaction Surveys (CSS) have become an important tool for public transport planners, as improvements in the perceived quality of service lead to greater use of public transport and lower traffic pollution. Until now, Intelligent Transportation System (ITS) enhancements in public transport have traditionally included fleet management systems based on Automatic Vehicle Location (AVL) technologies, which can be used to optimize routing and scheduling, and to feed real-time information into passenger information channels. However, surveys of public transport users could also benefit from the new information technologies. As most customers carry their smartphones when traveling, Quick Response (QR) codes open up the possibility of conducting these surveys at a lower cost.This paper contributes to the limited existing literature by developing the analysis of QR codes applied to CSS in public transport and highlighting their importance in reducing the cost of data collection and processing. The added value of this research is that it provides the first assessment of a real case study in Madrid (Spain) using QR codes for this purpose. This pilot experience was part of a research project analyzing bus service quality in the same case study, so the QR code survey (155 valid questionnaires) was validated using a conventional face-to-face survey (520 valid questionnaires). The results show clearly that, after overcoming a few teething troubles, this QR code application will ultimately provide transport management with a useful tool to reduce survey costs
Resumo:
Este proyecto fin de carrera trata de mejorar los sistemas actuales de control en la visualización de diapositivas. La solución adoptada constará de un sistema con modelo cliente-servidor. El servidor formado por un mini ordenador, en este caso una Raspberry Pi, que estará conectado al proyector de video. Este servidor se mantendrá a la espera de recibir una conexión entrante vía Bluetooth. Una vez se realice la conexión interpretará los comandos mandados por el cliente a través de una API con formato JSON y realizará las acciones indicadas para el control de la presentación. El cliente será una aplicación móvil para dispositivos Android. A través de ella el profesor accederá al servidor escaneando un código QR que será proyectado y una vez conectado enviará los comandos de control de la presentación, tales como abrir una presentación, avanzar y retroceder diapositiva, etc. La solución final deberá ser eficiente, sencilla de utilizar y con un bajo coste para resultar atractiva y ser así útil en el mundo real. Para ello se contará con valores añadidos como el poder iniciar la presentación desde el dispositivo móvil, el mostrar las notas de la diapositiva actual o contar con un temporizador para permitir un mejor control sobre el tiempo disponible para la presentación. ABSTRACT. This final project pursues the improvement of the current presentation control systems. The solution it provides is based on a server-client architecture. The server will be a mini PC, a Raspberry Pi model in this case, that will be connected to a video projector or a screen monitor. This server will remain idle waiting for an incoming Bluetooth connection. Once the connection is accepted the server will parse the commands sent by the client through a JSON API and will execute them accordingly to control the system. The client we decided to develop is an Android application. The speaker will be able to connect with the server by scanning a QR code that will be generated and displayed into the projector or screen monitor. Once the connection is accepted the client will sent the commands to control the slides, such as opening a presentation, move forward and backwards, etc. The adopted solution must be efficient, easy to use and with low cost to be appealing and useful to the real world. To accomplish the task this project will count with improvements over the current systems, such as the possibility to open a presentation from the smartphone, the visualization of the current slide notes from the mobile phone and a countdown timer to have a better control over the available time for the presentation.
Resumo:
Obtener la información deseada de la lista de ingredientes de un producto alimenticio no siempre es fácil. Muchas personas necesitan obtener datos muy concretos de una lista de ingredientes y en un tiempo razonable para poder decidir si ese producto es apto para su dieta. Personas con alergias, intolerancias, celíacos, diabéticos, vegetarianos o que sigan cualquier otro tipo de dieta o normativa como por ejemplo la normativa islámica (alimentos Halal) necesitan saber exactamente qué contiene lo que se van a comer. Además existe el problema del idioma, algunos productos de importación no tienen la lista de ingredientes traducida correctamente, suelen llevar una pegatina con los ingredientes en el idioma del país y ésta, cuando existe, no siempre tiene la información exacta. El problema del idioma se presenta también cuando estamos de viaje o viviendo en un país en el que no dominamos el idioma. Y por último también existen a menudo problemas físicos para leer los ingredientes. En la mayoría de los casos el tipo de letra es demasiado pequeño y en muchos la combinación de colores usada hace que la lectura sea difícil. Si además el consumidor tiene algún problema de visión la lectura de la lista de ingredientes se vuelve muy complicada o imposible. Por tanto, no siempre podemos llegar a la conclusión de si se puede o no consumir un producto por su lista de ingredientes. Para poder leer una lista de ingredientes sin importar donde nos encontremos o el idioma y el modo en que esté escrita, y ser capaces de obtener toda la información deseada en un idioma que entendamos y todo esto en pocos segundos necesitamos un Lector de Ingredientes. El lector de ingredientes que se describe en este proyecto tiene por objeto exactamente eso, leer automáticamente la lista de ingredientes de cualquier producto alimenticio y darnos la información deseada. Esta información puede simple “es apto”/”no es apto” para nuestra dieta. Esta idea nos obliga a diseñar una nueva manera de escribir y de leer la lista de ingredientes. Para que la lista de ingredientes pueda ser entendida por todo el mundo ésta debe estar escrita en un idioma universal. Se va a crear pues una Base de Datos de Ingredientes con todos los ingredientes posibles. Estos ingredientes vendrán identificados con un código y será este código el que aparezca en la nueva lista de ingredientes. De esta manera este código puede ser traducido al idioma deseado en el proceso de lectura de la lista de ingredientes. El fabricante, en el momento de crear la etiqueta, deberá elegir los ingredientes de la Base de Datos de Ingredientes, especificándolos lo más posible. Para poder leer la lista de ingredientes de forma automática necesitamos codificar la nueva lista de ingredientes (donde cada ingrediente ha sido sustituido por su código universal) con alguno de los métodos de identificación automática (RFID, códigos de barras, etc.). El método seleccionado ha sido QR-Code. QR-Code (Quick Response Code) es un código de dos dimensiones o de matriz con alta capacidad para el almacenamiento de datos. El sistema, una vez especificada la lista de ingredientes y obtenidos los códigos de estos ingredientes, generara el QR-Code correspondiente que será imprimido en la etiqueta del producto. Para leer esta lista de ingredientes codificada en QR-Code se utilizará la cámara del teléfono móvil. Muchos teléfonos modernos ya vienen con el lector de QR-Code preinstalado. El lector de QR-Code lee el código y lo decodifica, es decir nos daría la lista de ingredientes con los ingredientes codificados. Los programas del Lector de Ingredientes que también estarían instalados en el teléfono móvil traducen, con ayuda de la Base de Datos de Ingredientes, esta lista al idioma deseado. Además será posible predefinir nuestra dieta para que el lector de ingredientes nos diga si el producto es apto o no para ella. La Base de Datos de Ingredientes está diseñada de tal manera que cada usuario podrá instalarla en su teléfono en el idioma que desee. Para este proyecto se ha creado la Base de Datos de Ingredientes en inglés. La Base de Datos ha sido generada con Metakit, contiene 2885 ingredientes diferentes con sus códigos identificativos, nombre y otras informaciones sobre las dietas más habituales y solo ocupa 256 KB. También se han desarrollado programas para el prototipo: lectura de la Lista de Ingredientes, traducir esta lista a inglés o a español, comprobar si es apto para las dietas vegetarianas, dieta celíaca, halal y kosher. Estos programas están escritos en Tcl y en total ocupan 24 KB. Las medidas de tiempo de ejecución del prototipo para funciones que acceden a la BDI han dado como resultado tiempos inferiores al medio segundo. Estos datos de ocupación de memoria y de tiempo de ejecución demuestran la viabilidad del proyecto ya que el objetivo final es que la aplicación esté empotrada en teléfonos móviles.
Resumo:
as tecnologías emergentes como el cloud computing y los dispositivos móviles están creando una oportunidad sin precedentes para mejorar el sistema educativo, permitiendo tanto a los educadores personalizar y mejorar la experiencia de aprendizaje, como facilitar a los estudiantes que adquieran conocimientos sin importar dónde estén. Por otra parte, a través de técnicas de gamificacion será posible promover y motivar a los estudiantes a que aprendan materias arduas haciendo que la experiencia sea más motivadora. Los juegos móviles pueden ser el camino correcto para dar soporte a esta experiencia de aprendizaje mejorada. Este proyecto integra el diseño y desarrollo de una arquitectura en la nube altamente escalable y con alto rendimiento, así como el propio cliente de iOS, para dar soporte a una nueva version de Temporis, un juego móvil multijugador orientado a reordenar eventos históricos en una línea temporal (e.j. historia, arte, deportes, entretenimiento y literatura). Temporis actualmente está disponible en Google Play. Esta memoria describe el desarrollo de la nueva versión de Temporis (Temporis v.2.0) proporcionando detalles acerca de la mejora y adaptación basados en el Temporis original. En particular se describe el nuevo backend hecho en Go sobre Google App Engine creado para soportar miles de usuarios, asó como otras características por ejemplo como conseguir enviar noticaciones push desde la propia plataforma. Por último, el cliente de iOS en Temporis v.2.0 se ha desarrollado utilizando las últimas y más relevantes tecnologías, prestando especial atención a Swift (el lenguaje de programación nuevo de Apple, que es seguro y rápido), el Paradigma Funcional Reactivo (que ayuda a construir aplicaciones altamente interactivas además de a minimizar errores) y la arquitectura VIPER (una arquitectura que sigue los principios SOLID, se centra en la separación de asuntos y favorece la reutilización de código en otras plataformas). ABSTRACT Emerging technologies such as cloud computing and mobile devices are creating an unprecedented opportunity for enhancing the educational system, letting both educators customize and improve the learning experience, and students acquire knowledge regardless of where they are. Moreover, through gamification techniques it would be possible to encourage and motivate students to learn arduous subjects by making the experience more motivating. Mobile games can be a perfect vehicle to support this enhanced learning experience. This project integrates the design and development of a highly scalable and performant cloud architecture, as well as the iOS client that uses it, in order to provide support to a new version of Temporis, a mobile multiplayer game focused on ordering time-based (e.g. history, art, sports, entertainment and literature) in a timeline that currently is available on Google Play. This work describes the development of the new Temporis version (Temporis v.2.0), providing details about improvements and details on the adaptation of the original Temporis. In particular, the new Google App Engine backend is described, which was created to support thousand of users developed in Go language are provided, in addition to other features like how to achieve push notications in this platform. Finally, the mobile iOS client developed using the latest and more relevant technologies is explained paying special attention to Swift (Apple's new programming language, that is safe and fast), the Functional Reactive Paradigm (that helps building highly interactive apps while minimizing bugs) and the VIPER architecture (a SOLID architecture that enforces separation of concerns and makes it easy to reuse code for other platforms).
Resumo:
Este Trabajo de Fin de Grado (TFG) tiene el objetivo de aportar un sistema de enseñanza innovador, un sistema de enseñanza mediante el cual se consiga involucrar a los alumnos en tareas y prácticas en las que se adquieran conocimientos a la vez que se siente un ambiente de juego, es decir, que se consiga aprender de forma divertida. Está destinado al sistema educativo de la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid, en concreto a las asignaturas relacionadas con los Procesadores de Lenguajes. La aplicación desarrollada en este trabajo está destinada tanto a los profesores de las asignaturas de Procesadores de Lenguajes como a los alumnos que tengan alguna relación con esas asignaturas, consiguiendo mayor interacción y diversión a la hora de realizar la tareas y prácticas de las asignaturas. Para los dos tipos de usuarios descritos anteriormente, la aplicación está configurada para que puedan identificarse mediante sus credenciales, comprobándose si los datos introducidos son correctos, y así poder acceder al sistema. Dependiendo de qué tipo de usuario se identifique, tendrá unas opciones u otras dentro del sistema. Los profesores podrán dar de alta, ver, modificar o dar de baja las configuraciones para los analizadores de los lenguajes correspondientes a las diferentes asignaturas que están configurados previamente en el sistema. Además, los profesores pueden dar de alta, ver, modificar o dar de baja los fragmentos de código que formarán los ficheros correspondientes a las plantillas de pruebas del analizador léxico que se les ofrece a los alumnos para realizar comprobaciones de las prácticas. Mediante la aplicación podrán establecer diferentes características y propiedades de los fragmentos que incorporen al sistema. Por otra parte, los alumnos podrán realizar la configuración del lenguaje, definido por los profesores, para la parte del analizador léxico de las prácticas. Esta configuración será guardada para el grupo al que corresponde el alumno, pudiendo realizar modificaciones cualquier miembro del grupo. De esta manera, se podrán posteriormente establecer las relaciones necesarias entre los elementos del lenguaje según la configuración de los profesores y los elementos referentes a las prácticas de los alumnos.Además, los alumnos podrán realizar comprobaciones de la parte léxica de sus prácticas mediante los ficheros que se generan por el sistema en función de sus opciones de práctica y los fragmentos añadidos por los profesores. De esta manera, se informará a los alumnos del éxito de las pruebas o bien de los fallos ocasionados con sus resultados, bien por el formato del archivo subido como resultado de la prueba o bien por el contenido incorrecto de este mismo. Todas las funciones que ofrece esta aplicación son completamente on-line y tendrán una interfaz llamativa y divertida, además de caracterizarse por su facilidad de uso y su comodidad. En el trabajo realizado para este proyecto se cumplen tanto las Pautas de Accesibilidad para Contenidos Web (WCAG 2.0), así como las propiedades de un código HTML 5 y CSS 3 de manera correcta, para así conseguir que los usuarios utilicen una aplicación fácil, cómoda y atractiva.---ABSTRACT---This Final Year Project (TFG) aims to contribute the educational system of the School of Computer Engineering at the Polytechnic University of Madrid, especially in subjects related with Language Processors. This project is an interactive learning system whose goal is to learn in an amusing environment. To realize this target, the system involves students, using environments of games in tasks and practices. The application developed in this project is designed for both professors of the subjects of Language Processors and students who have some relation to these subjects. This perspective achieve more interaction and a funny environment during the subject‘s tasks. The application is configured in order to the users can be identified by their credentials, checking whether the identification data are correct to have access to the system. According on what type of user is identified, they will have different options within the system. Professors will be able to register, modify or delete settings for the scanner of languages for all the subjects preconfigured in the system. Additionally, professors can register, show, modify or remove the code of the templates from scanner tests that are offered to students for testing the practical exercises. The professors may provide also different characteristics and properties of fragments incorporated in the system. Moreover, students can make the configuration of languages, getting in the systems by the administrators, for the scanner module of their practical exercises. This configuration will be saved for the group of the student. This model can also be changed by any group member. The system permits also establish later the relationships between the elements of language fixes by professors and elements developed by the students. Students could check the lexical part of their practical exercises through files that are created according to their practical options and the fragments added by professors. Thus students will be informed of success or failure in the uploaded files format and in the content of them. All functions provide by this application are completely on-line and will have a striking and funny interface, also characterized by its ease of use and comfort.The work reaches both the Web Content Accessibility Guidelines (WCAG 2.0), and the properties of an HTML 5 and CSS 3 code correctly, in order to get the users to get an easy, convenient application and attractive.