Double-Anchored Software Architecture for Wireless Sensor Networks Double-Anchored Software Architecture for Wireless Sensor Networks vorgelegtvon Vlado Handziski (M.Sc. inElectricalEngineering) vonderFakultätIV ElektrotechnikundInformatik derTechnischenUniversitätBerlin zurErlangungdesakademischenGrades DoktorderIngenieurwissenschaften -Dr.Ing. - genehmigteDissertation Promotionsausschuss Vorsitzender: Prof. Dr. AxelKüpper Gutachter: Prof. Dr.-Ing. AdamWolisz Gutachter: Prof. Dr. rer. nat. Dr. h. c. KurtRothermel TagderwissenschaftlichenAussprache: 07.03.2011 Berlin2011 D83 ©2010VladoHandziski ThisworkislicensedundertheCreativeCommonsAttribution-NoDerivativeWorks3.0Unported License.Toviewacopyofthislicense,visithttp://creativecommons.org/licenses/by-nd/3.0/ Summaryofthelicense: Youarefreeto: Share: Tocopy,distributeandtransmitthework. Underthefollowingconditions: Attribution: Youmustattributetheworkinthemannerspecifiedbytheauthororlicensor(butnotin anywaythatsuggeststhattheyendorseyouoryouruseofthework). NoDerivativeWorks: Youmaynotalter,transform,orbuilduponthiswork. • Foranyreuseordistribution,youmustmakecleartoothersthelicensetermsofthiswork. Thebestwaytodothisiswithalinktothiswebpage. • Anyoftheaboveconditionscanbewaivedifyougetpermissionfromthecopyright holder. • Nothinginthislicenseimpairsorrestrictstheauthor’smoralrights. Yourfairuseandotherrightsareinnowayaffectedbytheabove. ToAni,ElenaandJan withallmylove! Contents Contents vii ListofFigures x ListofTables xiii 1 Introduction 1 1.1 WirelessSensorNetworks . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 SoftwareDesignChallenges . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Double-anchoredSoftwareArchitecture . . . . . . . . . . . . . . . . . 4 1.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Background 9 2.1 HardwarePlatforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 GenericArchitecture . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 TypicalRepresentatives . . . . . . . . . . . . . . . . . . . . . . 18 2.2 HardwareDesignTrends . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.1 LevelofReuseandIntegration . . . . . . . . . . . . . . . . . . 25 2.2.2 FeatureTrends . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2.3 SoftwareImpact. . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3 PortabilityArchitectures . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3.1 General-purposeandEmbeddedOperatingSystems . . . . . 35 2.3.2 WSNOperatingSystems . . . . . . . . . . . . . . . . . . . . . . 36 2.4 ProgrammingModels . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.1 OverlayNetworks . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.2 ActiveNetworksandMobileAgents . . . . . . . . . . . . . . . 41 2.4.3 VirtualMachines . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.4.4 Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.4.5 Publish/Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . 44 3 Double-anchoredSoftwareArchitecture 49 vii Contents 3.1 CostofAbstractionsandDecoupling . . . . . . . . . . . . . . . . . . . 49 3.2 Component-basedDevelopment . . . . . . . . . . . . . . . . . . . . . 50 3.3 Double-anchoredSoftwareArchitecture . . . . . . . . . . . . . . . . . 53 3.3.1 PortabilityAnchor . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.3.2 InteroperabilityAnchor . . . . . . . . . . . . . . . . . . . . . . 56 3.3.3 Configurability . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.4 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4 PortabilityAnchor 59 4.1 DesignGoals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2 VerticalDecomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.2.1 HardwarePresentationLayer . . . . . . . . . . . . . . . . . . . 62 4.2.2 HardwareAbstractionLayer . . . . . . . . . . . . . . . . . . . 63 4.2.3 HardwareInterfaceLayer . . . . . . . . . . . . . . . . . . . . . 64 4.3 HorizontalDecomposition . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.3.1 ChipsandPlatforms . . . . . . . . . . . . . . . . . . . . . . . . 65 4.3.2 Interconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.4 ConcurrencyandPowerManagement . . . . . . . . . . . . . . . . . . 67 4.5 ImplementationinTinyOS2.x . . . . . . . . . . . . . . . . . . . . . . . 69 4.5.1 GeneralFeaturesofTinyOS2.x . . . . . . . . . . . . . . . . . . 70 4.5.2 PortabilityAnchor’sImplementation . . . . . . . . . . . . . . . 71 4.5.3 VerticalDecompositionExample . . . . . . . . . . . . . . . . . 74 4.5.4 HorizontalDecompositionExample . . . . . . . . . . . . . . . 78 4.6 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.6.1 ComposingPortableApplications . . . . . . . . . . . . . . . . 80 4.6.2 VerticalDecompositionView . . . . . . . . . . . . . . . . . . . 86 4.6.3 HorizontalDecompositionView . . . . . . . . . . . . . . . . . 93 4.6.4 ControllingAbstractionCosts . . . . . . . . . . . . . . . . . . . 97 4.6.5 Portability/FidelityTrade-offs . . . . . . . . . . . . . . . . . . 100 5 InteroperabilityAnchor 103 5.1 DesignGoals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.2 NamingSchemeandServiceAPI . . . . . . . . . . . . . . . . . . . . . 104 5.2.1 Attribute-basedNaming . . . . . . . . . . . . . . . . . . . . . . 104 5.2.2 DASANamingandServiceAPI . . . . . . . . . . . . . . . . . . 105 5.3 FunctionalDecomposition . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.4 CommunicationDecoupling . . . . . . . . . . . . . . . . . . . . . . . . 108 5.4.1 IntegratedCBPSRouting . . . . . . . . . . . . . . . . . . . . . . 108 5.4.2 DASARouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.5 TinyCOPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.5.1 PublishersandSubscribers . . . . . . . . . . . . . . . . . . . . 114 5.5.2 BrokerandAttributeCollection . . . . . . . . . . . . . . . . . . 115 5.5.3 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 viii Contents 5.5.4 ProtocolComponents . . . . . . . . . . . . . . . . . . . . . . . 118 5.5.5 ApplicationComposition . . . . . . . . . . . . . . . . . . . . . 119 5.6 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.6.1 ResourceUsage . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.6.2 DistributedTestingwithTWIST . . . . . . . . . . . . . . . . . . 122 5.7 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6 DistributedTestingInfrastructure 129 6.1 DesignValidationandTesting . . . . . . . . . . . . . . . . . . . . . . . 129 6.2 TWISTTestbedPlatform . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.2.1 SensorNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.2.2 TestbedSocketsandUSBCabling . . . . . . . . . . . . . . . . . 132 6.2.3 USBHubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.2.4 SuperNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 6.2.5 TestbedServerandControlStation . . . . . . . . . . . . . . . . 135 6.2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.3 CONETTestbedFederationPlatform . . . . . . . . . . . . . . . . . . . . 136 6.3.1 DesignPrinciples . . . . . . . . . . . . . . . . . . . . . . . . . . 137 6.3.2 FunctionalDecomposition . . . . . . . . . . . . . . . . . . . . . 138 6.3.3 RESTfulImplementation . . . . . . . . . . . . . . . . . . . . . . 140 6.3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.4.1 TWISTinstanceatTKN. . . . . . . . . . . . . . . . . . . . . . . . 148 6.4.2 Power-supplyControl . . . . . . . . . . . . . . . . . . . . . . . 151 6.4.3 TestbedPerformance . . . . . . . . . . . . . . . . . . . . . . . . 152 6.5 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 6.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 7 Conclusions 159 7.1 Double-anchoredSoftwareArchitecture . . . . . . . . . . . . . . . . . 159 7.2 PortabilityAnchor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 7.3 InteroperabilityAnchor . . . . . . . . . . . . . . . . . . . . . . . . . . 161 7.4 DistributedTestingInfrastructure . . . . . . . . . . . . . . . . . . . . . 161 A HardwarePlatformsSurvey 163 A.1 SurveyedPlatforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 A.2 ProcessingElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 A.3 Transceivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Publications 171 Bibliography 173 ix List of Figures 2.1 GenerichardwarearchitectureofaWSNnode . . . . . . . . . . . . . . . . 10 2.2 ArchitectureoftheTexasInstrumentsMSP430F161xMCUfamily. . . . . 12 2.3 TheSerialPeripheralInterface. . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 TopandbottomviewoftheeyesIFXv2.1board. . . . . . . . . . . . . . . . 23 2.5 Overviewofthereleaseyearandthelevelofintegrationoftheplatforms coveredbyourhardwaresurvey. . . . . . . . . . . . . . . . . . . . . . . . 26 2.6 LevelofreuseofCOTSchipsinthesurveyedplatformsample. Onlythe tenmostpopularprocessor/transceiverchipcombinationsareshown. . 27 2.7 Breakdownofplatformreleasesperyeardependingonthebit-widthof theCPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.8 TrendsinthemaximalclockrateoftheCPUs,groupedbythebit-widthof thearchitecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.9 Trends in the core voltage of the processing elements, grouped by the bit-widthofthearchitecture. . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.10 Trends in the available program memory of the processing elements, groupedbythebit-widthofthearchitecture. . . . . . . . . . . . . . . . . 30 2.11 Trendsintheavailabledatamemoryoftheprocessingelements,grouped bythebit-widthofthearchitecture.. . . . . . . . . . . . . . . . . . . . . . 31 2.12 Breakdownofplatformreleasesperyeardependingonthecommunica- tionstandardsupportedbythetransceiver. . . . . . . . . . . . . . . . . . 31 2.13 Trendsinthemaximalcarrierfrequencybandsupportedbythetransceiver. 32 2.14 Trendsinthemaximaldataratesupportedbythetransceiver. . . . . . . 33 2.15 Trendsinthemaximalcurrentconsumptionofthetransceiver. . . . . . . 34 2.16 Thepublish/subscribeinteractionpattern. . . . . . . . . . . . . . . . . . 44 3.1 Component-basedsoftwaremodel . . . . . . . . . . . . . . . . . . . . . . 51 3.2 EYESprotocolarchitecture. . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3 High-levelfunctionaldecompositionofDASA. . . . . . . . . . . . . . . . . 54 4.1 Verticaldecompositionoftheportabilityanchor . . . . . . . . . . . . . . 61 x
Description: