60 research outputs found

    Complex Propagation of Events: Design Patterns Comparison

    Get PDF
    Today’s applications require high level of interactivity and the applications are expected to update their state, and provide users with immediate correct results. In high complex applications this usually means updating states of a number of objects that are part of complex dependency network. To decouple these dependencies such systems usually employ implicit invocation mechanisms such as well-known Observer pattern. However, building efficient propagation system that will keep object states up-to-date is a challenging task, since a number of issues arise. In this paper we identified 18 qualitative criteria and compared 5 design patterns that can be used to build propagation system on top of applications’ business objects. The exhaustive comparison results are given along with discussion and remarks that should be taken in consideration when dealing with this challenging task

    Formal Model-Driven Analysis of Resilience of GossipSub to Attacks from Misbehaving Peers

    Full text link
    GossipSub is a new peer-to-peer communication protocol designed to counter attacks from misbehaving peers by carefully controlling what information is disseminated and to whom, via a score function computed by each peer that captures positive and negative behaviors of its neighbors. The score function depends on several parameters (weights, caps, thresholds, etc.) that can be configured by applications using GossipSub. The specification for GossipSub is written in English and its resilience to attacks from misbehaving peers is supported empirically by emulation testing using an implementation in Golang. In this work we take a foundational approach to understanding the resilience of GossipSub to attacks from misbehaving peers. We build the first formal model of GossipSub, using the ACL2s theorem prover. Our model is officially endorsed by GossipSub developers. It can simulate GossipSub networks of arbitrary size and topology, with arbitrarily configured peers, and can be used to prove and disprove theorems about the protocol. We formalize fundamental security properties stating that the score function is fair, penalizes bad behavior and rewards good behavior. We prove that the score function is always fair, but can be configured in ways that either penalize good behavior or ignore bad behavior. Using our model, we run GossipSub with the specific configurations for two popular real-world applications: the FileCoin and Eth2.0 blockchains. We show that all properties hold for FileCoin. However, given any Eth2.0 network (of any topology and size) with any number of potentially misbehaving peers, we can synthesize attacks where these peers are able to continuously misbehave by never forwarding topic messages, while maintaining positive scores so that they are never pruned from the network by GossipSub.Comment: In revie

    MOBANA: A distributed stream-based information system for public transit

    Get PDF
    Abstract: Public transit generates a wide range of diverse data, which include static data and high-velocity data streams from sensors. Integrating and processing this big real-time data is a challenge in developing analytical systems for public transit. We here propose MOBANA (MOBility ANAlyzer), a distributed stream-based system, which provides real-time information to a wide range of users for monitoring and analyzing the performance of public transit. To do so, MOBANA integrates the diverse data sources of public transit, and converts them into standard and exchangeable data formats. In order to manage such diverse data, we propose a layered architecture, where each layer handles a specific kind of data. MOBANA is designed to be efficient. e.g., it identifies the real time position of vehicles by adjusting planned position with real-time data as needed, thus dropping network load. MOBANA is implemented by Distributed Stream Processing Engine (DSPE) and Distributed Messaging System (DMS), which pursue scalable, efficient and reliable real-time processing and analytics. MOBANA was deployed as pilot in Pavia, and tested with real data

    A scalability study into Server Push technologies with regard to server performance

    Get PDF
    The dissertation summarises the results of a performance analysis of the use of Node.js (JavaScript) for the execution of high volumes of long-running requests on a single fixed size server. The Node.js performance is compared to a traditional Java threaded model using the industry standard Tomcat 6 and Tomcat 7 hosting environment. The results indicate that Node.js can provide significant performance improvements in this type of task

    Diseño sonoro para video juego survival shooter

    Get PDF
    El proceso de sonorización del videojuego Survival Shooter y destaca la importancia de la colaboración entre el diseño sonoro y la programación para lograr una integración fluida y efectiva del sonido en el contexto del juego. En primer lugar, se menciona la integración de eventos sonoros diseñados en Fmod Studio con el motor de videojuegos Unity 3D. Se enfatiza el trabajo realizado en el diseño sonoro de cada personaje y su evento en el juego, utilizando scripts de programación y configurando adecuadamente los emisores y receptores de sonido en Unity. Esto ha permitido crear una experiencia auditiva inmersiva y coherente en el videojuego. Además, se resalta la importancia de la programación del diseño sonoro en el videojuego. Se menciona el análisis de las mecánicas de interacción y la implementación de eventos sonoros en respuesta a dichas interacciones. El uso de Snapshots y scripts de Trigger ha sido fundamental para activar eventos sonoros según las condiciones lógicas establecidas. Se han trabajado aspectos como la música, cambios de estados de tensión, efectos de oclusión y activación de eventos mediante Trigger. Se reconoce que la programación desempeña un papel crucial en la creación de una experiencia sonora dinámica y adaptativa, donde el sonido responde de manera coherente a las acciones del jugador y contribuye a la inmersión en el juego. Por último, se destaca la importancia de la mezcla, pruebas y optimización de audio para garantizar una experiencia sonora de calidad en el videojuego. Estos procesos son fundamentales para lograr un equilibrio adecuado entre los elementos sonoros, realizar ajustes necesarios y asegurar que el audio se reproduzca de manera óptima. En resumen, la reflexión resalta la colaboración entre el diseño sonoro y la programación, así como la importancia de la mezcla, pruebas y optimización de audio, para lograr una experiencia sonora inmersiva, coherente y de calidad en el videojuego Survival Shooter.In summary, the sound design of the Survival Shooter video game has involved the integration of sound events designed in Fmod Studio with the Unity 3D game engine. We have worked on the sound design of each character and their event in the game, using programming scripts and properly configuring sound emitters and receivers in Unity. Through the implementation of sound events and the setup of environments, we have managed to create an immersive and cohesive auditory experience in the video game. This task has highlighted the importance of collaboration between sound design and programming to achieve a seamless and effective integration of sound within the game's context. Likewise, programming the sound design in the video game has involved analyzing interaction mechanics and implementing sound events in response to these interactions. By using Snapshots and Trigger scripts, we have been able to activate sound events based on predefined logical conditions. We have worked on music, changes in tension states, occlusion effects, and event activation through triggers. The significance of programming in creating a dynamic and adaptive sound experience, where sound consistently responds to player actions and contributes to immersion in the game, has been emphasized. In conclusion, the tasks of audio mixing, testing, and optimization have been crucial in ensuring a high-quality sound experience in the game. These processes are essential for achieving the right balance between sound elements, making necessary adjustments, and ensuring optimal audio playback. Overall, this reflection underscores the importance of collaboration between sound design and programming, as well as the significance of audio mixing, testing, and optimization, in achieving an immersive, cohesive, and high-quality sound experience in the Survival Shooter video game

    Diseño sonoro dinámico para la sonorización del videojuego survival shooter

    Get PDF
    Figura 1. Sayonara Wild Hearts corazones. Figura 2. Sayonara Wild Hearts personaje principal. Figura 3. Genero del videojuego. Figura 4. Categoría del sonido. Figura 5. Audios seleccionados para el diseño del ambiente. Figura 6. Audios seleccionados editados en Reaper. Figura 7. Audios de aire y pájaros en Fmod. Figura 8. Audios de lluvia suave y fuerte en Fmod. Figura 9. Audio de explosiones, gritos disparos y alarmas en Fmod. Figura 10. Multi Instrument con audios de carros, perros y pasos. Figura 11. Automatización del audio aire en Fmod. Figura 12. Automatización del audio pájaros en Fmod. Figura 13. Automatización del audio lluvia en Fmod. Figura 14. Música del videojuego Survival Shooter en Fmod. Figura 15. Multi Instrument con audios de risa y zombi en Fmod. Figura 16. Audio de reloj en Fmod. Figura 17. Audio de robot en Fmod . Figura 18. Audio de pasos en Fmod. Figura 19. Organización de los audios por personajes en Fmod. Figura 20. Bancos creados en Fmod. Figura 21. Refrescar bancos en Fmod . Figura 22. Asignación del audio música en Unity. Figura 23. Asignación del audio efectos 2 en Unity. Figura 24. Asignación del audio reloj en Unity. Figura 25. Asignación del audio robot en Unity. Figura 26. Asignación del audio de golpe al personaje principal. Figura 27. Asignación del audio de golpe a los enemigos. Figura 28. Asignación del audio de pasos a los enemigos. Figura 29. Asignación del audio de pasos al personaje principal. Figura 30. Asignación del audio ametralladora. Figura 31. Pistas editadas para la música adaptativa. Figura 32. Parámetro de música en Fmod. Figura 33. Automatizaciones en la melodía 2 y en la melodía base. Figura 34. Región de transición y marcador de tiempo. Figura 35. Condiciones de transición. Figura 36. Banco de la música adaptativa. Figura 37. Implementación de la música adaptativa a Unity. Figura 38. Box collider y música por zonas de tensión. Figura 39. Zonas de la música adaptativa. Figura 40. Ventana de mixer en Fmod. Figura 41. Grupo de efectos, enemigos, música y personaje principal. Figura 42. Zona de reverb en Unity. Figura 43. Box collider del reverb. Figura 44. Configuración del reverb en unity. Figura 45. Configuración de máxima instancia. Figura 46. Botón de live update. Figura 47. Primera prueba en el profiler de Fmod. Figura 48. Segunda prueba en el profiler de Fmod.Este trabajo permite conocer todos los procedimientos necesarios para la sonorización de un videojuego, estos procedimientos se ponen en práctica durante el desarrollo de cinco tareas con el fin de conseguir un adecuado diseño sonoro para el videojuego Survival Shooter, para realizar la sonorización se manejan los programas Fmod en este se pueden aplicar efectos y música al videojuego y Unity en el cual contiene el videojuego y en el que se añadirán cada uno de los audios generados en fmod. En este trabajo se realizan procedimientos como los script y los triggers los cuales son manejados en el programa Unity, con los que se dan ordenes al programa para dar inicio a los eventos preparados para los personajes u objetos seleccionados.This work allows to know all the necessary procedures for the sonorization of a video game, these procedures are put into practice during the development of five tasks in order to achieve an adequate sound design for the video game Survival Shooter, Fmod program are used to make the sound, in which effects and music can be applied to the video game and Unity in which the video game contains and in which each of the audio generated in fmod will be added. In this work, procedures were performed such as scripts and triggers that are handled in the Unity program, with which commands are given to the program to start the events prepared for the selected characters or objects

    Redefining a Process Engine as a Microservice Platform

    Get PDF
    In recent years, microservice architectures have emerged as an agile approach for scalable web applications on cloud environments. As each microservice is developed and deployed independently, they can be developed in the platform and programming language that best suite their purposes, using a simple communication protocol, as REST APIs or asynchronous event-based collaborations, to compose them. In this paper, we argue that process engines provide an excellent platform to develop microservices whose business logic involves complex work flows or processes so that a Business Process language can be used as high level language to develop these services and a process engine to execute it. We identify the requirements for integrating a process engine in a microservice architecture and we propose how the communication and deployment in a microservice architecture can be handled by the process engine.Ministerio de Economía y Competitividad TIN2015-70560-R (BELI)Junta de Andalucía P12-TIC-1867 (COPAS)Junta de Andalucía P10-TIC-590
    corecore