ppt

23
Dynamic Software Reconfiguration in Sensor Network Sachin Kogekar, Sandeep Neema, Xenofon Koutsoukos Published by ICW 2005 Presented by Taewan You 2008. 11. 25

Upload: flashdomain

Post on 19-Dec-2014

284 views

Category:

Documents


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: ppt

Dynamic Software Reconfiguration in Sensor

Network

Sachin Kogekar, Sandeep Neema, Xenofon Koutsoukos

Published by ICW 2005

Presented by Taewan You

2008. 11. 25

Page 2: ppt

Contents

• Introduction• An Tracking Application for sensor

network• Reconfiguration architecture• Modeling reconfigurable applications• Implementation and Results• Conclusion

2

Page 3: ppt

Introduction

• Wireless sensor network– Number of nodes spread across a geographical

area, deployed in an ad hoc manner– Wireless communication, occasionally actuators,

and computation capabilities

• Reconfiguration and self-adaption– Virtual capabilities of sensor network that are

required to operate in dynamic environments

• Dynamically adaptive software– Detect system changes, reflect on the event

occurrences, and adapt to the new operating conditions

3

Page 4: ppt

Sensor Node Technology• Widely used Platforms

– Berkeley MICA mote• Very small factor: 58mm * 32mm * 7mm• Constraint resources: 4MHz microcontroller, 4KB of RAM, 128KB of flash memory• Runs TinyOS operating system

– Event driven and modular OS desinged

• TinyOS application– Compiled graph of components– Components have memory frames to store their

state, and communicate with other• A typical MICA system

– Consist of tens to hundreds of motes forming and adhoc multi-hop network and a base station that is typically a PC class computer

4

Page 5: ppt

Modeling sensor network• Composition and Synthesis

– Gratis: Visual Composition and Synthesis Environment for TinyOS

– Built using the Generic Modeling Environment (GME)• Meta programmable toolkit using UML

and OCL– Automatic generation of all

configuration files from graphical models

• Model Integrated Computing (MIC)– Domain-specific models to represent

S/W– Model-Integrated Program Synthesis

(MIPS) used for the modeling– UML, Object Constraint Language (OCL)

are used in the Multigraph Architecture (MGA)

5

Page 6: ppt

Dynamic Reconfiguration• Software domain

– Commonly used to refer to software mechanisms that logically attach and detach system resources from an operating environment without incurring downtime

• Wireless Sensor Network– Ability of deployed nodes to organize and

reorganize themselves when some nodes are lost• Retrieve information from the environment• Transmit this information to a base station

• Embedded world– Ability of a programmable System-On-Chip (SOC) to

change its functionalities at run-time, performing seemingly different functions at different instances in time

6

Page 7: ppt

Contributions

• Dynamic software reconfiguration– Constraint based approach for determining

network configuration during runtime– Prototyped a software architecture– Key components

• A domain-specific modeling environment– Sensor Network Reconfiguration Architecture

Modeling Language (SNRAMoLa)• A constraint-based design-space exploration tool

– DESERT• A suite of runtime components and services

– Allow monitoring the operating conditions and enacting the reconfiguration instructions

7

Page 8: ppt

Case Study

• Sensor network Testbed– Eight Red Hat Linux OpenBrick-E wireless devices

• Each node is equipped with a Logitech QuickCam Pro 4000 webcam.

– Windows XP base station• The base-station is connected to one sensor node through a

wired 802.3 LAN

– The distributed aislemonitor application• Designed to perform one-dimensional tracking of people walking in an

aisle

8

Page 9: ppt

Reconfiguration Architecture (1/2)

• Building Self-adaptive sensor networks– Utilizes explicit models of the design space

of the embedded application • Captured by formally modeling all the software

components and their interactions based on the Asynchronous Data Flow model of computation

– System requirements are expressed as formal constraints• Operational parameters such as power

consumption, latency, accuracy, and other QoS properties etcs.

• These constraints are expressed in the Object Constraint Language (OCL)

9

Page 10: ppt

Reconfiguration Architecture (2/2)

• The exploration of the operation– Parameterized constraints captured in the

embedded models– Online constraint solving using a

combination of symbolic constraint satisfaction and linear programming

• Two major tasks for Reconfiguration– Finding the new configuration– Switching or reconfiguring the components

that are actually executing on the individual sensors

10

Page 11: ppt

Reconfiguration Process (1/2)

• During design time– The entire application is modeled in the Generic Modeling

Environment (GME) – 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

– The constraints are resolved over these attributes by the DEsign Space ExploRation Tool (DESERT) and valid configurations of the application are generated

• During run-time – Detecting failure, the Global Constraint Monitor (GCM)

(located on the base station) updates the values of the critical QoS attributes in the application models.

– A change in the values of the attributes invokes the reconfiguration process.

11

Page 12: ppt

Reconfiguration Process (2/2)

