La lecture à portée de main
Découvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDécouvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDescription
Informations
Publié par | technische_universitat_berlin |
Publié le | 01 janvier 2011 |
Nombre de lectures | 33 |
Poids de l'ouvrage | 5 Mo |
Extrait
Double-Anchored
SoftwareArchitecturefor
WirelessSensorNetworksDouble-Anchored
SoftwareArchitecturefor
WirelessSensorNetworks
vorgelegtvon
VladoHandziski
(M.Sc. inElectricalEngineering)
vonderFakultätIV
ElektrotechnikundInformatik
der TechnischenUniversitätBerlin
zur ErlangungdesakademischenGrades
Doktor derIngenieurwissenschaften
-Dr.Ing. -
genehmigteDissertation
Promotionsausschuss
Vorsitzender: Prof. Dr. AxelKüpper
Gutachter: Prof. Dr.-Ing. AdamWolisz: Prof. Dr. rer. nat. Dr. h. c. KurtRothermel
Tag der wissenschaftlichenAussprache: 07.03.2011
Berlin2011
D83©2010Vlado Handziski
This work is licensed under the Creative Commons Attribution-No Derivative Works 3.0 Unported
License. To view acopy of thislicense,visit http://creativecommons.org/licenses/by-nd/3.0/
Summary ofthe license:
You arefreeto:
Share: Tocopy, distributeand transmit thework.
Under the followingconditions:
Attribution: You must attribute the work in the manner specified by the author or licensor (but not in
any way thatsuggests thattheyendorse you oryour use ofthe work).
No Derivative Works: Youmaynot alter,transform, orbuild upon thiswork.
• Foranyreuseordistribution,youmustmakecleartoothersthelicensetermsofthiswork.
The bestway todothis is with a link to thiswebpage.
• Any of the above conditions can be waived if you get permission from the copyright
holder.
• Nothing in thislicense impairsor restricts theauthor’s moral rights.
Your fairuse andotherrights areinnowayaffectedby the above.ToAni,ElenaandJan
withallmylove!Contents
Contents vii
ListofFigures x
ListofTables xiii
1 Introduction 1
1.1 Wireless Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Software Design Challenges . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Double-anchored Software Architecture . . . . . . . . . . . . . . . . . 4
1.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Background 9
2.1 Hardware Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Generic Architecture . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2 Typical Representatives . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Hardware Design Trends . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1 Level of Reuse and Integration . . . . . . . . . . . . . . . . . . 25
2.2.2 Feature Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.3 Software Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3 Portability Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.1 General-purpose andEmbeddedOperatingSystems . . . . . 35
2.3.2 WSN Operating Systems . . . . . . . . . . . . . . . . . . . . . . 36
2.4 Programming Models . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.1 Overlay Networks . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.2 Active Networks andMobileAgents . . . . . . . . . . . . . . . 41
2.4.3 Virtual Machines . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.4 Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.5 Publish/Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . 44
3 Double-anchored Software Architecture 49
viiContents
3.1 Cost of AbstractionsandDecoupling . . . . . . . . . . . . . . . . . . . 49
3.2 Component-based Development . . . . . . . . . . . . . . . . . . . . . 50
3.3 Double-anchored SoftwareArchitecture . . . . . . . . . . . . . . . . . 53
3.3.1 Portability Anchor . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.2 InteroperabilityAnchor . . . . . . . . . . . . . . . . . . . . . . 56
3.3.3 Configur . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 Portability Anchor 59
4.1 Design Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2 Vertical Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.1 Hardware PresentationLayer . . . . . . . . . . . . . . . . . . . 62
4.2.2 Hardware AbstractionLayer . . . . . . . . . . . . . . . . . . . 63
4.2.3 Hardware InterfaceLayer . . . . . . . . . . . . . . . . . . . . . 64
4.3 Horizontal Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3.1 Chips and Platforms . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3.2 Interconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4 Concurrency and PowerManagement . . . . . . . . . . . . . . . . . . 67
4.5 Implementation inTinyOS2.x . . . . . . . . . . . . . . . . . . . . . . . 69
4.5.1 General FeaturesofTinyOS2.x . . . . . . . . . . . . . . . . . . 70
4.5.2 Portability Anchor’sImplementation . . . . . . . . . . . . . . . 71
4.5.3 Vertical DecompositionExample . . . . . . . . . . . . . . . . . 74
4.5.4 Horizontal DecompositionExample . . . . . . . . . . . . . . . 78
4.6 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.6.1 Composing PortableApplications . . . . . . . . . . . . . . . . 80
4.6.2 Vertical DecompositionView . . . . . . . . . . . . . . . . . . . 86
4.6.3 Horizontal DecompositionView . . . . . . . . . . . . . . . . . 93
4.6.4 Controlling AbstractionCosts . . . . . . . . . . . . . . . . . . . 97
4.6.5 Portability/FidelityTrade-offs . . . . . . . . . . . . . . . . . . 100
5 Interoperability Anchor 103
5.1 Design Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2 Naming Scheme andService API . . . . . . . . . . . . . . . . . . . . . 104
5.2.1 Attribute-basedNaming . . . . . . . . . . . . . . . . . . . . . . 104
5.2.2 DASANamingandService API . . . . . . . . . . . . . . . . . . 105
5.3 Functional Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.4 Communication Decoupling . . . . . . . . . . . . . . . . . . . . . . . . 108
5.4.1 Integrated CBPSRouting . . . . . . . . . . . . . . . . . . . . . . 108
5.4.2 DASARouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.5 TinyCOPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.5.1 PublishersandSubscribers . . . . . . . . . . . . . . . . . . . . 114
5.5.2 Broker and AttributeCollection . . . . . . . . . . . . . . . . . . 115
5.5.3 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
viiiContents
5.5.4 Protocol Components . . . . . . . . . . . . . . . . . . . . . . . 118
5.5.5 Application Composition . . . . . . . . . . . . . . . . . . . . . 119
5.6 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.6.1 Resource Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.6.2 Distributed Testing with TWIST . . . . . . . . . . . . . . . . . . 122
5.7 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6 Distributed Testing Infrastructure 129
6.1 Design Validation and Testing . . . . . . . . . . . . . . . . . . . . . . . 129
6.2 TWISTTestbed Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.2.1 Sensor Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.2.2 Testbed Sockets and USB Cabling . . . . . . . . . . . . . . . . . 132
6.2.3 USB Hubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.2.4 Super Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.5 Testbed Server and ControlStation . . . . . . . . . . . . . . . . 135
6.2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.3 CONET Testbed Federation Platform . . . . . . . . . . . . . . . . . . . . 136
6.3.1 Design Principles . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.3.2 Functional Decomposition . . . . . . . . . . . . . . . . . . . . . 138
6.3.3 RESTful Implementation . . . . . . . . . . . . . . . . . . . . . . 140
6.3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
6.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.4.1 TWISTinstance at TKN . . . . . . . . . . . . . . . . . . . . . . . . 148
6.4.2 Power-supply Control . . . . . . . . . . . . . . . . . . . . . . . 151
6.4.3 Testbed Performance . . . . . . . . . . . . . . . . . . . . . . . . 152
6.5 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
6.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
7 Conclusions 159
7.1 Double-anchored Software Architecture . . . . . . . . . . . . . . . . . 159
7.2 Portability Anchor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
7.3 Interoperability Anchor . . . . . . . . . . . . . . . . . . . . . . . . . . 161
7.4 Distributed Testing Infrastructure . . . . . . . . . . . . . . . . . . . . . 161
A Hardware Platforms Survey 163
A.1 Surveyed Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
A.2 Processing Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
A.3 Transceivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Publications 171
Bibliography 173
ixListofFigures
2.1 Generic hardware architectureofa WSN node . . . . . . . . . . . . . . . . 10
2.2 Architecture of the TexasInst