CometOS
A component-based, extensible, tiny operating system for wireless networks
| Staff |
Stefan Unterschütz
Andreas Weigel |
| Start | 1. January 2012 |
| End | 31. December 2013 |
Project Description
CometOS is a component-based, extensible, tiny operating system for wireless networks. It is written in C++ and highly inspired by OMNeT++'s communication paradigm. It allows the execution of protocols within the OMNeT++ simulation environment as well as on resource-restricted platforms such as wireless sensor nodes.
Here you can download the current version.
Key Features
- forces type safety for message types (no type casting necessary)
- avoids OMNeT++'s boilerplate code for handling messages (timers and gates are directly mapped to callback methods)
- excellent integration with OMNeT++
- utilizes the MiXiM framework for wireless channel simulation
- dynamic memory is not mandatory for running the CometOS core, however, an efficient library for dynamic memory allocation on microcontrollers is provided
- exploits C++ template programming in order to generate fast code for microcontrollers
- excellent debugging support
- supports object-aggregation similar to NS3 for cross-layer support
- contains template library optimized for sensor nodes (e.g., static/dynamic lists, maps)
- customizable serialization/deserialization mechanism for airframes
- intended for a modular/layered protocol design
Currently Supported platforms
- OMNeT++ Simulation environment
- AVR ATmega128RFA1
To ease transition to other hardware platforms, we keep the interface to the hardware-dependent part as slim as possible. The core framework at minimum needs the implementation of a timer interface, needed by the scheduler to realize message passing (and providing millisecond-accuracy timers for the user). Furthermore, a generic MAC interface has to be implemented to provide high-level access to the transceiver and enable transmissions to the wireless channel.
