318 research outputs found

    Middleware for Wireless Sensor Networks: An Outlook

    Get PDF
    In modern distributed computing, applications are rarely built directly atop operating system facilities, e.g., sockets. Higher-level middleware abstractions and systems are often employed to simplify the programmer’s chore or to achieve interoperability. In contrast, real-world wireless sensor network (WSN) applications are almost always developed by relying directly on the operating system. Why is this the case? Does it make sense to include a middleware layer in the design of WSNs? And, if so, is it the same kind of software system as in traditional distributed computing? What are the fundamental concepts, reasonable assumptions, and key criteria guiding its design? What are the main open research challenges, and the potential pitfalls? Most importantly, is it worth pursuing research in this field? This paper provides a (biased) answer to these and other research questions, preceded by a brief account on the state of the art in the field

    The Bus Goes Wireless: Routing-Free Data Collection with QoS Guarantees in Sensor Networks

    Get PDF
    Abstract—We present the low-power wireless bus (LWB), a new communication paradigm for QoS-aware data collection in lowpower sensor networks. The LWB maps all communication onto network floods by using Glossy, an efficient flooding architecture for wireless sensor networks. Therefore, unlike current solutions, the LWB requires no information of the network topology, and inherently supports networks with mobile nodes and multiple data sinks. A LWB prototype implemented in Contiki guarantees bounded end-to-end communication delay and duplicate-free, inorder packet delivery—key QoS requirements in many control and mission-critical applications. Experiments on two testbeds demonstrate that the LWB prototype outperforms state-of-theart data collection and link layer protocols, in terms of reliability and energy efficiency. For instance, we measure an average radio duty cycle of 1.69 % and an overall data yield of 99.97 % in a typical data collection scenario with 85 sensor nodes on Twist. I

    Programming Wireless Sensor Networks with Logical Neighborhoods: A Road Tunnel Use Case

    Get PDF
    Wireless sensor networks (WSNs) involving actuation are increasingly envisioned in a range of fields [1]. Among these, there is considerable interest in leveraging off WSNs to improve safety in road tunnels [4]. Researchers are envi- sioning tunnels equipped with WSN nodes that gather physi- cal readings such as temperature and light, monitor the struc- tural integrity of the tunnel, and sense the presence of vehi- cles to detect a possible traffic congestion. Based on sensed data, the system operates a variety of devices, such as ven- tilation fans inside the tunnel, and traffic lights at the en- trances. For instance, when a sensor detects the presence of a fire in a sector, the fans in the same sector are activated, and the traffic lights are turned red to prevent further vehicles from entering the tunnel

    Efficient State Retention for Transiently-powered Embedded Sensing

    Get PDF
    We present state retention techniques to support embedded sensing applications on 32-bit microcontrollers whose energy provisioning is assisted through ambient harvesting or wireless energy transfer. As energy availability is likely erratic in these settings, applications may be unpredictably interrupted. To behave dependably, applications should resume from where they left as soon as energy is newly available. We investigate the fundamental building block necessary to this end, and conceive three mechanisms to checkpoint and restore a device's state on stable storage quickly and in an energy-efficient manner. The problem is unique in many regards; for example, because of the distinctive performance vs. energy trade-offs of modern 32-bit microcontrollers and the peculiar characteristics of current flash chips. Our results, obtained from real experiments using two different platforms, crucially indicate that there is no ``one-size-fits-all'' solution. The performance depends on factors such as the amount of data to handle, how in memory the data is laid out, as well as an application's read/write patterns

    Model-based real-time testing of drone autopilots

    Get PDF
    Key to the operation of robot drones is the autopilot software that realizes the low-level control. The correctness of autopilot implementations is currently mainly verified based on simulations. These may overlook the timing aspects of control loop executions, which are however fundamental to dependable operation. We report on our experience in applying model-based real-time testing to Ardupilot, a widely adopted autopilot. We describe our approach at deriving a model of Ardupilot's core functionality and at reducing the model to enable practical testing. Our work reveals that Ardupilot may fail in meeting the time constraints associated to critical functionality, such as enabling fail-safe operation. Through controlled experiments, we demonstrate the real-world occurrence of such erroneous executions

    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
    corecore