New automated, application-independent methodology for designing and deploying sensor networks <p> Following this book's clear explanations, examples, and illustrations, domain experts can design and deploy nontrivial networked sensing applications without much knowledge of the low-level netwo
Architecture-independent programming for wireless sensor networks
โ Scribed by Bakshi, Amol B.; Prasanna Kumar, V. K
- Publisher
- J. Wiley-Interscience
- Year
- 2008
- Tongue
- English
- Leaves
- 210
- Series
- Wiley series on parallel and distributed computing
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
New automated, application-independent methodology for designing and deploying sensor networks. Following this book's clear explanations, examples, and illustrations, domain experts can design and deploy nontrivial networked sensing applications without much knowledge of the low-level networking aspects of deployment. This new approach is based on the Abstract Task Graph (ATaG), a data-driven programming model and an innovative methodology forarchitecture-independent programming and automatic software synthesis for sensor networks. ATaG programs are concise, understandable, and network-indepen.;Architecture-Independent Programming for Wireless Sensor Networks; CONTENTS; Preface; Acknowledgments; 1 Introduction; 2 The Abstract Task Graph; 3 DART: The Data-Driven ATaG Runtime; 4 Programming and Software Synthesis; 5 Case Study: Application Development with ATaG; 6 Concluding Remarks; References; Index.
โฆ Table of Contents
Architecture-Independent Programming for Wireless Sensor Networks......Page 7
CONTENTS......Page 11
Preface......Page 17
Acknowledgments......Page 21
1 Introduction......Page 23
1.1 Sensor networks and traditional distributed systems......Page 24
1.2 Programming of distributed sensor networks......Page 29
1.2.1 Layers of programming abstraction......Page 29
1.2.1.1 Service-oriented specification......Page 29
1.2.1.2 Macroprogramming......Page 30
1.2.1.3 Node-centric programming......Page 32
1.2.2 Lessons from parallel and distributed computing......Page 34
1.3 Macroprogramming: What and why?......Page 36
1.4 Contributions and outline......Page 38
2 The Abstract Task Graph......Page 43
2.1 Target applications and architectures......Page 43
2.2 Key concepts......Page 45
2.2.1 Data-driven computing......Page 45
2.2.1.1 Program flow mechanisms......Page 45
2.2.1.2 Why data-driven?......Page 48
2.2.2 Mixed imperative-declarative specification......Page 50
2.3 Syntax......Page 51
2.3.1 The Structure of an ATaG program......Page 51
2.3.2 More on task annotations......Page 56
2.3.3 Illustrative examples......Page 61
2.4 Semantics......Page 67
2.4.1 Terminology......Page 67
2.4.2 Firing rules......Page 68
2.4.3 Task graph execution......Page 70
2.4.4 get () and put ()......Page 70
2.5 Programming idioms......Page 71
2.5.1 Object tracking......Page 73
2.5.2 Interaction within local neighborhoods......Page 74
2.5.3 In-network aggregation......Page 74
2.5.4 Hierarchical data fusion......Page 77
2.5.5 Event-triggered behavior instantiation......Page 78
2.6 Future work......Page 81
2.6.1 State-based dynamic behaviors......Page 81
2.6.2 Resource management in the runtime system......Page 83
2.6.3 Utility-based negotiation for task scheduling and resource allocation......Page 85
3 DART: The Data-Driven ATaG Runtime......Page 87
3.1 Design objectives......Page 87
3.1.1 Support for ATaG semantics......Page 87
3.1.2 Platform independence......Page 88
3.1.3 Component-based design......Page 89
3.1.4 Ease of software synthesis......Page 90
3.2 Overview......Page 91
3.3 Components and functionalities......Page 94
3.3.1 Task, data, and channel declarations......Page 94
3.3.2 UserTask......Page 97
3.3.2.1 Service......Page 97
3.3.2.2 Interactions......Page 97
3.3.2.3 Implementation......Page 99
3.3.3 DataPool......Page 101
3.3.3.1 Service......Page 101
3.3.3.2 Interactions......Page 101
3.3.3.3 Implementation......Page 101
3.3.4 AtagManager......Page 104
3.3.4.1 Service......Page 104
3.3.4.2 Interactions......Page 104
3.3.4.3 Implementation......Page 105
3.3.5 NetworkStack......Page 109
3.3.5.1 Service......Page 109
3.3.5.2 Interactions......Page 109
3.3.5.3 Implementation......Page 109
3.3.6 NetworkArchitecture......Page 110
3.3.6.1 Service......Page 110
3.3.6.2 Interactions......Page 110
3.3.6.3 Implementation......Page 111
3.3.7 Dispatcher......Page 112
3.3.7.1 Service......Page 112
3.3.7.2 Interactions......Page 113
3.3.7.3 Implementation......Page 113
3.4 Control flow......Page 115
3.4.1 Startup......Page 116
3.4.2 get () and put ()......Page 119
3.4.3 Illustrative example......Page 122
3.5 Future work......Page 123
3.5.1 Lazy compilation of channel annotations......Page 123
3.5.2 Automatic priority assignment for task scheduling......Page 124
4 Programming and Software Synthesis......Page 127
4.1 Terminology......Page 128
4.2 Meta-modeling for the ATaG domain......Page 128
4.2.1 Objectives......Page 128
4.2.2 Application model......Page 130
4.2.3 Network model......Page 132
4.3 The programming interface......Page 134
4.4 Compilation and software synthesis......Page 137
4.4.1 Translating task annotations......Page 139
4.4.2 Automatic software synthesis......Page 139
4.4.3 The ATaG simulator......Page 143
4.4.4 Initialization......Page 144
4.4.4.1 Situatedness......Page 145
4.4.4.2 Network interface......Page 146
4.4.4.3 Network architecture......Page 146
4.4.4.4 Sensor interface......Page 146
4.4.5 Visualizing synthesized application behavior......Page 150
5 Case Study: Application Development with ATaG......Page 157
5.1 Overview of the use case......Page 158
5.2 Designing the macroprograms......Page 158
5.2.1 Temperature gradient monitoring......Page 158
5.2.2 Object detection and tracking......Page 161
5.3 Specifying the declarative portion......Page 164
5.4 Imperative portion: Temperature gradient monitoring......Page 165
5.4.1 Abstract data items: Temperature and fire......Page 165
5.4.2 Abstract task: Monitor......Page 166
5.4.3 Abstract task: Temperature sampler......Page 173
5.4.4 Abstract task: Alarm actuator......Page 175
5.5 Imperative portion: Object detection and tracking......Page 177
5.5.1 Abstract data items: TargetAlert and TargetInfo......Page 177
5.5.2 Abstract Task: SampleAndThreshold......Page 179
5.5.3 Abstract Task: Leader......Page 179
5.5.4 Abstract Task: Supervisor......Page 187
5.6 Application Composition......Page 187
5.7 Software Synthesis......Page 193
6 Concluding Remarks......Page 197
6.1 A framework for domain-specific application development......Page 198
6.2 A framework for compilation and software synthesis......Page 199
References......Page 201
Index......Page 207
โฆ Subjects
Sensor networks--Programming;TECHNOLOGY & ENGINEERING--Sensors;Wireless LANs--Programming;Electronic books;Sensor networks -- Programming;Wireless LANs -- Programming;TECHNOLOGY & ENGINEERING -- Sensors
๐ SIMILAR VOLUMES
New automated, application-independent methodology for designing and deploying sensor networksFollowing this book's clear explanations, examples, and illustrations, domain experts can design and deploy nontrivial networked sensing applications without much knowledge of the low-level networking aspec
Learn all you need to know about wireless sensor networks!Protocols and Architectures for Wireless Sensor Networks provides a thorough description of the nuts and bolts of wireless sensor networks.The authors give an overview of the state-of-the-art, putting all the individual solutions into perspec
Karl (University of Paderborn, Germany) and Willig (Hasso-Plattner- Institute, University of Potsdam, Germany) examine issues related to wireless sensor networks. They cover architectures and communications protocols in detail, illustrating solutions with practical examples and case studies, and exp
Callaway writes for a hardware engineer, rather than a software person. He gives a history of various existing wireless networks, where these were not necessarily deployed with an aim for use with sensors. So we see the Aloha network that spans the Hawaiian islands. And how the dispersed nature of t