• During reconfiguration – Finding a new configuration is performed by a controller

program executing on the base station – The SNRAMoLa models of the application form the design

space for selecting the valid configurations of the application

– The design space exploration tool, DESERT evaluates the constraints and selects an appropriate configuration by pruning the design space

– The output of DESERT is used in the generation of a set of configuration files, one for sensor

– Sending the new configuration files to the individual– 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

– The Monitor components monitor the health of the network – These communicate with the GCM component executing on

the base station in case of failure in the network

12

Page 13: ppt

Software infrastructure for Reconfiguration

• SNRAMoLa to DESERT Interpreter– Converts the SNRAMoLa application model to a format compatible with

DESERT– The converted data is fed to DESERT as an XML file

• DESERT to Configurator Interpreter– DESERT applies the constraints and generates another XML file, which

enumerates the design configuration in the pruned space– Generates a configuration file, which is then physically transported to the

nodes over the wireless network• Configurator

– Maintaining two link-list data structure and a memory ID counter to implement the reconfigurable infrastructure

– During initialization, Configurator opens a socket to listen for incoming signals from the base station.

– 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.

• Monitor– Execute on each node and monitor QoS parameters of itself and its

immediate neighbors.

13

Page 14: ppt

Reconfiguration Architecture Design

14

Page 15: ppt

Modeling reconfigurable application

• SNRAMoLa (Sensor Network Reconfigurable Application Modeling Language)– A graphical Modeling language – To model the design space of the sensor network application in

Generic Modeling Environment (GME)– Defined with UML class diagrams– This modeling paradigm is based on the Asynchronous Data

Flow (ASDF) model of computation– Components based software systems

• SNRAMoLa paradigm – Enables the user to model complex component based sensor

network applications in a more intuitive manner. – Enables the user to model components that can be replaced by

others during runtime– The user can visualize the applications executing on individual

sensor nodes

15

Page 16: ppt

Core concepts for Modeling (1/2)

• Component object– Separate process in the application– Contain InPort(s) and OutPort(s)– Either Reconfigurable or Non-reconfigurable

• Can be replaced or be irreplaceable in the application graph• ComponentsFolder declares non-reconfigurable components• Choice declares reconfigurable components

– ‘Path’ attribute• Identifies the physical path of the executable

• InPort object– Declared in Component or Choice object– Accept data from another Component object

• OutPort object– Declared in Component or Choice object– Send data to another Component object

16

Page 17: ppt

Core concepts for Modeling (2/2)

• DataFlow object– A connection object that links an output port of a Component object

with an input port of another Component object– The Asynchronous flow of data from one application component to

another.

• Choice object– To model reconfigurable or mutually replaceable Component objects

in the application graph

• Condition object– Each Choice object contains at least one Condition object that

specifies a constraint expressed in OCL – During the reconfiguration process, this constraint is evaluated by

DESERT over the collection of reconfigurable Component objects also contained in the same Choice object

– Only those Component objects that satisfy the constraints are selected for inclusion in the final application graph.

17

Page 18: ppt

SNRAMoLa meta-model

18

Page 19: ppt

Design space exploration• DESERT

– Design space exploration tool developed by using MIC

– An intuitive user interface lets the user perform the exploration interactively

– The end result of the exploration is a pruned design space

• Evaluation design space– Design space can be summarized as

hierarchically layered parameterized – Design configuration

• Km = (Km-1 + 1) * n, K1 = n, (a*n)m leaf element

– Example• n = 4, a = 3, m = 3• Total of 1728 leaf elements can represent 384

design configuration in the space

19

DESERT Meta-Model

Page 20: ppt

Testbed - Monitoring system design

• SNRAMoLa modeling– The Receiver and the

ImageSensor components continue to execute

– Only the Estimator1 and DataCollector1 components are stopped and their alternatives are started

• Explorating Constraints runtime– Pavailable – cuurently available

total power of the nodes– Adesired – current accuracy

requirements

20

Page 21: ppt

Scenario• Test Case Design

– The tests that involved more than one person walking in the aisle were designed such that at any given time

– Disable OpenBrick device, sensing Gap occurs• Reconfiguration invoked

• Reconfiguration– Configuration 1

• 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.

– Configuration 2• The components of the neighboring OpenBrick devices

then take over the prediction of the people in this range by predicting their position.

21

Page 22: ppt

Results• Reconfiguration process overhead

– Total reconfiguration process took in 18 sec– Reconfiguration was achieved without affecting the entire

application

• Tracking results– The third OpenBrick device is executing the second configuration

22

Page 23: ppt

Conclusion

• Develop and demonstrate– Dynamic software reconfiguration in

sensor network• Application Modeling using by SNRAMoLa• Exploration of design space using by

DESERT runtime• Real sensor network application

– Aislemonitor application to tracking of people working

– Linux-based sensor nodes

23