Nicolas Burri Roland Schuler Roger Wattenhofer
Nicolas Burri REALWSN Overview Short TinyOS introduction TinyOS development so far –Tools –Problems TinyOS Plugin for Eclipse –Some features –Architecture –Current state and future work
Nicolas Burri REALWSN TinyOS TinyOS consists of a scheduler & graph of components [slide by P. von Rickenbach]
Nicolas Burri REALWSN Programming Model Separate construction and composition Programs are built out of components specified by an interface Two types of components –Modules: Implement behavior –Configurations: Wire components together Components use and provide interfaces Component A Component B Interface I [slide by P. von Rickenbach]
Nicolas Burri REALWSN TinyOS Development so far Text Editor –No editor with inbuilt nesC support available –Programming in generic text editors UltraEdit Emacs Shell –Make system Compiling of programs Flashing of nodes –Additional tools File Browser –Project files –Interface definitions –System libraries
Nicolas Burri REALWSN TinyOS Development Today
Nicolas Burri REALWSN What we wanted to improve Getting started –Setting up the environment is tricky –Frustrating without the help of an expert Syntax check before compiling –Compiling takes up to 1 min even for small programs Better debugging support –Only three LEDs to show the current state of the application Reference –What interfaces exist? –Which modules implement this interface?
Nicolas Burri REALWSN What do we get if we install TinyOS? files in 540 folders files in the “doc” sub-tree files in the “java” sub-tree 3400 files in about 400 folders
Nicolas Burri REALWSN Standalone +No initial skill adaptation training necessary +Maximal flexibility –Overhead for the development of the framework –In reasonable time only limited functionality achievable Eclipse Plugin +Very flexible +Many inbuilt, reusable functions +Very well documented –Requires an understanding of the complex Eclipse framework Eclipse Plugin vs. Standalone Solution [
Nicolas Burri REALWSN TinyOS Plugin for Eclipse Outline Make Options Project Files Search nesC Editor
Nicolas Burri REALWSN TinyOS Plugin for Eclipse
Nicolas Burri REALWSN Component Graph
Nicolas Burri REALWSN Component Graph
Nicolas Burri REALWSN Underlying Architecture
Nicolas Burri REALWSN TinyOS Wrapper Plugin Defines how to access a local TinyOS installation –Where is the make system? –What compiler should be used? –…–… Encapsulates a TinyOS installation –Parallel installations do not interfere with each other We provide 3 different TinyOS wrappers –TinyOS snapshot –Tinynode –Empty skeleton
Nicolas Burri REALWSN Current State and Future Work Reasonably stable but still under construction Public beta test Bug fixing Additional management and deployment features TinyOS 2.x support... >3000 downloads
Nicolas Burri REALWSN Questions and Feedback For more information please visit our website at: Thank you for your attention!