1 / 19

Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks*

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

bree
Download Presentation

Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks*

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. Motivation Architecture Experimental Results Wiselib Usage Outlook

  3. What is the Wiselib? • Code library of Algorithms • Heterogeneous • Highly Efficient

  4. Heterogeneity

  5. Motivation Architecture Experimental Results Wiselib Usage Outlook

  6. The Wiselib Templates Standard Language Features C++ • Generic Programming • Flexible Design • Well-known constructs • No custom language extensions • Similar to STL, Boost, CGAL • Object-Oriented Programming

  7. Example classiSenseRadioModel { static void enable() { ... }; } classShawnRadioModel { static void enable() { ... }; } template<typenameRadio> classAlgorithm { void enable() { Radio::enable(); } }; Algorithm<iSenseRadioModel> algorithm_isense; Algorithm<ShawnRadioModel> algorithm_shawn; concept Radio { static void enable(); } A concept only exists in documentation. It describes exactly how an implementation must look like. 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. External Architecture 8 OS Description. Data types and standard configuration. Radios. Send and receive messages. Specializations of standard radio. Timer. Event registration. Debug. Print out debug/logging messages. Serial Interface. Write to serial port. E.g. for exchanging data with PC. Clock. Provide current time.

  9. Algorithms 9 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. 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.

  10. Motivation Architecture Experimental Results Wiselib Usage Outlook

  11. Performance Read node id. Radio::node_id_tid = Radio::id(os); Send message over radio. Radio::node_id_tdestination; Radio::send(os, destination, len, data); Register timer event. Timer::set_timer <self_type, &self_type::function_name> (os, wait_time, this, userdata);

  12. Codesize: External Architecture • Code size as ROM (.txt) + RAM (.bssand.data) • Translation between OS specific registration mechanisms and C++ member function pointers in Wiselib • Constant overhead per node, node per algorithm

  13. Codesize: Algorithms • Code size as ROM (.txt) + RAM (.bssand.data)

  14. Motivation Architecture Experimental Results Wiselib Usage Outlook

  15. 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/iapps • Examples: Shawn Integration • https://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/applications

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

  17. Motivation Architecture Experimental Results Wiselib Usage Outlook

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

  19. Thank you! 19 http://www.wiselib.org

More Related