-
Notifications
You must be signed in to change notification settings - Fork 3
home
Baloo is a design framework for network stacks based on Synchronous Transmissions (i.e., using a flooding protocol like Glossy as underlying communication primitive). Baloo is flexible enough to implement a wide variety of network layer protocols, while introducing only limited memory and energy overhead.
Using Baloo, one can relatively easily re-implement network layer protocols like the Low-power Wireless Bus, Crystal, and Sleeping Beauty.
The general concept of Baloo and its working principles have been presented in the following paper.
Synchronous Transmissions Made Easy: Design Your Network Stack with Baloo
Romain Jacob, Jonas Bächli, Reto Da Forno, Lothar Thiele
Proceedings of the 2019 International Conference on Embedded Wireless Systems and Networks (EWSN) 2019.
[ Paper ] [ Presentation ]
Online presence
This wiki contains the detailed documentation of all Baloo mechanics and features, how they are implemented and how to use them for your own designs. In addition, the Baloo source files contain detailed Doxygen comments. The Doxygen documentation can be generated using the following commands
cd <path-to-baloo-directory>/tools/doxygen/
make html
This generates the complete documentation for Contiki-NG. Documentation of Baloo files can be directly accessed at /tools/doxygen/html/group__gmw.html
Unless explicitly stated otherwise, all Baloo sources are distributed under the terms of the 3-clause BSD license. This license gives everyone the right to use and distribute the code, either in binary or source code format, as long as the copyright license is retained in the source code.
This repository contains an implementation of Baloo using the Contiki-NG operating system. Minor modifications of the original OS code where made. See the list of modified files (and rational for changes, whenever appropriate).
- Overview of Baloo
- Program flow
- Control packet
- State-machine
- Callback functions
- Pre- and Post-Processes
- Time management
- Debugging common problems
- Contention slots
- Per-slot configuration
- Static control
- Slot and round skipping
- Slot and round repeat
The richness of the Baloo framework lies in the variety of embedded platforms and synchronous transmission primitives supported. Using those, a range of network stacks have been implemented and made available.
Baloo is meant to live and expend! If you are interested in adding your own platforms, primitives, or stacks, don't hesitate to get in touch!