16 research outputs found

    A Peer-to-Peer Approach to Content-Based Publish/Subscribe

    Get PDF
    Publish/subscribe systems are successfully used to decouple distributed applications. However, their e#ciency is closely tied to the topology of the underlying network, the design of which has been neglected. Peer-to-peer network topologies can o#er inherently bounded delivery depth, load sharing, and self-organisation. In this paper, we present a contentbased publish/subscribe system routed over a peer-to-peer topology graph. The implications of combining these approaches are explored and a particular implementation using elements from Rebeca and Chord is proven correct

    Context-Aware Publish Subscribe in Mobile ad Hoc Networks

    Get PDF
    The publish-subscribe communication paradigm is enjoying increasing popularity thanks to its ability to simplify the development of complex distributed applications. However, existing solutions in the publish-subscribe domain address only part of the challenges associated with the development of applications in dynamic scenarios such as mobile ad hoc networks. Mobile applications must be able to assist users in a variety of situations, responding not only to their inputs but also to the characteristics of the environment in which they operate. In this paper, we address these challenges by extending the publish-subscribe paradigm with the ability to manage and exploit context information when matching events against subscriptions. We present our extension in terms of a formal model of context-aware publish-subscribe. We propose a solution for its implementation in MANETs; and finally we validate our approach by means of extensive simulations

    ReSpecTX: Programming Interaction Made Easy

    Get PDF
    In this paper we present the ReSpecTX language, toolchain, and standard library as a first step of a path aimed at closing the gap between coordination languages \u2013 mostly a prerogative of the academic realm until now \u2013 and their industrial counterparts. Since the limited adoption of coordination languages within the industrial realm is also due to the lack of suitable toolchains and libraries of reusable mechanisms, ReSpecTX equips a core coordination language (ReSpecT) with tools and features commonly found in mainstream programming languages. In particular, ReSpecTX makes it possible to provide a reference library of reusable and composable interaction patterns

    Change Patterns for Supporting the Evolution of Event-Based Systems

    Get PDF
    Abstract. As event-driven architectures consist of highly decoupled components, they are a promising solution for facilitating high flexibility, scalability, and concurrency of distributed systems. However, the evolution of an event-based system is often challenging due to the intrinsic loose coupling of its components. This problem occurs, on the one hand, because of the absence of explicit information on the dependencies among the constituting components. On the other hand, assisting techniques for investigating and understanding the implications of changes are missing, hindering the implementation and maintenance of the changes in eventbased architectures. Our approach presented in this paper aims at overcoming these challenges by introducing primitive change actions and higher-level change patterns, formalized using trace semantics, for representing the modification actions performed when evolving an event-based system. Our proof-of-concept implementation and quantitative evaluations show that our approach is applicable for realistic application scenarios

    Access Control Within MQTT-based IoT environments

    Get PDF
    IoT applications, which allow devices, companies, and users to join the IoT ecosystems, are growing in popularity since they increase our lifestyle quality day by day. However, due to the personal nature of the managed data, numerous IoT applications represent a potential threat to user privacy and data confidentiality. Insufficient security protection mechanisms in IoT applications can cause unauthorized users to access data. To solve this security issue, the access control systems, which guarantee only authorized entities to access the resources, are proposed in academic and industrial environments. The main purpose of access control systems is to determine who can access specific resources under which circumstances via the access control policies. An access control model encapsulates the defined set of access control policies. Access control models have been proposed also for IoT environments to protect resources from unauthorized users. Among the existing solutions, the proposals which are based on Attribute-Based Access Control (ABAC) model, have been widely adopted in the last years. In the ABAC model, authorizations are determined by evaluating attributes associated with the subject, object, and environmental properties. ABAC model provides outstanding flexibility and supports fine-grained, context-based access control policies. These characteristics perfectly fit the IoT environments. In this thesis, we employ ABAC to regulate the reception and the publishing of messages exchanged within MQTT-based IoT environments. MQTT is a standard application layer protocol that enables the communication of IoT devices. Even though the current access control systems tailored for IoT environments in the literature handle data sharing among the IoT devices by employing various access control models and mechanisms to address the challenges that have been faced in IoT environments, surprisingly two research challenges have still not been sufficiently examined. The first challenge that we want to address in this thesis is to regulate data sharing among interconnected IoT environments. In interconnected IoT environments, data exchange is carried out by devices connected to different environments. The majority of proposed access control frameworks in the literature aimed at regulating the access to data generated and exchanged within a single IoT environment by adopting centralized enforcement mechanisms. However, currently, most of the IoT applications rely on IoT devices and services distributed in multiple IoT environments to satisfy users’ demands and improve their functionalities. The second challenge that we want to address in this thesis is to regulate data sharing within an IoT environment under ordinary and emergency situations. Recent emergencies, such as the COVID-19 pandemic, have shown that proper emergency management should provide data sharing during an emergency situation to monitor and possibly mitigate the effect of the emergency situation. IoT technologies provide valid support to the development of efficient data sharing and analysis services and appear well suited for building emergency management applications. Additionally, IoT has magnified the possibility of acquiring data from different sensors and employing these data to detect and manage emergencies. An emergency management application in an IoT environment should be complemented with a proper access control approach to control data sharing against unauthorized access. In this thesis, we do a step to address two open research challenges related to data protection in IoT environments which are briefly introduced above. To address these challenges, we propose two access control frameworks rely on ABAC model: the first one regulates data sharing among interconnected MQTT-based IoT environments, whereas the second one regulates data sharing within MQTT-based IoT environment during ordinary and emergency situations.IoT applications, which allow devices, companies, and users to join the IoT ecosystems, are growing in popularity since they increase our lifestyle quality day by day. However, due to the personal nature of the managed data, numerous IoT applications represent a potential threat to user privacy and data confidentiality. Insufficient security protection mechanisms in IoT applications can cause unauthorized users to access data. To solve this security issue, the access control systems, which guarantee only authorized entities to access the resources, are proposed in academic and industrial environments. The main purpose of access control systems is to determine who can access specific resources under which circumstances via the access control policies. An access control model encapsulates the defined set of access control policies. Access control models have been proposed also for IoT environments to protect resources from unauthorized users. Among the existing solutions, the proposals which are based on Attribute-Based Access Control (ABAC) model, have been widely adopted in the last years. In the ABAC model, authorizations are determined by evaluating attributes associated with the subject, object, and environmental properties. ABAC model provides outstanding flexibility and supports fine-grained, context-based access control policies. These characteristics perfectly fit the IoT environments. In this thesis, we employ ABAC to regulate the reception and the publishing of messages exchanged within MQTT-based IoT environments. MQTT is a standard application layer protocol that enables the communication of IoT devices. Even though the current access control systems tailored for IoT environments in the literature handle data sharing among the IoT devices by employing various access control models and mechanisms to address the challenges that have been faced in IoT environments, surprisingly two research challenges have still not been sufficiently examined. The first challenge that we want to address in this thesis is to regulate data sharing among interconnected IoT environments. In interconnected IoT environments, data exchange is carried out by devices connected to different environments. The majority of proposed access control frameworks in the literature aimed at regulating the access to data generated and exchanged within a single IoT environment by adopting centralized enforcement mechanisms. However, currently, most of the IoT applications rely on IoT devices and services distributed in multiple IoT environments to satisfy users’ demands and improve their functionalities. The second challenge that we want to address in this thesis is to regulate data sharing within an IoT environment under ordinary and emergency situations. Recent emergencies, such as the COVID-19 pandemic, have shown that proper emergency management should provide data sharing during an emergency situation to monitor and possibly mitigate the effect of the emergency situation. IoT technologies provide valid support to the development of efficient data sharing and analysis services and appear well suited for building emergency management applications. Additionally, IoT has magnified the possibility of acquiring data from different sensors and employing these data to detect and manage emergencies. An emergency management application in an IoT environment should be complemented with a proper access control approach to control data sharing against unauthorized access. In this thesis, we do a step to address two open research challenges related to data protection in IoT environments which are briefly introduced above. To address these challenges, we propose two access control frameworks rely on ABAC model: the first one regulates data sharing among interconnected MQTT-based IoT environments, whereas the second one regulates data sharing within MQTT-based IoT environment during ordinary and emergency situations

    An Overview of Language Support for Modular Event-driven Programming

    Get PDF
    Nowadays, event processing is becoming the backbone of many applications. Therefore, it is necessary to provide suitable abstractions to properly modularize the concerns that appear in event-driven applications. We identify four categories of languages that support event-driven programming, and identify their shortcomings in achieving modularity in the implementation of applications. We propose gummy modules and their implementation in the GummyJ language as a solution. Gummy modules have well-defined event-based interfaces, and can have a primitive or a composite structure. Composite gummy modules are means to group a set of correlated event processing concerns and restrict the visibility of events among them. We provide an example usage of gummy modules, and discuss their event processing semantics

    Managing Event-Driven Applications in Heterogeneous Fog Infrastructures

    Get PDF
    The steady increase in digitalization propelled by the Internet of Things (IoT) has led to a deluge of generated data at unprecedented pace. Thereby, the promise to realize data-driven decision-making is a major innovation driver in a myriad of industries. Based on the widely used event processing paradigm, event-driven applications allow to analyze data in the form of event streams in order to extract relevant information in a timely manner. Most recently, graphical flow-based approaches in no-code event processing systems have been introduced to significantly lower technological entry barriers. This empowers non-technical citizen technologists to create event-driven applications comprised of multiple interconnected event-driven processing services. Still, today’s event-driven applications are focused on centralized cloud deployments that come with inevitable drawbacks, especially in the context of IoT scenarios that require fast results, are limited by the available bandwidth, or are bound by the regulations in terms of privacy and security. Despite recent advances in the area of fog computing which mitigate these shortcomings by extending the cloud and moving certain processing closer to the event source, these approaches are hardly established in existing systems. Inherent fog computing characteristics, especially the heterogeneity of resources alongside novel application management demands, particularly the aspects of geo-distribution and dynamic adaptation, pose challenges that are currently insufficiently addressed and hinder the transition to a next generation of no-code event processing systems. The contributions of this thesis enable citizen technologists to manage event-driven applications in heterogeneous fog infrastructures along the application life cycle. Therefore, an approach for a holistic application management is proposed which abstracts citizen technologists from underlying technicalities. This allows to evolve present event processing systems and advances the democratization of event-driven application management in fog computing. Individual contributions of this thesis are summarized as follows: 1. A model, manifested in a geo-distributed system architecture, to semantically describe characteristics specific to node resources, event-driven applications and their management to blend application-centric and infrastructure-centric realms. 2. Concepts for geo-distributed deployment and operation of event-driven applications alongside strategies for flexible event stream management. 3. A methodology to support the evolution of event-driven applications including methods to dynamically reconfigure, migrate and offload individual event-driven processing services at run-time. The contributions are introduced, applied and evaluated along two scenarios from the manufacturing and logistics domain

    Aplicación Android para la supervisión y control de un sistema de telemonitorización en tiempo real

    Get PDF
    Internet ha causado junto con los avances en la telefonía móvil una repercusión considerable en nuestra vida y en como nos comunicamos. Lo que antes podían parecer dos realidades separadas, actualmente se complementan, y de hecho nos parecería raro, incluso, pensar en un móvil sin conexión a Internet en cualquiera de sus formas. Con el uso de Internet la demanda sobre los teléfonos móviles ha ido creciendo a un ritmo alarmante, y los fabricantes en su empeño por no quedarse atrás han ido invirtiendo más esfuerzo y dinero en mejorarlos, hasta lo que hoy en día se conocen como smartphones. De esta forma al ofrecerse un dispositivo con mejores prestaciones, surgen a su vez sistemas operativos más capaces y eficientes, y gradualmente aparecen multitud de aplicaciones que desean participar ofreciendo su granito de arena. Pensando en la movilidad que ofrece un dispositivo de este calibre y en la posibilidad de conectarlo a Internet, surgen ideas tan variadas como herramientas para la salud, mensajería que sustituye al tradicional sms, aplicaciones de gestión, e incluso herramientas de telemonitorización, que es justo en este último tipo en el que se centra este Trabajo de Fin de Grado. Quizás el término telemonitorización se perciba de un modo muy abstracto y vago, por lo que mejor pensemos en algo así como una herramienta de monitorización a distancia. La posibilidad de conectar el móvil a un hogar nos ofrece usos muy variopintos. Supongamos un domicilio en el que residen personas de avanzada edad y que por una razón u otra no las podemos atender presencialmente. La idea sería colocar sensores en dicho domicilio que recogiesen datos del momento de su activación, y que dicho evento llegase a nuestro dispositivo móvil con toda la información que se necesitase. Para ello la información debería recibirse en tiempo real, o al menos en soft real-time, en cualquier dispositivo móvil mediante un push realizado desde un servidor centralizado. Así pues, en este proyecto se documenta el desarrollo de una aplicación a modo de front–end para el sistema operativo Android que monitorice una red de sensores ya existente. Para dicho fin, el front–end anteriormente mencionado, deberá conectarse mediante un protocolo publish/subscribe (en nuestro caso MQTT) al servidor encargado de enviar los mensajes. Tras conectarse, deberá ser capaz de suscribirse a un canal específico para la recepción de dichos eventos. Además, la aplicación deberá almacenar las activaciones producidas por cada sensor a modo de registro histórico. Dicho histórico podrá ser usado en un futuro para la generación de gráficas de un sensor dado y según intervalos de tiempo concretos. La aplicación, desarrollada sobre una arquitectura MVC, ha sido pulida a lo largo de la vida de este TFG solventando diversos problemas para conseguir un sistema que cumple con todas las expectativas del cliente. Todo ello implementado de un modo sencillo y moderno que no requiera de tecnicismos ni conocimientos que un usuario medio no disponga, con un consumo mínimo de recursos, con rendimiento en soft realtime y sobre todo, sirviendo de base para el desarrollo de tecnología móvil de telemonitorización. ________________________________________________________________________________________________________________________________Internet has caused together with mobile telephony progress a huge impact on our lives and the way we communicate. What once might have seemed as two separated realities, are complemented nowadays, and indeed would seem strange even to think of a mobile with no Internet connection in any of its forms. The more the Internet is used the more the growth at the demand on mobile phones, and the manufacturers in their effort to keep up, have been investing more effort and money to improve them, to what today are known as smartphones. Thus by offering a device with better features, more capable and efficient operating systems are emerging at the same time, and gradually appear many applications that wish to participate by offering their two cents. Considering the mobility that offers a device of such a kind and the possibility of connecting it to Internet, ideas emerge as varied as health tools, messaging which replaces the traditional sms, management applications, and even telemonitoring tools, which is just in the latter type in which this Final Project Work focuses. Perhaps the term “telemonitoring” is perceived in a very abstract and vague way, so better think of something like a remote monitoring tool. The ability of connecting a cell phone to a home offers us very different uses. Imagine a home where elder people live and for one reason or another it is not possible to attend in person. The idea would be to place sensors in such address to collect data of the activation time, and that this event came to your mobile device with all the information that was needed. For this purpose, the information will be received at real time, or at least at soft real-time, on any mobile device carried by a push from a centralized server. Hence, this project documents the development of an application that acts as a front–end for the Android operating system, monitoring an existing sensor network. To this end, the front–end above, will connect through a publish/subscribe protocol (in our case MQTT) to the server responsible for sending the messages. After connection established, it will be able to subscribe to a specific channel for the reception of such events. In addition, the application must store the activations produced by each sensor as a historical record. Such record may be used in the future to generate graphs for a given sensor according to specific time intervals. The application, developed on an MVC architecture, has been “polished” over the life of this Project by solving various problems and finally getting a system that meets all customer expectations. All implemented in a simple and modern way, with no technicalities or knowledge requirement, that an average user does not have, with minimal consumption of resources, with soft real-time performance, and above all, serving as the foundation for the development of telemonitoring mobile technology.Ingeniería Informátic

    Formal patterns for Web-based systems design

    Get PDF
    The ubiquitous and simple interface of Web browsers has opened the door for the devel- opment of a new class of distributed applications which they have been known as Web applications. As more and more systems become Web-enabled we become increasingly dependent on the Web applications. Therefore, reliability of such systems is a very crucial factor for successful operation of many modern organisations and institutes. In the ¯rst part of this thesis we review how Web systems have evolved from simple static pages, in their early days, to their current situation as distributed applications with sophisticated functionalities. We also ¯nd out how the design methods have evolved to align with the rapid changes both in the new emerging technologies and growing functionalities. Although design approaches for Web applications have improved during the last decade we conclude that dependability should be given more consideration. In Chapter 2 we explain how this could be achieved through the application of formal methods. Therefore, we have provided an overview of dependability and formal methods in this chapter. In the second part of this research we follow a practical approach to the formal modelling of Web Applications. Accordingly, in Chapter 3 we have developed a series of formal models for an integrated holiday booking system. Our main objectives are to gain some common knowledge of the domain and to identify some key areas and features with regard to our formal modelling approach. Formal modelling of large Web applications could be a very complex process. In Chapter 4 we have introduced the idea of formal patterns for speci¯cation and re¯nement to accelerate the modelling process and to help alleviate the burden of formal modelling. In a further attempt to tackle the complexity of the formal modelling of Web applica- tions, we have introduced the idea of speci¯cation partitioning in Chapter 5. Speci¯- cation partitioning is closely related to the notion of composition. In this chapter we have extended some CSP-like composition techniques to build the system speci¯cation from subsystems or parts. The summary of our research, related ¯ndings and some suggestions for the future work are presented in Chapter 6.EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    corecore