944 resultados para ROP, Security, Buffer Overflows, Open Source, Exploit


Relevância:

100.00% 100.00%

Publicador:

Resumo:

The use of the Information and Communication Technologies (ICT) in Learning Environment allows achieving the maximum interaction between Teachers and Students.The Virtual Learning Environments are computer programs that benefit the learning facilitating the communication between users. Open Source software allow to create the own online modular learning environment with a fast placed in service. In the present paper the use of a Learning Management Systems (LMS) as continuous education tool is proposed.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

With the ever growing trend of smart phones and tablets, Android is becoming more and more popular everyday. With more than one billion active users i to date, Android is the leading technology in smart phone arena. In addition to that, Android also runs on Android TV, Android smart watches and cars. Therefore, in recent years, Android applications have become one of the major development sectors in software industry. As of mid 2013, the number of published applications on Google Play had exceeded one million and the cumulative number of downloads was more than 50 billionii. A 2013 survey also revealed that 71% of the mobile application developers work on developing Android applicationsiii. Considering this size of Android applications, it is quite evident that people rely on these applications on a daily basis for the completion of simple tasks like keeping track of weather to rather complex tasks like managing one’s bank accounts. Hence, like every other kind of code, Android code also needs to be verified in order to work properly and achieve a certain confidence level. Because of the gigantic size of the number of applications, it becomes really hard to manually test Android applications specially when it has to be verified for various versions of the OS and also, various device configurations such as different screen sizes and different hardware availability. Hence, recently there has been a lot of work on developing different testing methods for Android applications in Computer Science fraternity. The model of Android attracts researchers because of its open source nature. It makes the whole research model more streamlined when the code for both, application and the platform are readily available to analyze. And hence, there has been a great deal of research in testing and static analysis of Android applications. A great deal of this research has been focused on the input test generation for Android applications. Hence, there are a several testing tools available now, which focus on automatic generation of test cases for Android applications. These tools differ with one another on the basis of their strategies and heuristics used for this generation of test cases. But there is still very little work done on the comparison of these testing tools and the strategies they use. Recently, some research work has been carried outiv in this regard that compared the performance of various available tools with respect to their respective code coverage, fault detection, ability to work on multiple platforms and their ease of use. It was done, by running these tools on a total of 60 real world Android applications. The results of this research showed that although effective, these strategies being used by the tools, also face limitations and hence, have room for improvement. The purpose of this thesis is to extend this research into a more specific and attribute-­‐ oriented way. Attributes refer to the tasks that can be completed using the Android platform. It can be anything ranging from a basic system call for receiving an SMS to more complex tasks like sending the user to another application from the current one. The idea is to develop a benchmark for Android testing tools, which is based on the performance related to these attributes. This will allow the comparison of these tools with respect to these attributes. For example, if there is an application that plays some audio file, will the testing tool be able to generate a test input that will warrant the execution of this audio file? Using multiple applications using different attributes, it can be visualized that which testing tool is more useful for which kinds of attributes. In this thesis, it was decided that 9 attributes covering the basic nature of tasks, will be targeted for the assessment of three testing tools. Later this can be done for much more attributes to compare even more testing tools. The aim of this work is to show that this approach is effective and can be used on a much larger scale. One of the flagship features of this work, which also differentiates it with the previous work, is that the applications used, are all specially made for this research. The reason for doing that is to analyze just that specific attribute in isolation, which the application is focused on, and not allow the tool to get bottlenecked by something trivial, which is not the main attribute under testing. This means 9 applications, each focused on one specific attribute. The main contributions of this thesis are: A summary of the three existing testing tools and their respective techniques for automatic test input generation of Android Applications. • A detailed study of the usage of these testing tools using the 9 applications specially designed and developed for this study. • The analysis of the obtained results of the study carried out. And a comparison of the performance of the selected tools.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

In this paper, we consider the problem of autonomous navigation of multirotor platforms in GPS-denied environments. The focus of this work is on safe navigation based on unperfect odometry measurements, such as on-board optical flow measurements. The multirotor platform is modeled as a flying object with specific kinematic constraints that must be taken into account in order to obtain successful results. A navigation controller is proposed featuring a set of configurable parameters that allow, for instance, to have a configuration setup for fast trajectory following, and another to soften the control laws and make the vehicle navigation more precise and slow whenever necessary. The proposed controller has been successfully implemented in two different multirotor platforms with similar sensoring capabilities showing the openness and tolerance of the approach. This research is focused around the Computer Vision Group's objective of applying multirotor vehicles to civilian service applications. The presented work was implemented to compete in the International Micro Air Vehicle Conference and Flight Competition IMAV 2012, gaining two awards: the Special Award on "Best Automatic Performance - IMAV 2012" and the second overall prize in the participating category "Indoor Flight Dynamics - Rotary Wing MAV". Most of the code related to the present work is available as two open-source projects hosted in GitHub.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Numerical simulations of flow surrounding a synthetic jet actuating device are presented. By modifying a dynamic mesh technique available in OpenFoam-a well-documented open-source solver for fluid dynamics, detailed computations of the sinusoidal motion of the synthetic jet diaphragm were possible. Numerical solutions were obtained by solving the two dimensional incompressible viscous N-S equations, with the use of a second order implicit time marching scheme and a central finite volume method for spatial discretization in both streamwise and crossflow directions. A systematic parametric study is reported here, in which the external Reynolds number, the diaphragm amplitude and frequency, and the slot dimensions are varied.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

One of the objectives of the European Higher Education Area is the promotion of collaborative and informal learning through the implementation of educational practices. 3D virtual environments become an ideal space for such activities. On the other hand, the problem of financing in Spanish universities has led to the search for new ways to optimize available resources. The Technical University of Madrid requires the use of laboratories which due to their dangerousness, duration or control of the developed processes are difficult to perform in real life. For this reason, we have developed several 3D laboratories in virtual environment. The laboratories are built on open source platform OpenSim. In this paper it is exposed the use of the OpenSim platform for these new teaching experiences and the new design of the software architecture. This architecture requires the adaptation of the platform to the needs of the users and the different laboratories of our University. We will explain the structure of the implemented architecture and the process of creating and configuring it. The proposed architecture is decentralized, each laboratory is housed in different an educational center. The architecture adds several services, among others, the creation and management of users automated, communication between external services and platforms in different program languages. Therefore, we achieve improving the user experience and rising the functionalities of laboratories.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

This paper presents a project for providing the students of Structural Engineering with the flexibility to learn outside classroom schedules. The goal is a framework for adaptive E-learning based on a repository of open educational courseware with a set of basic Structural Engineering concepts and fundamentals. These are paramount for students to expand their technical knowledge and skills in structural analysis and design of tall buildings, arch-type structures as well as bridges. Thus, concepts related to structural behaviour such as linearity, compatibility, stiffness and influence lines have traditionally been elusive for students. The objective is to facilitate the student a teachinglearning process to acquire the necessary intuitive knowledge, cognitive skills and the basis for further technological modules and professional development in this area. As a side effect, the system is expected to help the students improve their preparation for exams on the subject. In this project, a web-based open-source system for studying influence lines on continuous beams is presented. It encompasses a collection of interactive user-friendly applications accessible via Web, written in JavaScript under JQuery and Dygraph Libraries, taking advantage of their efficiency and graphic capabilities. It is performed in both Spanish and English languages. The student is enabled to set the geometric, topologic, boundary and mechanic layout of a continuous beam. While changing the loading and the support conditions, the changes in the beam response prompt on the screen, so that the effects of the several issues involved in structural analysis become apparent. This open interaction with the user allows the student to simulate and virtually infer the structural response. Different levels of complexity can be handled, whereas an ongoing help is at hand for any of them. Students can freely boost their experiential learning on this subject at their own pace, in order to further share, process, generalize and apply the relevant essential concepts of Structural Engineering analysis. Besides, this collection is being added to the "Virtual Lab of Continuum Mechanics" of the UPM, launched in 2013 (http://serviciosgate.upm.es/laboratoriosvirtuales/laboratorios/medios-continuos-en-construcci%C3%B3n)

Relevância:

100.00% 100.00%

Publicador:

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).

Relevância:

100.00% 100.00%

Publicador:

Resumo:

