7 research outputs found

    On the Deployment of IoT Systems: An Industrial Survey

    Get PDF
    Internet of Things (IoT) systems are complex and multifaceted, and the design of their architectures needs to consider many aspects at a time. Design decisions concern, for instance, the modeling of software components and their interconnections, as well as where to deploy the components within the available hardware infrastructure in the Edge-Cloud continuum. A relevant and challenging task, in this context, is to identify optimal deployment models due to all the different aspects involved, such as extra-functional requirements of the system, heterogeneity of the hardware resources concerning their processing and storage capabilities, and constraints like legal issues and operational cost limits. To gain insights about the deployment decisions concerning IoT systems in practice, and the factors that influence those decisions, we report about an industrial survey we conducted with 66 IoT architects from 18 countries across the world. Each participant filled in a questionnaire that comprises 15 questions. By analyzing the collected data, we have two main findings: (i) architects rely on the Cloud more than the Edge for deploying the software components of IoT systems, in the majority of the IoT application domains; and (ii) the main factors driving deployment decisions are four: reliability, performance, security, and cost

    Application-Layer Connector Synthesis

    Full text link
    International audienceThe heterogeneity characterizing the systems populating the Ubiquitous Computing environment prevents their seamless interoperability. Heterogeneous protocols may be willing to cooperate in order to reach some common goal even though they meet dynamically and do not have a priori knowledge of each other. Despite numerous e orts have been done in the literature, the automated and run-time interoperability is still an open challenge for such environment. We consider interoperability as the ability for two Networked Systems (NSs) to communicate and correctly coordinate to achieve their goal(s). In this chapter we report the main outcomes of our past and recent research on automatically achieving protocol interoperability via connector synthesis. We consider application-layer connectors by referring to two conceptually distinct notions of connector: coordinator and mediator. The former is used when the NSs to be connected are already able to communicate but they need to be speci cally coordinated in order to reach their goal(s). The latter goes a step forward representing a solution for both achieving correct coordination and enabling communication between highly heterogeneous NSs. In the past, most of the works in the literature described e orts to the automatic synthesis of coordinators while, in recent years the focus moved also to the automatic synthesis of mediators. Within the Connect project, by considering our past experience on automatic coordinator synthesis as a baseline, we propose a formal theory of mediators and a related method for automatically eliciting a way for the protocols to interoperate. The solution we propose is the automated synthesis of emerging mediating connectors (i.e., mediators for short)

    What are IoT systems for real? An experts\u2019 survey on software engineering aspects

    No full text
    Internet of Things (IoT) systems are becoming ubiquitous, and their spread has had a significant impact on all aspects of society. Software is a key aspect of IoT systems, from firmware to cloud infrastructures. For this reason, Software Engineering (SE) is crucial to design, develop, deploy, and maintain high-quality IoT systems. Despite the high relevance of these systems, by analysing the literature from a Software Engineering perspective little emerges about their key elements and characteristics, including qualities as perceived by experts working in the IoT field. For this reason, the aim of this work is to understand from the practice, the main characteristics of IoT systems to improve the SE support for their development. We carried out a survey and received 433 practitioners answers from 53 countries across the world. By analysing the collected data, we found that so far: (i) experts working on (industrial) IoT systems only acknowledge in practice some of the main elements and characteristics of IoT systems that can be found in the literature; (ii) most IoT systems require human intervention while advanced learning and self-adaption features are not widely adopted yet; (iii) Smart Industry, Smart City, Smart Building, and Smart Home are by far the most relevant IoT systems application domains; (iv) deployment choices of IoT systems largely favour the Cloud for what concerns the computation (and thus the software); and finally (v) the most relevant quality attributes for IoT systems are reliability, availability, performance, scalability, and security

    Synthesis and verification of delf-aware computing systems

    No full text
    Self-aware computing systems are envisaged to exploit the knowledge of their own software architecture, hardware infrastructure and environment in order to follow high-level goals through proactively adapting as their environment evolves. This chapter describes two classes of key enabling techniques for self-adaptive systems: automated synthesis and formal verification. The ability to dynamically synthesize component connectors and compositions underpins the proactive adaptation of the architecture of self-aware systems. Deciding when adaptation is needed and selecting valid new architectures or parameters for self-aware systems often requires formal verification. We present the state of the art in the use of the two techniques for the development of self-aware computing systems and summarize the main research challenges associated with their adoption in practice

    Synthesis and verification of delf-aware computing systems

    No full text
    Self-aware computing systems are envisaged to exploit the knowledge of their own software architecture, hardware infrastructure and environment in order to follow high-level goals through proactively adapting as their environment evolves. This chapter describes two classes of key enabling techniques for self-adaptive systems: automated synthesis and formal verification. The ability to dynamically synthesize component connectors and compositions underpins the proactive adaptation of the architecture of self-aware systems. Deciding when adaptation is needed and selecting valid new architectures or parameters for self-aware systems often requires formal verification. We present the state of the art in the use of the two techniques for the development of self-aware computing systems and summarize the main research challenges associated with their adoption in practice

    The CONNECT Architecture

    Get PDF
    Current solutions to interoperability remain limited with respect to highly dynamic and heterogeneous environments, where systems encounter one another spontaneously. In this chapter, we introduce the Connect architecture, which puts forward a fundamentally different method to tackle the interoperability problem. The philosophy is to observe networked systems in action, learn their behaviour and then dynamically generate mediator software which will connect two heterogeneous systems. We present a high-level overview of how Connect operates in practice and subsequently provide a simple example to illustrate the architecture in action

    Dependability and Performance Assessment of Dynamic CONNECTed Systems

    No full text
    Abstract. In this chapter we present approaches for analysis and monitoring of dependability and performance of Connected systems, and their combined usage. These approaches need to account for dynamicity and evolvability of Connected systems. In particular, the chapter covers the quantitative assessment of dependability and performance properties through a stochastic model-based approach: first an overview of dependability-related measurements and stochastic model-based approaches provides the necessary background. Then, our proposal in Connect of an automated and modular dependability analysis framework for dynamically Connected systems is described. This framework can be used off-line for system design (specifically, in Connect, for Connector synthesis), and on-line, to continuously assess system behaviour and detect possible issues arising at run-time. For the latter purpose, a generic, flexible and modular monitoring infrastructure has been developed. Monitoring is at the core of the Connect vision, in order to ensure run-time observation of specified quantitative properties and possibly trigger adequate reactions. We focus here on the interaction chain between monitoring and analysis, to allow for on-line continuous validation of specified dependability and performance properties. Illustrative examples of applications of analysis and monitoring are provided with reference to the Connect Terrorist Alert scenario.
    corecore