316,847 research outputs found

    Coordination and Self-Adaptive Communication Primitives for Low-Power Wireless Networks

    Get PDF
    The Internet of Things (IoT) is a recent trend where objects are augmented with computing and communication capabilities, often via low-power wireless radios. The Internet of Things is an enabler for a connected and more sustainable modern society: smart grids are deployed to improve energy production and consumption, wireless monitoring systems allow smart factories to detect faults early and reduce waste, while connected vehicles coordinate on the road to ensure our safety and save fuel. Many recent IoT applications have stringent requirements for their wireless communication substrate: devices must cooperate and coordinate, must perform efficiently under varying and sometimes extreme environments, while strict deadlines must be met. Current distributed coordination algorithms have high overheads and are unfit to meet the requirements of today\u27s wireless applications, while current wireless protocols are often best-effort and lack the guarantees provided by well-studied coordination solutions. Further, many communication primitives available today lack the ability to adapt to dynamic environments, and are often tuned during their design phase to reach a target performance, rather than be continuously updated at runtime to adapt to reality.In this thesis, we study the problem of efficient and low-latency consensus in the context of low-power wireless networks, where communication is unreliable and nodes can fail, and we investigate the design of a self-adaptive wireless stack, where the communication substrate is able to adapt to changes to its environment. We propose three new communication primitives: Wireless Paxos brings fault-tolerant consensus to low-power wireless networking, STARC is a middleware for safe vehicular coordination at intersections, while Dimmer builds on reinforcement learning to provide adaptivity to low-power wireless networks. We evaluate in-depth each primitive on testbed deployments and we provide an open-source implementation to enable their use and improvement by the community

    Applying autonomy to distributed satellite systems

    Get PDF
    The need for autonomy in several fields of aerospace engineering has become apparent and widely accepted during the last decade. Autonomy promises to improve the systems' performances, their robustness and tolerance to failures, reduce operational costs and, ultimately increase the intelligence of the system. Many are the researchers that have tackled the design and implementation of autonomy technologies for system-specific purposes: from the control of a UAV fleet or the coordination of a team of robots, to the implementation of spacecraft FDIR techniques. In the area of satellite missions, autonomous systems may drastically reduce their response times when in the presence of internal perturbations (e.g. subsystem failures), or external changes (i.e. changes in the environment) and may allow new monitoring approaches such as the on-board identification of interesting targets (e.g. autonomous detection of natural disasters, crop and forest change detection, etc.) Autonomy has been deemed essential in the design and deployment of several distributed satellite architectures, especially for Earth Observation applications. The latter systems, grounded on small spacecraft technologies, potentially present node heterogeneity at the functional level as well as in terms of computational and communication capabilities. This, combined with some of their network characteristics (which are dynamic and are affected by the node's orbital properties) and architectural aspects (potentially hierarchically structured and composed of a massive number of spacecraft), enforces the need of autonomous operations. Finally, the absence of autonomy in Distributed Satellite Systems (DSS) architectures, not only could compromise their controllability but could complicate the operational requirements unnecessarily. This presentation is aimed at gathering the design, functional and execution aspects of autonomous mission planning software for DSS architectures and to identifying open issues that still need to be solved. In the context of distributed satellite architectures, autonomy may be translated as the capability of the system to plan its own activities and observational requests with minimum human intervention. Mission Planning and scheduling Systems (MPS) have been exhaustively explored to provide this capability to the system. Their design, modelling and execution characteristics, however, are particular to the missions for which they were developed and are usually not targeted for new and complex functions that next-generation architectures are aimed to address (e.g. multi-point observations, synchronization of nodes, exchange and management of infrastructure resources, on-board generation of observational requests, self-healing properties, etc.) Some authors have scrupulously identified the commonalities of MPS for monolithic satellite missions, but their characteristics and requirements for DSS are still unexplored. Because of that, this presentation will emphasize their characteristics in that specific context. Leveraging from the commonalities found in several MPS designs, this presentation will summarize: (a) their fundamental design approaches, ranging from the implementation of negotiation protocols, or multi-agent paradigms to bio-inspired and self-organizing applications; (b) their problem, resource and task modelling, including common algorithms and optimization schemes; and (c) their runtime characteristics (i.e. reactive or deliberative, centralized or distributed). From there, the presentation will conclude discussing the open questions and unsolved features with a focus on small-satellite limitations, network issues and collaborative task requirements, and will propose a roadmap for their resolution.Postprint (author's final draft

    Software engineering and middleware: a roadmap (Invited talk)

    Get PDF
    The construction of a large class of distributed systems can be simplified by leveraging middleware, which is layered between network operating systems and application components. Middleware resolves heterogeneity and facilitates communication and coordination of distributed components. Existing middleware products enable software engineers to build systems that are distributed across a local-area network. State-of-the-art middleware research aims to push this boundary towards Internet-scale distribution, adaptive and reconfigurable middleware and middleware for dependable and wireless systems. The challenge for software engineering research is to devise notations, techniques, methods and tools for distributed system construction that systematically build and exploit the capabilities that middleware deliver

    Applications of agent architectures to decision support in distributed simulation and training systems

    Get PDF
    This work develops the approach and presents the results of a new model for applying intelligent agents to complex distributed interactive simulation for command and control. In the framework of tactical command, control communications, computers and intelligence (C4I), software agents provide a novel approach for efficient decision support and distributed interactive mission training. An agent-based architecture for decision support is designed, implemented and is applied in a distributed interactive simulation to significantly enhance the command and control training during simulated exercises. The architecture is based on monitoring, evaluation, and advice agents, which cooperate to provide alternatives to the dec ision-maker in a time and resource constrained environment. The architecture is implemented and tested within the context of an AWACS Weapons Director trainer tool. The foundation of the work required a wide range of preliminary research topics to be covered, including real-time systems, resource allocation, agent-based computing, decision support systems, and distributed interactive simulations. The major contribution of our work is the construction of a multi-agent architecture and its application to an operational decision support system for command and control interactive simulation. The architectural design for the multi-agent system was drafted in the first stage of the work. In the next stage rules of engagement, objective and cost functions were determined in the AWACS (Airforce command and control) decision support domain. Finally, the multi-agent architecture was implemented and evaluated inside a distributed interactive simulation test-bed for AWACS Vv\u27Ds. The evaluation process combined individual and team use of the decision support system to improve the performance results of WD trainees. The decision support system is designed and implemented a distributed architecture for performance-oriented management of software agents. The approach provides new agent interaction protocols and utilizes agent performance monitoring and remote synchronization mechanisms. This multi-agent architecture enables direct and indirect agent communication as well as dynamic hierarchical agent coordination. Inter-agent communications use predefined interfaces, protocols, and open channels with specified ontology and semantics. Services can be requested and responses with results received over such communication modes. Both traditional (functional) parameters and nonfunctional (e.g. QoS, deadline, etc.) requirements and captured in service requests

    Pattern Reification as the Basis for Description-Driven Systems

    Full text link
    One of the main factors driving object-oriented software development for information systems is the requirement for systems to be tolerant to change. To address this issue in designing systems, this paper proposes a pattern-based, object-oriented, description-driven system (DDS) architecture as an extension to the standard UML four-layer meta-model. A DDS architecture is proposed in which aspects of both static and dynamic systems behavior can be captured via descriptive models and meta-models. The proposed architecture embodies four main elements - firstly, the adoption of a multi-layered meta-modeling architecture and reflective meta-level architecture, secondly the identification of four data modeling relationships that can be made explicit such that they can be modified dynamically, thirdly the identification of five design patterns which have emerged from practice and have proved essential in providing reusable building blocks for data management, and fourthly the encoding of the structural properties of the five design patterns by means of one fundamental pattern, the Graph pattern. A practical example of this philosophy, the CRISTAL project, is used to demonstrate the use of description-driven data objects to handle system evolution.Comment: 20 pages, 10 figure
    corecore