En este documento está descrito detalladamente el trabajo realizado para completar todos objetivos marcados para este Trabajo de Fin de Grado, que tiene como meta final el desarrollo de un dashboard configurable de gestión y administración para instancias de OpenStack. OpenStack es una plataforma libre y de código abierto utilizada como solución de Infraestructura como Servicio (Infrastructure as a Service, IaaS) en clouds tanto públicos, que ofrecen sus servicios cobrando el tiempo de uso o los recursos utilizados, como privados para su utilización exclusiva en el entorno de una empresa. El proyecto OpenStack se inició como una colaboración entre la NASA y RackSpace, y a día de hoy es mantenido por las empresas más potentes del sector tecnológico a través de la Fundación OpenStack. La plataforma OpenStack permite el acceso a sus servicios a través de una Interfaz de Linea de Comandos (Command Line Interface, CLI), una API RESTful y una interfaz web en forma de dashboard. Esta última es ofrecida a través del servicio Horizon. Este servicio provee de una interfaz gráfica para acceder, gestionar y automatizar servicios basados en cloud. El dashboard de Horizon presente algunos problemas como que: solo admite opciones de configuración mediante código Python, lo que hace que el usuario no tenga ninguna capacidad de configuración y que el administrador esté obligado a interactuar directamente con el código. no tiene soporte para múltiples regiones que permitan que un usuario pueda distribuir sus recursos por distintos centros de datos en diversas localizaciones como más le convenga. El presente Trabajo de Fin de Grado, que es la fase inicial del proyecto FI-Dash, pretende solucionar estos problemas mediante el desarrollo de un catálogo de widget de la plataformaWireCloud que permitirán al usuario tener todas las funcionalidades ofrecidas por Horizon a la vez que le ofrecen capacidades de configuración y añaden funcionalidades no presentes en Horizon como el soporte de múltiples regiones. Como paso previo al desarrollo del catálogo de widgets se ha llevado a cabo un estudio de las tecnologías y servicios ofrecidos por OpenStack, así como de las herramientas que pudieran ser necesarias para la realización del trabajo. El proceso de desarrollo ha sido dividido en distintas fases de acuerdo con los distintos componentes que forman parte del dashboard cada uno con una funcion de gestion sobre un tipo de recurso distinto. Las otras fases del desarrollo han sido la integración completa del dashboard en la plataforma WireCloud y el diseño de una interfaz gráfica usable y atractiva.---ABSTRACT---Throughout this document it is described the work performed in order to achieve all of the objectives set for this Final Project, which has as its main goal the development of a configurable dashboard for managing and administrating OpenStack instances. OpenStack is a free and open source platform used as Infrastructure as a Service (IaaS) for both public clouds, which offer their services through payments on time or resources used, and private clouds for use only in the company’s environment. The OpenStack project started as a collaboration between NASA and Rackspace, and nowadays is maintained by the most powerful companies in the technology sector through the OpenStack Foundation. The OpenStack project provides access to its services through a Command Line Interface (CLI), a RESTful API and a web interface as dashboard. The latter is offered through a service called Horizon. This service provides a graphical interface to access, manage and automate cloud-based services. Horizon’s dashboard presents some problems such as: Only supports configuration options using Python code, which grants the user no configuration capabilities and forces the administrator to interact directly. No support for multiple regions that allow a user to allocate his resources by different data centers in different locations at his convenience. This Final Project, which is the initial stage of the FI-Dash project, aims to solve these problems by developing a catalog of widgets for the WireCloud platform that will allow the user to have all the features offered by Horizon while offering configuration capabilities and additional features not present in Horizon such as support for multiple regions. As a prelude to the development of the widget catalog, a study of technologies and services offered by OpenStack as well as tools that may be necessary to carry out the work has been conducted. The development process has been split in phases matching the different components that are part of the dashboard, having each one of them a function of management of one kind of resource. The other development phases have been the achieving of full integration with WireCloud and the design of a graphical interface that is both usable and atractive.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

