This TEP documents a Hardware Abstraction Architecture (HAA) for TinyOS 2.0 that balances the conflicting requirements of code reusability and portability on the one hand and efficiency and performance optimization on the other. Its three-layer design gradually adapts the capabilities of the underlying hardware platforms to the selected platform-independent hardware interface between the operating system core and the application code. At the same time, it allows the applications to utilize a platform’s full capabilities -exported at the second layer, when the performance requirements outweigh the need for cross-platform compatibility.
We present the philosophy, design, and initial evaluation of the Trio testbed, a new outdoor sensor network deployment that consists of 557 solar-powered motes, seven gateway nodes, and a root server. The testbed covers an area of approximately 50,000 square meters and was in continuous operation during the last four months of 2005. This new testbed in one of the largest solar-powered outdoor sensor networks ever constructed and it offers a unique platform on which both systems and application software can be tested safely at scale. The testbed is based on Trio, a new mote platform that provides sustainable operation, enables efficient in situ interaction, and supports fail-safe programming. The motivation behind this testbed was to evaluate robust multi-target tracking algorithms at scale. However, using the testbed has stressed the system software, networking protocols, and management tools in ways that have exposed subtle but serious weaknesses that were never discovered using indoor testbeds or smaller deployments. We have been iteratively improving our support software, with the eventual aim of creating a stable hardware-software platform for sustainable, scalable, and flexible testbed deployments
Project ExScal (for extreme scale) fielded a 1000+ node wireless sensor network and a 200+ node peer-to-peer ad hoc network of 802.11 devices in a 13km by 300m remote area in Florida, USA during December 2004. In comparison with previous deployments, the ExScal application is relatively complex and its networks are the largest ones of either type fielded to date. In this paper, we overview the key requirements of ExScal, the corresponding design of the hardware/software platform and application, and some results of our experiments.
We describe the design and implementation of PEG, a networked system of distributed sensor nodes that detects an uncooperative agent called the evader and assists an autonomous robot called the pursuer in capturing the evader. PEG requires embedded network services such as leader election, routing, network aggregation, and closed loop control. Instead of using general purpose distributed system solutions for these services, we employ whole-system analysis and rely on spatial and physical properties to create simple and efficient mechanisms. We believe this approach advances sensor network design, yielding pragmatic solutions that leverage physical properties to simplify design of embedded distributed systems. We deployed PEG on a 400 square meter field using 100 sensor nodes, and successfully intercepted the evader in all runs. We confronted practical issues such as node breakage, packaging decisions, in situ debugging, network reprogramming, and system reconfiguration. We discuss the approaches we took to cope with these issues and share our experiences in deploying a realistic outdoor sensor network system.
Project ExScal (for Extreme Scale) fielded a 1000+ node wireless sensor network and a 200+ node ad hoc network of 802.11 devices in a 1.3km by 300m remote area in Florida during December 2004. In several respects, these networks are likely the largest deployed networks of either type to date. We overview here the key requirements of the project, describe briefly how they were met and experimentally tested, and provide a pointer to our experimental results.
We present T2, a second generation sensor network operating system written in the nesC language. We describe why the limitations and problems of current OSes necessitate a new design. T2 improves on current systems in three areas: platform support, application construction, and reliability. We argue that existing systems neglected these properties in order to maximize flexibility. In contrast, T2 limits flexibility to that which applications need, and leverages these constraints to improve the rest of the system. We evaluate T2 in comparison to TinyOS, and show how its structure simplifies applications, makes porting to a new platform much easier, and improves system reliability. From these results, we discuss the frictions present in component-based OSes and how T2’s design and structure makes dealing with them more tractable.
We present a flexible hardware abstraction architecture (HAA) that balances conflicting requirements of wireless sensor networks (WSNs) applications and the desire for increased portability and streamlined development of applications. Our three-layer design gradually adapts the capabilities of the underlying hardware platforms to the selected platform-independent hardware interface between the operating system core and the application code. At the same time, it allows the applications to utilize a platform's full capabilities-exported at the second layer, when the performance requirements outweigh the need for cross-platform compatibility. We demonstrate the practical value of our approach by presenting how it can be applied to the most important hardware modules that are found in a typical WSN platform. We support our claims using concrete examples from existing hardware abstractions in TinyOS and our implementation of the MSP430 platform that follows the architecture proposed in this paper.
Wireless sensor networks (WSNs) promote energy-efficiency as the main design criterion. This introduces rather conflicting requirements for the hardware adaptation layer. Maximizing the efficiency requires that the presentation must closely mimic the underlying hardware model. On the other hand, increasing the level of abstraction simplifies the development, but at the cost of lowered efficiency because it obstructs the link between the application and the hardware. As new microcontrollers and radios are introduced for use in WSNs, applications must be able to effectively use new low power features and peripherals. The MSP430 family of microcontrollers by Texas Instruments is specifically designed for ultra-low-power applications. It incorporates a 16-Bit RISC CPU, peripherals and a clock system. The MSP430F149 is one of the most popular members of the family. As shown in Fig. 1, it has 60 KB Flash, 2 KB of RAM and a flexible clock system sourced by an internal digitally controlled oscillator (DCO) and/or two external oscillators. It also contains a 12-Bit A/D Converter, two independent timers and two USARTs.
This paper proposes a neighborhood programming abstraction for sensor networks, wherein a node can identify a subset of nodes around it by a variety of criteria and share state with those nodes. This abstraction allows developers to design distributed algorithms in terms of the neighborhood abstraction itself, instead of decomposing them into component parts such as messaging protocols, data caches, and neighbor lists. In those applications that are already neighborhood-based, this abstraction is shown to facilitate good application design and to reduce algorithmic complexity, inter-component coupling, and total lines of code. The abstraction as defined here has been successfully used to implement several complex applications and is shown to capture the essence of many more existing distributed sensor network algorithms.
Sensor networks are gaining a central role in the research community. This paper addresses some of the issues arising from the use of sensor networks in control applications. Classical control theory proves to be insufficient in modeling distributed control problems where issues of communication delay, jitter, and time synchronization between components are not negligible. After discussing our hardware and software platform and our target application, we review useful models of computation and then suggest a mixed model for design, analysis, and synthesis of control algorithms within sensor networks. We present a hierarchical model composed of continuous time-trigger components at the low level and discrete event-triggered components at the high level.
Presents the implementation of a hierarchical architecture for the coordination and control of a heterogeneous team of autonomous agents. We consider the problem of having a team of agents pursue a second team of evaders while building a map of the environment. The control architecture emphasizes the autonomy of each agent yet allows for coordinated efforts among them. We address the technical challenges and implementation issues of multi-agent operation. Finally we present experimental results of a pursuit-evasion game scenario between unmanned ground and aerial vehicles.
Executive Summary Technical Report Wireless sensor networks, which are becoming increasingly more commonly used, had been difficult to write programs for due to the inability to effectively perform many different tasks that were common on other development platforms, such as debugging and unit testing. In order to solve this problem, Kamin Whitehouse and his co-authors developed Marionette, a development framework which uses remote procedure calls (RPCs) simplifies wireless sensor network development in many ways. Marionette allows a programmer to call functions and manipulate variables on nodes from a PC. I became involved in the project when I approached Professor Whitehouse and asked if I could perform research under him. He suggested that I work on improving Marionette; a conference paper had already been published on it, but much time had passed and the framework had not been updated. In addition, we were interested in undertaking enough new research to warrant publishing a journal article through expansion of the original conference paper. I first updated Marionette to function with the new version of TinyOS, the operating system running on the sensor nodes that Marionette is targeting. This work greatly increased the number of applications that could utilize Marionette by making it much more viable. After that, I concentrated on adding new functionality as well as evaluating the different applications Marionette could be utilized for. I expanded the scope of Marionette by developing a system by which it could be used from a remote system in almost any programming language. I also began development on a feature which offers streamlined unit testing capabilities. For more details on this and my current and future work on Marionette, see the preface to the technical document. I would like to thank Kamin Whitehouse for giving me the chance to work on Marionette and for continuing to provide me with a gracious amount of guidance and support. In May of 2007, Comcast Inc. was discovered to be interfering with BitTorrent traffic intended for their customers' computers. This incident became a large public controversy, considering it was the first actual significant case of network neutrality being violated. Comcast came to an agreement with BitTorrent Inc. in April, 2008 and ceased specifically interfering with BitTorrent traffic. I decided to examine this incident and the merits of each side's argument as I have long had an interest in network neutrality and electronic privacy rights. I analyzed the case from …
A main challenge with developing applications for wireless embedded systems is the lack of visibility and control during execution of an application. In this paper, we present a tool suite called Marionette that provides the ability to call functions and to read or write variables on pre-compiled, embedded programs at run-time, without requiring the programmer to add any special code to the application. This rich interface facilitates interactive development and debugging at minimal cost to the node.
Mikhail Nesterenko合作论文数Kent State University;Computer Science Department3
Chris Karlof合作论文数Computer Science Department
University of California at Berkeley2