Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ppt

470 views

Published on

  • Be the first to comment

  • Be the first to like this

ppt

  1. 1. Dynamic Software Reconfiguration in Sensor Network Sachin Kogekar, Sandeep Neema, Xenofon Koutsoukos Published by ICW 2005 Presented by Taewan You 2008. 11. 25
  2. 2. Contents <ul><li>Introduction </li></ul><ul><li>An Tracking Application for sensor network </li></ul><ul><li>Reconfiguration architecture </li></ul><ul><li>Modeling reconfigurable applications </li></ul><ul><li>Implementation and Results </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Introduction <ul><li>Wireless sensor network </li></ul><ul><ul><li>Number of nodes spread across a geographical area, deployed in an ad hoc manner </li></ul></ul><ul><ul><li>Wireless communication, occasionally actuators, and computation capabilities </li></ul></ul><ul><li>Reconfiguration and self-adaption </li></ul><ul><ul><li>Virtual capabilities of sensor network that are required to operate in dynamic environments </li></ul></ul><ul><li>Dynamically adaptive software </li></ul><ul><ul><li>Detect system changes, reflect on the event occurrences, and adapt to the new operating conditions </li></ul></ul>
  4. 4. Sensor Node Technology <ul><li>Widely used Platforms </li></ul><ul><ul><li>Berkeley MICA mote </li></ul></ul><ul><ul><ul><li>Very small factor: 58mm * 32mm * 7mm </li></ul></ul></ul><ul><ul><ul><li>Constraint resources: 4MHz microcontroller, </li></ul></ul></ul><ul><ul><ul><li>4KB of RAM, 128KB of flash memory </li></ul></ul></ul><ul><ul><ul><li>Runs TinyOS operating system </li></ul></ul></ul><ul><ul><ul><ul><li>Event driven and modular OS desinged </li></ul></ul></ul></ul><ul><ul><ul><li>TinyOS application </li></ul></ul></ul><ul><ul><ul><ul><li>Compiled graph of components </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Components have memory frames to store their state, and communicate with other </li></ul></ul></ul></ul><ul><ul><ul><li>A typical MICA system </li></ul></ul></ul><ul><ul><ul><ul><li>Consist of tens to hundreds of motes forming and adhoc multi-hop network and a base station that is typically a PC class computer </li></ul></ul></ul></ul>
  5. 5. Modeling sensor network <ul><li>Composition and Synthesis </li></ul><ul><ul><li>Gratis: Visual Composition and Synthesis Environment for TinyOS </li></ul></ul><ul><ul><li>Built using the Generic Modeling Environment (GME) </li></ul></ul><ul><ul><ul><li>Meta programmable toolkit using UML and OCL </li></ul></ul></ul><ul><ul><li>Automatic generation of all configuration files from graphical models </li></ul></ul><ul><li>Model Integrated Computing (MIC) </li></ul><ul><ul><li>Domain-specific models to represent S/W </li></ul></ul><ul><ul><li>Model-Integrated Program Synthesis (MIPS) used for the modeling </li></ul></ul><ul><ul><li>UML, Object Constraint Language (OCL) are used in the Multigraph Architecture (MGA) </li></ul></ul>
  6. 6. Dynamic Reconfiguration <ul><li>Software domain </li></ul><ul><ul><li>Commonly used to refer to software mechanisms that logically attach and detach system resources from an operating environment without incurring downtime </li></ul></ul><ul><li>Wireless Sensor Network </li></ul><ul><ul><li>Ability of deployed nodes to organize and reorganize themselves when some nodes are lost </li></ul></ul><ul><ul><ul><li>Retrieve information from the environment </li></ul></ul></ul><ul><ul><ul><li>Transmit this information to a base station </li></ul></ul></ul><ul><li>Embedded world </li></ul><ul><ul><li>Ability of a programmable System-On-Chip (SOC) to change its functionalities at run-time, performing seemingly different functions at different instances in time </li></ul></ul>
  7. 7. Contributions <ul><li>Dynamic software reconfiguration </li></ul><ul><ul><li>Constraint based approach for determining network configuration during runtime </li></ul></ul><ul><ul><li>Prototyped a software architecture </li></ul></ul><ul><ul><li>Key components </li></ul></ul><ul><ul><ul><li>A domain-specific modeling environment </li></ul></ul></ul><ul><ul><ul><ul><li>Sensor Network Reconfiguration Architecture Modeling Language (SNRAMoLa) </li></ul></ul></ul></ul><ul><ul><ul><li>A constraint-based design-space exploration tool </li></ul></ul></ul><ul><ul><ul><ul><li>DESERT </li></ul></ul></ul></ul><ul><ul><ul><li>A suite of runtime components and services </li></ul></ul></ul><ul><ul><ul><ul><li>Allow monitoring the operating conditions and enacting the reconfiguration instructions </li></ul></ul></ul></ul>
  8. 8. Case Study <ul><li>Sensor network Testbed </li></ul><ul><ul><li>Eight Red Hat Linux OpenBrick-E wireless devices </li></ul></ul><ul><ul><ul><li>Each node is equipped with a Logitech QuickCam Pro 4000 webcam. </li></ul></ul></ul><ul><ul><li>Windows XP base station </li></ul></ul><ul><ul><ul><li>The base-station is connected to one sensor node through a wired 802.3 LAN </li></ul></ul></ul><ul><ul><li>The distributed aislemonitor application </li></ul></ul><ul><ul><ul><li>Designed to perform one-dimensional tracking of people walking in an aisle </li></ul></ul></ul>
  9. 9. Reconfiguration Architecture (1/2) <ul><li>Building Self-adaptive sensor networks </li></ul><ul><ul><li>Utilizes explicit models of the design space of the embedded application </li></ul></ul><ul><ul><ul><li>Captured by formally modeling all the software components and their interactions based on the Asynchronous Data Flow model of computation </li></ul></ul></ul><ul><ul><li>System requirements are expressed as formal constraints </li></ul></ul><ul><ul><ul><li>Operational parameters such as power consumption, latency, accuracy, and other QoS properties etcs. </li></ul></ul></ul><ul><ul><ul><li>These constraints are expressed in the Object Constraint Language (OCL) </li></ul></ul></ul>
  10. 10. Reconfiguration Architecture (2/2) <ul><li>The exploration of the operation </li></ul><ul><ul><li>Parameterized constraints captured in the embedded models </li></ul></ul><ul><ul><li>Online constraint solving using a combination of symbolic constraint satisfaction and linear programming </li></ul></ul><ul><li>Two major tasks for Reconfiguration </li></ul><ul><ul><li>Finding the new configuration </li></ul></ul><ul><ul><li>Switching or reconfiguring the components that are actually executing on the individual sensors </li></ul></ul>
  11. 11. Reconfiguration Process (1/2) <ul><li>During design time </li></ul><ul><ul><li>The entire application is modeled in the Generic Modeling Environment (GME) </li></ul></ul><ul><ul><li>The Sensor Network Reconfigurable Applications Modeling Language (SNRAMoLa) for component based sensor network applications supports the modeling of alternate implementations of the same components and explicit representation of constraints in OCL </li></ul></ul><ul><ul><li>The constraints are resolved over these attributes by the DEsign Space ExploRation Tool (DESERT) and valid configurations of the application are generated </li></ul></ul><ul><li>During run-time </li></ul><ul><ul><li>Detecting failure , the Global Constraint Monitor (GCM) (located on the base station) updates the values of the critical QoS attributes in the application models. </li></ul></ul><ul><ul><li>A change in the values of the attributes invokes the reconfiguration process. </li></ul></ul>
  12. 12. Reconfiguration Process (2/2) <ul><li>During reconfiguration </li></ul><ul><ul><li>Finding a new configuration is performed by a controller program executing on the base station </li></ul></ul><ul><ul><li>The SNRAMoLa models of the application form the design space for selecting the valid configurations of the application </li></ul></ul><ul><ul><li>The design space exploration tool, DESERT evaluates the constraints and selects an appropriate configuration by pruning the design space </li></ul></ul><ul><ul><li>The output of DESERT is used in the generation of a set of configuration files , one for sensor </li></ul></ul><ul><ul><li>Sending the new configuration files to the individual </li></ul></ul><ul><ul><li>It reads from the new configuration file and, stops, rewires or starts active or dormant application components already present on the sensor nodes by Configurator components </li></ul></ul><ul><ul><li>The Monitor components monitor the health of the network </li></ul></ul><ul><ul><li>These communicate with the GCM component executing on the base station in case of failure in the network </li></ul></ul>
  13. 13. Software infrastructure for Reconfiguration <ul><li>SNRAMoLa to DESERT Interpreter </li></ul><ul><ul><li>Converts the SNRAMoLa application model to a format compatible with DESERT </li></ul></ul><ul><ul><li>The converted data is fed to DESERT as an XML file </li></ul></ul><ul><li>DESERT to Configurator Interpreter </li></ul><ul><ul><li>DESERT applies the constraints and generates another XML file, which enumerates the design configuration in the pruned space </li></ul></ul><ul><ul><li>Generates a configuration file, which is then physically transported to the nodes over the wireless network </li></ul></ul><ul><li>Configurator </li></ul><ul><ul><li>Maintaining two link-list data structure and a memory ID counter to implement the reconfigurable infrastructure </li></ul></ul><ul><ul><li>During initialization, Configurator opens a socket to listen for incoming signals from the base station. </li></ul></ul><ul><ul><li>After initialization, Configurator goes in an infinite loop where it continues to listen for new messages on the open port coming from the base station. </li></ul></ul><ul><li>Monitor </li></ul><ul><ul><li>Execute on each node and monitor QoS parameters of itself and its immediate neighbors. </li></ul></ul>
  14. 14. Reconfiguration Architecture Design
  15. 15. Modeling reconfigurable application <ul><li>SNRAMoLa (Sensor Network Reconfigurable Application Modeling Language) </li></ul><ul><ul><li>A graphical Modeling language </li></ul></ul><ul><ul><li>To model the design space of the sensor network application in Generic Modeling Environment (GME) </li></ul></ul><ul><ul><li>Defined with UML class diagrams </li></ul></ul><ul><ul><li>This modeling paradigm is based on the Asynchronous Data Flow (ASDF) model of computation </li></ul></ul><ul><ul><li>Components based software systems </li></ul></ul><ul><li>SNRAMoLa paradigm </li></ul><ul><ul><li>Enables the user to model complex component based sensor network applications in a more intuitive manner. </li></ul></ul><ul><ul><li>Enables the user to model components that can be replaced by others during runtime </li></ul></ul><ul><ul><li>The user can visualize the applications executing on individual sensor nodes </li></ul></ul>
  16. 16. Core concepts for Modeling (1/2) <ul><li>Component object </li></ul><ul><ul><li>Separate process in the application </li></ul></ul><ul><ul><li>Contain InPort(s) and OutPort(s) </li></ul></ul><ul><ul><li>Either Reconfigurable or Non-reconfigurable </li></ul></ul><ul><ul><ul><li>Can be replaced or be irreplaceable in the application graph </li></ul></ul></ul><ul><ul><ul><li>ComponentsFolder declares non-reconfigurable components </li></ul></ul></ul><ul><ul><ul><li>Choice declares reconfigurable components </li></ul></ul></ul><ul><ul><li>‘ Path’ attribute </li></ul></ul><ul><ul><ul><li>Identifies the physical path of the executable </li></ul></ul></ul><ul><li>InPort object </li></ul><ul><ul><li>Declared in Component or Choice object </li></ul></ul><ul><ul><li>Accept data from another Component object </li></ul></ul><ul><li>OutPort object </li></ul><ul><ul><li>Declared in Component or Choice object </li></ul></ul><ul><ul><li>Send data to another Component object </li></ul></ul>
  17. 17. Core concepts for Modeling (2/2) <ul><li>DataFlow object </li></ul><ul><ul><li>A connection object that links an output port of a Component object with an input port of another Component object </li></ul></ul><ul><ul><li>The Asynchronous flow of data from one application component to another. </li></ul></ul><ul><li>Choice object </li></ul><ul><ul><li>To model reconfigurable or mutually replaceable Component objects in the application graph </li></ul></ul><ul><li>Condition object </li></ul><ul><ul><li>Each Choice object contains at least one Condition object that specifies a constraint expressed in OCL </li></ul></ul><ul><ul><li>During the reconfiguration process, this constraint is evaluated by DESERT over the collection of reconfigurable Component objects also contained in the same Choice object </li></ul></ul><ul><ul><li>Only those Component objects that satisfy the constraints are selected for inclusion in the final application graph. </li></ul></ul>
  18. 18. SNRAMoLa meta-model
  19. 19. Design space exploration <ul><li>DESERT </li></ul><ul><ul><li>Design space exploration tool developed by using MIC </li></ul></ul><ul><ul><li>An intuitive user interface lets the user perform the exploration interactively </li></ul></ul><ul><ul><li>The end result of the exploration is a pruned design space </li></ul></ul><ul><li>Evaluation design space </li></ul><ul><ul><li>Design space can be summarized as hierarchically layered parameterized </li></ul></ul><ul><ul><li>Design configuration </li></ul></ul><ul><ul><ul><li>K m = (K m-1 + 1) * n, K 1 = n, (a*n) m leaf element </li></ul></ul></ul><ul><ul><li>Example </li></ul></ul><ul><ul><ul><li>n = 4, a = 3, m = 3 </li></ul></ul></ul><ul><ul><ul><li>Total of 1728 leaf elements can represent 3 84 design configuration in the space </li></ul></ul></ul>DESERT Meta-Model
  20. 20. Testbed - Monitoring system design <ul><li>SNRAMoLa modeling </li></ul><ul><ul><li>The Receiver and the ImageSensor components continue to execute </li></ul></ul><ul><ul><li>Only the Estimator1 and DataCollector1 components are stopped and their alternatives are started </li></ul></ul><ul><li>Explorating Constraints runtime </li></ul><ul><ul><li>P available – cuurently available total power of the nodes </li></ul></ul><ul><ul><li>A desired – current accuracy requirements </li></ul></ul>
  21. 21. Scenario <ul><li>Test Case Design </li></ul><ul><ul><li>The tests that involved more than one person walking in the aisle were designed such that at any given time </li></ul></ul><ul><ul><li>Disable OpenBrick device, sensing Gap occurs </li></ul></ul><ul><ul><ul><li>Reconfiguration invoked </li></ul></ul></ul><ul><li>Reconfiguration </li></ul><ul><ul><li>Configuration 1 </li></ul></ul><ul><ul><ul><li>One person was in the range of the sensor network for some interval of time but never in the range of the same OpenBrick device. </li></ul></ul></ul><ul><ul><li>Configuration 2 </li></ul></ul><ul><ul><ul><li>The components of the neighboring OpenBrick devices then take over the prediction of the people in this range by predicting their position. </li></ul></ul></ul>
  22. 22. Results <ul><li>Reconfiguration process overhead </li></ul><ul><ul><li>Total reconfiguration process took in 18 sec </li></ul></ul><ul><ul><li>Reconfiguration was achieved without affecting the entire application </li></ul></ul><ul><li>Tracking results </li></ul><ul><ul><li>The third OpenBrick device is executing the second configuration </li></ul></ul>
  23. 23. Conclusion <ul><li>Develop and demonstrate </li></ul><ul><ul><li>Dynamic software reconfiguration in sensor network </li></ul></ul><ul><ul><ul><li>Application Modeling using by SNRAMoLa </li></ul></ul></ul><ul><ul><ul><li>Exploration of design space using by DESERT runtime </li></ul></ul></ul><ul><ul><ul><li>Real sensor network application </li></ul></ul></ul><ul><ul><ul><ul><li>Aislemonitor application to tracking of people working </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Linux-based sensor nodes </li></ul></ul></ul></ul>

×