El mundo actual es una fuente ilimitada de información. El manejo y análisis de estas enormes cantidades de información es casi imposible, pero también es difícil poder capturar y relacionar diferentes tipos de datos entre sí y, a partir de este análisis, sacar conclusiones que puedan conllevar a la realización, o no, de un conjunto de acciones. Esto hace necesario la implementación de sistemas que faciliten el acceso, visualización y manejo de estos datos; con el objetivo de poder relacionarlos, analizarlos, y permitir al usuario que, de la manera más sencilla posible, pueda sacar conclusiones de estos. De esta necesidad de manejar, visualizar y relacionar datos nació la plataforma Wirecloud. Wirecloud ha sido desarrollado en el laboratorio Computer Networks & Web Technologies Lab (CoNWeT Lab) del grupo CETTICO, ubicado en la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid. Wirecloud es una plataforma de código abierto que permite, utilizando las últimas tecnologías web, recoger la información que se quiere analizar de diferentes fuentes en tiempo real e, interconectando entre sí una serie de componentes y operadores, realizar una mezcla y procesado de esta información para después usarla y mostrarla de la manera más usable posible al usuario. Un ejemplo de uso real de la plataforma podría ser: utilizar la lista de repartidores de una empresa de envío urgente para conocer cuáles son sus posiciones en tiempo real sobre un mapa utilizando el posicionamiento GPS de sus dispositivos móviles, y poder asignarles el destino y la ruta más óptima; todo esto desde la misma pantalla. El proyecto Wirecloud Mobile corresponde a la versión móvil de la plataforma Wirecloud, cuyo objetivos principales pretenden compatibilizar Wirecloud con el mayor número de sistemas operativos móviles que actualmente hay en el mercado, permitiendo su uso en cualquier parte del mundo; y poder enriquecer los componentes mencionados en el párrafo anterior con las características y propiedades nativas de los dispositivos móviles actuales, como por ejemplo el posicionamiento GPS, el acelerómetro, la cámara, el micrófono, los altavoces o tecnologías de comunicación como el Bluetooth o el NFC.---ABSTRACT---The current world is a limitless source of information. Use and analysis of this huge amount of information is nearly impossible; but it is also difficult being able to capture and relate different kinds of data to each other and, from this analysis, draw conclusions that can lead to the fulfilment or not of a set of relevant actions. This requires the implementation of systems to facilitate the access, visualization and management of this data easier; with the purpose of being capable of relate, analyse, and allow the user to draw conclusions from them. And out of this need to manage, visualize and relate data, the Wirecloud platform was born. Wirecloud has been developed at the Computer Networks & Web Technologies Lab (CoNWeT Lab) of CETTICO group, located at Escuela Técnica Superior de Ingenieros Informáticos of Universidad Politécnica de Madrid. Wirecloud is an open-source platform that allows, using the latest web technologies, to collect the information from different sources in real time and interlinking a set of widgets and operators, make a mixture and processing of this information, so then use it and show it in the most usable way. An example of the actual use of the platform could be: using the list of deliverymen from an express delivery company in order to know, using GPS positioning from their mobile devices, which are their current locations in a map; and be able to assign them the destination and optimum route; all of this from the same display/screen. Wirecloud Mobile Project is the mobile version of the Wirecloud platform, whose main objectives aim to make Wirecloud compatible with the largest amount of mobile operative systems that are currently available, allowing its use everywhere; and enriching and improving the previously mentioned components with the native specifications and properties of the present mobile devices, such as GPS positioning, accelerometer, camera, microphone, built-in speakers, or communication technologies such as Bluetooth or NFC (Near Field Communications).

Relevância:

100.00% 100.00%

Publicador:

Resumo:

