Presentation is loading. Please wait.

Presentation is loading. Please wait.

WISEBED - Wireless Sensor Network Testbeds Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks* Tobias Baumgartner 1, Ioannis Chatzigiannakis.

Similar presentations


Presentation on theme: "WISEBED - Wireless Sensor Network Testbeds Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks* Tobias Baumgartner 1, Ioannis Chatzigiannakis."— Presentation transcript:

1 WISEBED - Wireless Sensor Network Testbeds Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks* Tobias Baumgartner 1, Ioannis Chatzigiannakis 2, Sándor Fekete 1, Christos Koninis 2, Alexander Kröller 1, Apostolos Pyrgelis 2 1 Braunschweig Institute of Technology, IBR, Algorithms Group, Germany 2 Research Academic Computer Technology Institute, Patras, Greece * Supported by the EU-project WISEBED – http://wisebed.eu

2 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis 2 Motivation Architecture Experimental Results Wiselib Usage Outlook

3 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis What is the Wiselib? Code library of Algorithms Heterogeneous Highly Efficient 3

4 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Hardware JennicIntel XScaleMSP430 Heterogeneity 4 iSenseiMote2ScatterWeb MSBTmote Sky Operating Systems iSenseTinyOSScatterWeb, ContikiContiki, TinyOS Programming Language C++nesCCC, nesC

5 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis 5 Motivation Architecture Experimental Results Wiselib Usage Outlook

6 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis The Wiselib 6 Similar to STL, Boost, CGAL Object-Oriented Programming C++ Generic Programming Flexible Design Templates Well-known constructs No custom language extensions Standard Language Features

7 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis A concept only exists in documentation. It describes exactly how an implementation must look like. Example class iSenseRadioModel { static void enable() {... }; } class ShawnRadioModel { static void enable() {... }; } template class Algorithm { void enable() { Radio::enable(); } }; Algorithm algorithm_isense; Algorithm algorithm_shawn; 7 concept Radio { static void enable(); } A model is an implementation of a concept. It offers at least each method and each type that is described in the concept. Another implementation awaits a model as template parameter, but knows only the concept. Such a model is then passed as a template argument to an algorithm

8 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis External Architecture 8 ConceptImplementations (Models) Os FacetContiki, iSense, OSA, ScatterWeb, Shawn, TinyOS RadioContiki, iSense, OSA, ScatterWeb, Shawn, TinyOS TxRadioiSense, Shawn LinkMetricRadioiSense, Shawn TimerContiki, iSense, OSA, ScatterWeb, Shawn, TinyOS DebugContiki, iSense, OSA, ScatterWeb, Shawn, TinyOS Com/UARTContiki, iSense ClockiSense, Shawn Timer. Event registration. OS Description. Data types and standard configuration. Radios. Send and receive messages. Specializations of standard radio. Debug. Print out debug/logging messages. Serial Interface. Write to serial port. E.g. for exchanging data with PC. Clock. Provide current time.

9 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Algorithms 9 ConceptImplementations (Models) RoutingDSDV, DSR, Tree, Flooding, AODV, Tora, SecureRouting CryptoAES, ECC, ECIES, Sha1 ClusteringBFS, DFS, ExtendedBfs, Hdl, SecureBfs, SecureHdl Network MetricsOneHopMetrics, IndividualLink LocalizationTriangulation Routing. Send messages via multi-hop to given destination. So far, a few standard algorithms implemented Crypto. Platform independent crypto algorithms. Come with pMP – the picoMultiPrecision library, especially designed for embedded system demands. Clustering. Build groups of nodes, each with own cluster-head. Here, it is also possible to combine such an algorithm with crypto. Network Metrics. Collect metrics for (parts of) the network. Currently, link stability in one-hop neighborhood and individual links can be evaluated. Localization. Provide position for nodes. Can also be abstract positions (not only euclidean coordinates), such as a triangulation of the network.

10 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis 10 Motivation Architecture Experimental Results Wiselib Usage Outlook

11 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Performance iSenseContiki (on MSB)ScatterWeb (on MSB) NativeWiselibCostNativeWiselibCostNativeWiselibCost Read ID 2μs2μs2μs2μs0%<1μs 0%<1μs 0% Send Msg 282μs 0%336μs345μs3%898μs921μs3% Set Timer 135μs141μs4%77μs100μs30%20μs43μs115% 11 Read node id. Radio::node_id_t id = Radio::id(os); Send message over radio. Radio::node_id_t destination; Radio::send(os, destination, len, data); Register timer event. Timer::set_timer (os, wait_time, this, userdata);

12 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Codesize: External Architecture 32-Bit16-Bit (on MSP430) iSenseContikiScatterWeb Radio 856 + 240428 + 72316 + 40 Timer 868 + 240352 + 210270 + 80 12 Code size as ROM (.txt) + RAM (.bss and.data) Translation between OS specific registration mechanisms and C++ member function pointers in Wiselib Constant overhead per node, node per algorithm

13 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Codesize: Algorithms 16-Bit (on MSP430)32-BitSimulators AlgorithmContikiScatterWebiSenseShawnTOSSIM DSDV 1446+ 721466+ 724776+1364351+419146+4 DSR 1964+3381716+2385396+3566918+420845+4 Tree 920+ 16 724+ 144060+ 242974+4 9946+4 Flooding 1122+ 50 762+ 342864+ 682260+410192+4 13 Code size as ROM (.txt) + RAM (.bss and.data)

14 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis 14 Motivation Architecture Experimental Results Wiselib Usage Outlook

15 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Usage Scenarios Direct Integration in own Application  Write application for own platform (e.g., collecting sensor data)  Use, for example, routing algorithm from Wiselib  Examples: iSense Integration -https://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/iappshttps://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/iapps  Examples: Shawn Integration -https://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/shawn_appshttps://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/shawn_apps Stand-Alone-Applications  Applications with own application_main()  Can be compiled for each platform, run directly  Examples -https://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/applicationshttps://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/applications 15

16 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Distributions “Testing”  Implemented against Wiselib API  Algorithms may only be tested on some target platforms  New concepts that may change  Release Early, Release Often  https://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/wiselib.testing https://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/wiselib.testing “Stable”  Matured concepts and implementations  Tested on all supported platforms  Concepts may not change anymore  https://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/wiselib.stable https://svn.itm.uni-luebeck.de/wisebed/wiselib/trunk/wiselib.stable 16

17 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis 17 Motivation Architecture Experimental Results Wiselib Usage Outlook

18 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Outlook External Architecture  Different radio specializations for Contiki, TinyOS, …  More interfaces  Maintenance of existing ones Algorithms  Add more algorithms: Routing, Localization, …  Add more algorithm categories -Time Synchronization -Target Tracking -… 18

19 Wiselib – A Generic Algorithm Library – http://www.wiselib.orghttp://www.wiselib.org Baumgartner, Chatzigiannikis, Fekete, Koninis, Kröller, Pyrgelis Thank you! 19 http://www.wiselib.org


Download ppt "WISEBED - Wireless Sensor Network Testbeds Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks* Tobias Baumgartner 1, Ioannis Chatzigiannakis."

Similar presentations


Ads by Google