Concepts
From TinyWiki
These are concepts of TinyOS's operation that are essential to understanding how it works. The closest analogy in a desktop or workstation operating system (e.g. the Unix family) would be such concepts as "virtual memory", "virtual filesystems", "O(1) schedulers", and so on. These are higher level than the actual system,
The model for "Concepts" is the SGI documentation for the SGI C++ Standard Library implementation. The descriptions of the various generic data structures and functions which are part of the STL are described in general and algorithmic terms. Those concepts are then refined by further details, with an effort being made to create a taxonomy. Then specific implementations of those concepts are described and further characterized by their actual interfaces and implementation specific details. A similar description of the ideas that embody the research behind TinyOS, and the systems which implement those ideas might be very useful in presentation.
Below "Concepts" are "Systems" (perhaps too general a term) which refer to actual implementations within TinyOS, although again at a high-level of description (such as might go in a paper) and not involved in the intricacies of the code (that's for the Users' Manual). Each concept has systems that implement it listed below it.
An example of the SGI approach is the concept Associative Container which has several refinements which eventually lead to the concept Unique Sorted Associative Container and the "system" std::map. Another analogy would be the concept "concurrency", which might have a refinement "threads", a further refinement "1-to-1 threads", and a system "Pthreads".
It's likely that the concepts should be further sub-categorized as we figure them all out.
Concepts are listed below, with refinements nested, and specific systems nested and emphasized.
Contents |
Concepts
Basics
Algorithms
- Data dissemination
- Low-power listening
- Network reprogramming
- Power management
- Routing
- Timers
- Time synchronization
Software
- Application-specific virtual machines
- Hardware abstraction architecture
- Serial forwarder
- Simulator
- Units of communication
Hardware
Fill out this template when describing a concept.