La motivación de esta tesis es el desarrollo de una herramienta de optimización automática para la mejora del rendimiento de formas aerodinámicas enfocado en la industria aeronáutica. Este trabajo cubre varios aspectos esenciales, desde el empleo de Non-Uniform Rational B-Splines (NURBS), al cálculo de gradientes utilizando la metodología del adjunto continuo, el uso de b-splines volumétricas como parámetros de diseño, el tratamiento de la malla en las intersecciones, y no menos importante, la adaptación de los algoritmos de la dinámica de fluidos computacional (CFD) en arquitecturas hardware de alto paralelismo, como las tarjetas gráficas, para acelerar el proceso de optimización. La metodología adjunta ha posibilitado que los métodos de optimización basados en gradientes sean una alternativa prometedora para la mejora de la eficiencia aerodinámica de los aviones. La formulación del adjunto permite calcular los gradientes de una función de coste, como la resistencia aerodinámica o la sustentación, independientemente del número de variables de diseño, a un coste computacional equivalente a una simulación CFD. Sin embargo, existen problemas prácticos que han imposibilitado su aplicación en la industria, que se pueden resumir en: integrabilidad, rendimiento computacional y robustez de la solución adjunta. Este trabajo aborda estas contrariedades y las analiza en casos prácticos. Como resumen, las contribuciones de esta tesis son: • El uso de NURBS como variables de diseño en un bucle de automático de optimización, aplicado a la mejora del rendimiento aerodinámico de alas en régimen transónico. • El desarrollo de algoritmos de inversión de punto, para calcular las coordenadas paramétricas de las coordenadas espaciales, para ligar los vértices de malla a las NURBS. • El uso y validación de la formulación adjunta para el calculo de los gradientes, a partir de las sensibilidades de la solución adjunta, comparado con diferencias finitas. • Se ofrece una estrategia para utilizar la geometría CAD, en forma de parches NURBS, para tratar las intersecciones, como el ala-fuselaje. • No existen muchas alternativas de librerías NURBS viables. En este trabajo se ha desarrollado una librería, DOMINO NURBS, y se ofrece a la comunidad como código libre y abierto. • También se ha implementado un código CFD en tarjeta gráfica, para realizar una valoración de cómo se puede adaptar un código sobre malla no estructurada a arquitecturas paralelas. • Finalmente, se propone una metodología, basada en la función de Green, como una forma eficiente de paralelizar simulaciones numéricas. Esta tesis ha sido apoyada por las actividades realizadas por el Área de Dinámica da Fluidos del Instituto Nacional de Técnica Aeroespacial (INTA), a través de numerosos proyectos de financiación nacional: DOMINO, SIMUMAT, y CORESFMULAERO. También ha estado en consonancia con las actividades realizadas por el departamento de Métodos y Herramientas de Airbus España y con el grupo Investigación y Tecnología Aeronáutica Europeo (GARTEUR), AG/52. ABSTRACT The motivation of this work is the development of an automatic optimization strategy for large scale shape optimization problems that arise in the aeronautics industry to improve the aerodynamic performance; covering several aspects from the use of Non-Uniform Rational B-Splines (NURBS), the calculation of the gradients with the continuous adjoint formulation, the development of volumetric b-splines parameterization, mesh adaptation and intersection handling, to the adaptation of Computational Fluid Dynamics (CFD) algorithms to take advantage of highly parallel architectures in order to speed up the optimization process. With the development of the adjoint formulation, gradient-based methods for aerodynamic optimization become a promising approach to improve the aerodynamic performance of aircraft designs. The adjoint methodology allows the evaluation the gradients to all design variables of a cost function, such as drag or lift, at the equivalent cost of more or less one CFD simulation. However, some practical problems have been delaying its full implementation to the industry, which can be summarized as: integrability, computer performance, and adjoint robustness. This work tackles some of these issues and analyse them in well-known test cases. As summary, the contributions comprises: • The employment of NURBS as design variables in an automatic optimization loop for the improvement of the aerodynamic performance of aircraft wings in transonic regimen. • The development of point inversion algorithms to calculate the NURBS parametric coordinates from the space coordinates, to link with the computational grid vertex. • The use and validation of the adjoint formulation to calculate the gradients from the surface sensitivities in an automatic optimization loop and evaluate its reliability, compared with finite differences. • This work proposes some algorithms that take advantage of the underlying CAD geometry description, in the form of NURBS patches, to handle intersections and mesh adaptations. • There are not many usable libraries for NURBS available. In this work an open source library DOMINO NURBS has been developed and is offered to the community as free, open source code. • The implementation of a transonic CFD solver from scratch in a graphic card, for an assessment of the implementability of conventional CFD solvers for unstructured grids to highly parallel architectures. • Finally, this research proposes the use of the Green's function as an efficient paralellization scheme of numerical solvers. The presented work has been supported by the activities carried out at the Fluid Dynamics branch of the National Institute for Aerospace Technology (INTA) through national founding research projects: DOMINO, SIMUMAT, and CORESIMULAERO; in line with the activities carried out by the Methods and Tools and Flight Physics department at Airbus and the Group for Aeronautical Research and Technology in Europe (GARTEUR) action group AG/52.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

