50 research outputs found

    Surviving sensor network software faults

    Get PDF
    ManuscriptWe describe Neutron, a version of the TinyOS operating system that efficiently recovers from memory safety bugs. Where existing schemes reboot an entire node on an error, Neutron's compiler and runtime extensions divide programs into recovery units and reboot only the faulting unit. The TinyOS kernel itself is a recovery unit: a kernel safety violation appears to applications as the processor being unavailable for 10-20 milliseconds. Neutron further minimizes safety violation cost by supporting "precious" state that persists across reboots. Application data, time synchronization state, and routing tables can all be declared as precious. Neutron's reboot sequence conservatively checks that precious state is not the source of a fault before preserving it. Together, recovery units and precious state allow Neutron to reduce a safety violation's cost to time synchronization by 94% and to a routing protocol by 99:5%. Neutron also protects applications from losing data. Neutron provides this recovery on the very limited resources of a tiny, low-power microcontroller

    Surviving sensor network software faults

    Full text link
    We describe Neutron, a version of the TinyOS operating system that efficiently recovers from memory safety bugs. Where existing schemes reboot an entire node on an error, Neutron’s compiler and runtime extensions divide programs into recovery units and reboot only the faulting unit. The TinyOS kernel itself is a recovery unit: a kernel safety violation appears to applications as the processor being unavailable for 10–20 milliseconds. Neutron further minimizes safety violation cost by supporting “precious ” state that persists across reboots. Application data, time synchronization state, and routing tables can all be declared as pre-cious. Neutron’s reboot sequence conservatively checks that pre-cious state is not the source of a fault before preserving it. Together, recovery units and precious state allow Neutron to reduce a safety violation’s cost to time synchronization by 94 % and to a routing protocol by 99.5%. Neutron also protects applications from losing data. Neutron provides this recovery on the very limited resources of a tiny, low-power microcontroller

    Context-oriented programming for adaptive wireless sensor network software

    Get PDF
    We present programming abstractions for imple- menting adaptive Wireless Sensor Network (WSN) software. The need for adaptability arises in WSNs because of unpredictable environment dynamics, changing requirements, and resource scarcity. However, after about a decade of research in WSN programming, developers are still left with no dedicated support. To address this issue, we bring concepts from Context-Oriented Programming (COP) down to WSN devices. Contexts model the situations that WSN software needs to adapt to. Using COP, programmers use a notion of layered function to implement context-dependent behavioral variations of WSN code. To this end, we provide language-independent design concepts to organize the context-dependent WSN operating modes, decoupling the ab- stractions from their concrete implementation in a programming language. Our own implementation, called CONESC, extends nesC with COP constructs. Based on three representative applica- tions, we show that CONESC greatly simplifies the resulting code and yields increasingly decoupled implementations compared to nesC. For example, by model-checking every function in either implementations, we show a ≈50% reduction in the number of program states that programmers need to deal with, indicating easier debugging. In our tests, this comes at the price of a maximum 2.5% (4.5%) overhead in program (data) memory

    Peripheral State Persistence For Transiently Powered Systems

    Get PDF
    Our society relies increasingly on digital technologies to communicate, seek medical information, travel, or have fun. These often-invisible technologies simplify our tasks and enrich our daily lives, while also developing the economy. Recently has emerged the concept of powered by harvesting and being able to retain information between power failures using non-volatile RAM. This report presents a software layer called that permits the use of non-trivial peripherals such as timers, serial interface or radio devices in transiently powered systems

    Next-generation protocol architectures for heterogeneous wireless sensor networks

    Get PDF

    The SoftPHY Abstraction: from Packets to Symbols in Wireless Network Design

    Get PDF
    At ever-increasing rates, we are using wireless systems to communicatewith others and retrieve content of interest to us. Current wirelesstechnologies such as WiFi or Zigbee use forward error correction todrive bit error rates down when there are few interferingtransmissions. However, as more of us use wireless networks toretrieve increasingly rich content, interference increases inunpredictable ways. This results in errored bits, degradedthroughput, and eventually, an unusable network. We observe that thisis the result of higher layers working at the packet granularity,whereas they would benefit from a shift in perspective from wholepackets to individual symbols.From real-world experiments on a 31-node testbed of Zigbee andsoftware-defined radios, we find that often, not all of the bitsin corrupted packets share fate. Thus, today's wireless protocolsretransmit packets where only a small number of the constituent bitsin a packet are in error, wasting network resources. In thisdissertation, we will describe a physical layer that passesinformation about its confidence in each decoded symbol up to higherlayers. These SoftPHY hints have many applications, one ofwhich, more efficient link-layer retransmissions, we will describe indetail. PP-ARQ is a link-layer reliable retransmission protocolthat allows a receiver to compactly encode a request forretransmission of only the bits in a packet that are likely in error.Our experimental results show that PP-ARQ increases aggregate networkthroughput by a factor of approximately 2x under variousconditions. Finally, we will place our contributions in the contextof related work and discuss other uses of SoftPHY throughout thewireless networking stack

    Mission programming for flying ensembles: combining planning with self-organization

    Get PDF
    The application of autonomous mobile robots can improve many situations of our daily lives. Robots can enhance working conditions, provide innovative techniques for different research disciplines, and support rescue forces in an emergency. In particular, flying robots have already shown their potential in many use-cases when cooperating in ensembles. Exploiting this potential requires sophisticated measures for the goal-oriented, application-specific programming of flying ensembles and the coordinated execution of so defined programs. Because different goals require different robots providing different capabilities, several software approaches emerged recently that focus on specifically designed robots. These approaches often incorporate autonomous planning, scheduling, optimization, and reasoning attributable to classic artificial intelligence. This allows for the goal-oriented instruction of ensembles, but also leads to inefficiencies if ensembles grow large or face uncertainty in the environment. By leaving the detailed planning of executions to individuals and foregoing optimality and goal-orientation, the selforganization paradigm can compensate for these drawbacks by scalability and robustness. In this thesis, we combine the advantageous properties of autonomous planning with that of self-organization in an approach to Mission Programming for Flying Ensembles. Furthermore, we overcome the current way of thinking about how mobile robots should be designed. Rather than assuming fixed-design robots, we assume that robots are modifiable in terms of their hardware at run-time. While using such robots enables their application in many different use cases, it also requires new software approaches for dealing with this flexible design. The contributions of this thesis thus are threefold. First, we provide a layered reference architecture for physically reconfigurable robot ensembles. Second, we provide a solution for programming missions for ensembles consisting of such robots in a goal-oriented fashion that provides measures for instructing individual robots or entire ensembles as desired in the specific use case. Third, we provide multiple self-organization mechanisms to deal with the system’s flexible design while executing such missions. Combining different self-organization mechanisms ensures that ensembles satisfy the static requirements of missions. We provide additional self-organization mechanisms for coordinating the execution in ensembles ensuring they meet the dynamic requirements of a mission. Furthermore, we provide a solution for integrating goal-oriented swarm behavior into missions using a general pattern we have identified for trajectory-modification-based swarm behavior. Using that pattern, we can modify, quantify, and further process the emergent effect of varying swarm behavior in a mission by changing only the parameters of its implementation. We evaluate results theoretically and practically in different case studies by deploying our techniques to simulated and real hardware.Der Einsatz von autonomen mobilen Robotern kann viele AblĂ€ufe unseres tĂ€glichen Lebens erleichtern. Ihr Einsatz kann Arbeitsbedingungen verbessern, als innovative Technik fĂŒr verschiedene Forschungsdisziplinen dienen oder RettungskrĂ€fte im Einsatz unterstĂŒtzen. Insbesondere Flugroboter haben ihr Potenzial bereits in vielerlei AnwendungsfĂ€llen gezeigt, gerade wenn mehrere in Ensembles eingesetzt werden. Das Potenzial fliegender Ensembles zielgerichtet und anwendungsspezifisch auszuschöpfen erfordert ausgefeilte Programmiermethoden und Koordinierungsverfahren. Zu diesem Zweck sind zuletzt viele unterschiedliche und auf speziell entwickelte Roboter zugeschnittene SoftwareansĂ€tze entstanden. Diese verwenden oft klassische Planungs-, Scheduling-, Optimierungs- und Reasoningverfahren. WĂ€hrend dies vor allem den zielgerichteten Einsatz von Ensembles ermöglicht, ist es jedoch auch oft ineffizient, wenn die Ensembles grĂ¶ĂŸer oder deren Einsatzumgebungen unsicher werden. Die genannten Nachteile können durch das Paradigma der Selbstorganisation kompensiert werden: Falls Anwendungen nicht zwangslĂ€ufig auf OptimalitĂ€t und strikte Zielorientierung ausgelegt sind, kann so Skalierbarkeit und Robustheit im System erreicht werden. In dieser Arbeit werden die vorteilhaften Eigenschaften klassischer Planungstechniken mit denen der Selbstorganisation in einem Ansatz zur Missionsprogrammierung fĂŒr fliegende Ensembles kombiniert. In der dafĂŒr entwickelten Lösung wird von der aktuell etablierten Ansicht einer unverĂ€nderlichen Roboterkonstruktion abgewichen. Stattdessen wird die Hardwarezusammenstellung der Roboter als zur Laufzeit modifizierbar angesehen. Der Einsatz solcher Roboter erfordert neue SoftwareansĂ€tze um mit genannter FlexibilitĂ€t umgehen zu können. Die hier vorgestellten BeitrĂ€ge zu diesem Thema lassen sich in drei Punkten zusammenfassen: Erstens wird eine Schichtenarchitektur als Referenz fĂŒr physikalisch konfigurierbare Roboterensembles vorgestellt. Zweitens wird eine Lösung zur zielorientierten Missions-Programmierung fĂŒr derartige Ensembles prĂ€sentiert, mit der sowohl einzelne Roboter als auch ganze Ensembles instruiert werden können. Drittens werden mehrere Selbstorganisationsmechanismen vorgestellt, die die autonome AusfĂŒhrung so erstellter Missionen ermöglichen. Durch die Kombination verschiedener Selbstorganisationsmechanismen wird sichergestellt, dass Ensembles die missionsspezifischen Anforderungen erfĂŒllen. ZusĂ€tzliche Selbstorganisationsmechanismen ermöglichen die koordinierte AusfĂŒhrung der Missionen durch die Ensembles. DarĂŒber hinaus bietet diese Lösung die Möglichkeit der Integration zielorientierten Schwarmverhaltens. Durch ein allgemeines algorithmisches Verfahren fĂŒr auf Trajektorien-Modifikation basierendes Schwarmverhalten können allein durch die Änderung des Parametersatzes unterschiedliche emergente Effekte in einer Mission erzielt, quantifiziert und weiterverarbeitet werden. Zur theoretischen und praktischen Evaluierung der Ergebnisse dieser Arbeit wurden die vorgestellten Techniken in verschiedenen Fallstudien auf simulierter sowie realer Hardware zum Einsatz gebracht

    A REAL-TIME TRAFFIC CONDITION ASSESSMENT AND PREDICTION FRAMEWORK USING VEHICLE-INFRASTRUCTURE INTEGRATION (VII) WITH COMPUTATIONAL INTELLIGENCE

    Get PDF
    This research developed a real-time traffic condition assessment and prediction framework using Vehicle-Infrastructure Integration (VII) with computational intelligence to improve the existing traffic surveillance system. Due to the prohibited expenses and complexity involved for the field experiment of such a system, this study adopted state-of-the-art simulation tools as an efficient alternative. This work developed an integrated traffic and communication simulation platform to facilitate the design and evaluation of a wide range of online traffic surveillance and management system in both traffic and communication domain. Using the integrated simulator, the author evaluated the performance of different combination of communication medium and architecture. This evaluation led to the development of a hybrid VII framework exemplified by hierarchical architecture, which is expected to eliminate single point failures, enhance scalability and easy integration of control functions for traffic condition assessment and prediction. In the proposed VII framework, the vehicle on-board equipments and roadside units (RSUs) work collaboratively, based on an intelligent paradigm known as \u27Support Vector Machine (SVM),\u27 to determine the occurrence and characteristics of an incident with the kinetics data generated by vehicles. In addition to incident detection, this research also integrated the computational intelligence paradigm called \u27Support Vector Regression (SVR)\u27 within the hybrid VII framework for improving the travel time prediction capabilities, and supporting on-line leaning functions to improve its performance over time. Two simulation models that fully implemented the functionalities of real-time traffic surveillance were developed on calibrated and validated simulation network for study sites in Greenville and Spartanburg, South Carolina. The simulation models\u27 encouraging performance on traffic condition assessment and prediction justifies further research on field experiment of such a system to address various research issues in the areas covered by this work, such as availability and accuracy of vehicle kinetic and maneuver data, reliability of wireless communication, maintenance of RSUs and wireless repeaters. The impact of this research will provide a reliable alternative to traditional traffic sensors to assess and predict the condition of the transportation system. The integrated simulation methodology and open source software will provide a tool for design and evaluation of any real-time traffic surveillance and management systems. Additionally, the developed VII simulation models will be made available for use by future researchers and designers of other similar VII systems. Future implementation of the research in the private and public sector will result in new VII related equipment in vehicles, greater control of traffic loading, faster incident detection, improved safety, mitigated congestion, and reduced emissions and fuel consumption
    corecore