En el departamento de Ocio Digital de bq se desarrollan multitud de proyectos con diferentes modelos de negocio y diferentes stack tecnológicos. Para llevar a cabo todos estos proyectos, es necesario tener un ecosistema de desarrollo lo más unificado y centralizado posible. Por eso, en el departamento existe una plataforma genérica de servicios REST sobre la que se apoyan todos los aplicativos desarrollados. Para agilizar y facilitar la integración de los aplicativos con la plataforma de servicios,se desarrolla este SDK (Software Development Kit) basado en JavaScript llamado corbel-js. Este SDK ha de funcionar tanto en aplicaciones web, como en un middleware basado en node.js desarrollado también en la organización, por lo que el SDK se ha desarrollado de forma híbrida, siendo capaz de ejecutarse tanto en en el lado del cliente, como en el lado del servidor. Además, como parte de la filosofía del departamento, el desarrollo del SDK está basado en tecnologías Open Source, usando metodologías ágiles de desarrollo y un sistema de integración continua y revisión de código, garantizando la calidad del mismo. ABSTRACT A lot of different kinds of software projects are developed in the digital department of bq. To easily develop all of these projects, each one with its own business model and technology stack, it is necessary to have an unique software ecosystem. Because of that, in the software department a generic service REST platform has been developed. To support an easy integration of the applications with the service platform of the organization, this SDK(Software Development Kit) has been developed in JavaScript. As the SDK has to run under a web application and under a software middleware based in node.js, also developed in the organization, the SDK is hybrid, being capable of run inside a web client application or inside a node.js application server. As a part of the software philosophy of the department, the development of the SDK is made with a whole open source software stack, using agile software methodologies.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

La forma de consumir contenidos en Internet ha cambiado durante los últimos años. Inicialmente se empleaban webs estáticas y con contenidos pobres visualmente. Con la evolución de las redes de comunicación, esta tendencia ha variado. A día de hoy, deseamos páginas agradables, accesibles y que nos presenten temas variados. Todo esto ha cambiado la forma de crear páginas web y en todos los casos se persigue el objetivo de atraer a los usuarios. El gran auge de los smartphones y las aplicaciones móviles que invaden el mercado actual han revolucionado el mundo del estudio de los idiomas permitiendo compatibilizar los recursos punteros con el aprendizaje tradicional. La popularidad de los dispositivos móviles y de las aplicaciones ha sido el principal motivo de la realización de este proyecto. En él se realizará un análisis de las diferentes tecnologías existentes y se elegirá la mejor opción que se ajuste a nuestras necesidades para poder desarrollar un sistema que implemente el enfoque llamado Mobile Assisted Language Learning (MALL) que supone una aproximación innovadora al aprendizaje de idiomas con la ayuda de un dispositivo móvil. En este documento se va a ofrecer una panorámica general acerca del desarrollo de aplicaciones para dispositivos móviles en el entorno del e-learning. Se estudiarán características técnicas de diferentes plataformas seleccionando la mejor opción para la implementación de un sistema que proporcione los contenidos básicos para el aprendizaje de un idioma, en este caso del inglés, de forma intuitiva y divertida. Dicho sistema permitirá al usuario mejorar su nivel de inglés mediante una interfaz web de forma dinámica y cercana empleando los recursos que ofrecen los dispositivos móviles y haciendo uso del diseño adaptativo. Este proyecto está pensado para los usuarios que dispongan de poco tiempo libre para realizar un curso de forma presencial o, mejor aún, para reforzar o repasar contenidos ya aprendidos por otros medios más tradicionales o no. La aplicación ofrece la posibilidad de que se haga uso del sistema de forma fácil y sencilla desde cualquier dispositivo móvil del que se disponga como es un smartphone, tablet o un ordenador personal, compitiendo con otros usuarios o contra uno mismo y mejorando así el nivel de partida a través de las actividades propuestas. Durante el proyecto se han comparado diversas soluciones, la mayoría de código abierto y de libre distribución que permiten desplegar servicios de almacenamiento accesibles mediante Internet. Se concluirá con un caso práctico analizando los requisitos técnicos y llevando a cabo las fases de análisis, diseño, creación de la base de datos, implementación y pruebas dentro del ciclo de vida del software. Finalmente, se migrará la aplicación con toda la información a un servidor en la nube. ABSTRACT. The way of consuming content on the Internet has changed over the past years. Initially, static websites were used with poor visual contents. Nevertheless, with the evolution of communication networks this trend has changed. Nowadays, we expect pleasant, accessible and varied topic pages and such expectations have changed the way to create web pages generally aiming at appealing and therefore, attracting users. The great boom of smartphones and mobile applications in the current market, have revolutionized the world of language learning as they make it possible to combine computing with traditional learning resources. The popularity of mobile devices and applications has been the main reason for the development of this project. Here, the different existing technologies will be examined and we will try to select the best option that adapts to our needs in order to develop a system that implements Mobile Assisted Language Learning (MALL) that in broad terms implies an approach to language learning with the help of a mobile device. This report provides an overview of the development of applications for mobile devices in the e-learning environment. We will study the technical characteristics of different platforms and we will select the best option for the implementation of a system that provide the basic content for learning a language, in this case English, by means of an intuitive and fun method. This system will allow the user to improve their level of English with a web interface in a dynamic and close way employing the resources offered by mobile devices using the adaptive design. This project is intended for users who do not have enough free time to make a classroom course or to review contents from more traditional courses as it offers the possibility to make use of the system quickly and easily from any mobile device available such as a smartphone, a tablet or a personal computer, competing with other users or against oneself and thus improving their departing level through different activities. During the project, different solutions have been compared. Most of them, open source and free distribution that allow to deploy storage services accessible via the Internet. It will conclude with a case study analyzing the technical requirements and conducting phases of analysis, design and creation of a database, implementation and testing in the software lifecycle. Finally, the application will be migrated with all the information to a server in the cloud.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este proyecto fin de grado presenta dos herramientas, Papify y Papify-Viewer, para medir y visualizar, respectivamente, las prestaciones a bajo nivel de especificaciones RVC-CAL basándose en eventos hardware. RVC-CAL es un lenguaje de flujo de datos estandarizado por MPEG y utilizado para definir herramientas relacionadas con la codificación de vídeo. La estructura de los programas descritos en RVC-CAL se basa en unidades funcionales llamadas actores, que a su vez se subdividen en funciones o procedimientos llamados acciones. ORCC (Open RVC-CAL Compiler) es un compilador de código abierto que utiliza como entrada descripciones RVC-CAL y genera a partir de ellas código fuente en un lenguaje dado, como por ejemplo C. Internamente, el compilador ORCC se divide en tres etapas distinguibles: front-end, middle-end y back-end. La implementación de Papify consiste en modificar la etapa del back-end del compilador, encargada de la generación de código, de modo tal que los actores, al ser traducidos a lenguaje C, queden instrumentados con PAPI (Performance Application Programing Interface), una herramienta utilizada como interfaz a los registros contadores de rendimiento (PMC) de los procesadores. Además, también se modifica el front-end para permitir identificar cierto tipo de anotaciones en las descripciones RVC-CAL, utilizadas para que el diseñador pueda indicar qué actores o acciones en particular se desean analizar. Los actores instrumentados, además de conservar su funcionalidad original, generan una serie de ficheros que contienen datos sobre los distintos eventos hardware que suceden a lo largo de su ejecución. Los eventos incluidos en estos ficheros son configurables dentro de las anotaciones previamente mencionadas. La segunda herramienta, Papify-Viewer, utiliza los datos generados por Papify y los procesa, obteniendo una representación visual de la información a dos niveles: por un lado, representa cronológicamente la ejecución de la aplicación, distinguiendo cada uno de los actores a lo largo de la misma. Por otro lado, genera estadísticas sobre la cantidad de eventos disparados por acción, actor o núcleo de ejecución y las representa mediante gráficos de barra. Ambas herramientas pueden ser utilizadas en conjunto para verificar el funcionamiento del programa, balancear la carga de los actores o la distribución por núcleos de los mismos, mejorar el rendimiento y diagnosticar problemas. ABSTRACT. This diploma project presents two tools, Papify and Papify-Viewer, used to measure and visualize the low level performance of RVC-CAL specifications based on hardware events. RVC-CAL is a dataflow language standardized by MPEG which is used to define video codec tools. The structure of the applications described in RVC-CAL is based on functional units called actors, which are in turn divided into smaller procedures called actions. ORCC (Open RVC-CAL Compiler) is an open-source compiler capable of transforming RVC-CAL descriptions into source code in a given language, such as C. Internally, the compiler is divided into three distinguishable stages: front-end, middle-end and back-end. Papify’s implementation consists of modifying the compiler’s back-end stage, which is responsible for generating the final source code, so that translated actors in C code are now instrumented with PAPI (Performance Application Programming Interface), a tool that provides an interface to the microprocessor’s performance monitoring counters (PMC). In addition, the front-end is also modified in such a way that allows identification of a certain type of annotations in the RVC-CAL descriptions, allowing the designer to set the actors or actions to be included in the measurement. Besides preserving their initial behavior, the instrumented actors will also generate a set of files containing data about the different events triggered throughout the program’s execution. The events included in these files can be configured inside the previously mentioned annotations. The second tool, Papify-Viewer, makes use of the files generated by Papify to process them and provide a visual representation of the information in two different ways: on one hand, a chronological representation of the application’s execution where each actor has its own timeline. On the other hand, statistical information is generated about the amount of triggered events per action, actor or core. Both tools can be used together to assert the normal functioning of the program, balance the load between actors or cores, improve performance and identify problems.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Existen en el mercado numerosas aplicaciones para la generación de reverberación y para la medición de respuestas al impulso acústicas. Sin embargo, éstas son de precios muy elevados y/o no se permite acceder a su código y, mucho menos, distribuir de forma totalmente libre. Además, las herramientas que ofrecen para la medición de respuestas al impulso requieren de un tedioso proceso para la generación de la señal de excitación, su reproducción y grabación y, finalmente, su post-procesado. Este procedimiento puede llevar en ocasiones al usuario a cometer errores debido a la falta de conocimientos técnicos. El propósito de este proyecto es dar solución a algunos de los inconvenientes planteados. Con tal fin se llevó a cabo el desarrollo e implementación de un módulo de reverberación por convolución particionada en tiempo real, haciendo uso de software gratuito y de libre distribución. En concreto, se eligió la estación digital de trabajo (DAW. Digital Audio Worksation) REAPER de la compañía Cockos. Además de incluir las funcionalidades básicas de edición y secuenciación presentes en cualquier DAW, el programa incluye un entorno para la implementación de efectos de audio en lenguaje JS (Jesusonic), y se distribuye con licencias completamente gratuitas y sin limitaciones de uso. Complementariamente, se propone una extensión para REAPER que permite la medición de respuestas al impulso de recintos acústicos de una forma completamente automatizada y amigable para el usuario. Estas respuestas podrán ser almacenadas y posteriormente cargadas en el módulo de reverberación, permitiendo aplicar sobre nuestras pistas de audio la respuesta acústica de cualquier recinto en el que se hayan realizado medidas. La implementación del sistema de medida de respuestas se llevó a cabo empleando la herramienta ReaScript de REAPER, que permite la ejecución de pequeños scripts Python. El programa genera un Barrido Sinusoidal Logarítmico que excita el recinto acústico cuya respuesta se desea medir, grabando la misma en un archivo .wav. Este procedimiento es sencillo, intuitivo y está al alcance de cualquier usuario doméstico, ya que no requiere la utilización de sofisticado instrumental de medida. ABSTRACT. There are numerous applications in the market for the generation of reverb and measurement of acoustic impulse responses. However, they are usually very costly and closed source. In addition, the provided tools for measuring impulse responses require tedious processes for the generation and reproduction of the excitation signal, the recording of the response and its final post-processing. This procedure can sometimes drive the user to make mistakes due to the lack of technical knowledge. The purpose of this project is to solve some of the mentioned problems. To that end we developed and implemented a real-time partitioned convolution reverb module using free open source software. Specifically, the chosen software was the Cockos’ digital audio workstation (DAW) REAPER. In addition to the basic features included in any DAW, such as editing and sequencing, the program includes an environment for implementing audio effects in JS (Jesusonic) language of free distribution and features an unrestricted license. As an extension for REAPER, we propose a fully automated and user-friendly method for measuring rooms’ acoustic impulse responses. These will be stored and then loaded into the reverb module, allowing the user to apply the acoustical response of any room where measurement have been taken to any audio track. The implementation of the impulse response measurement system was done using REAPER’s ReaScript tool that allows the execution of small Python scripts. The program generates a logarithmic sine sweep that excites the room and its response is recorded in a .wav file. This procedure is simple, intuitive and it is accessible to any home user as it does not require the use of sophisticated measuring equipment.