[Tinyos-devel] Working Group Formation
Philip Levis
pal at cs.stanford.edu
Wed Nov 22 16:50:09 PST 2006
The TinyOS Alliance provides a structure for individuals to become
involved in the effort to establish and provide open code and
protocols for embedded sensor networks. Working groups (WGs) are a
major part of this structure. Working groups provide a forum for
interested individuals from many different institutions and
perspectives to collaborate on a common goal.
Currently, there's a very small number of working groups that are
focused on basic services and abstractions: sensing, timers, packet
communication, collection routing. This narrow focus was intended to
make sure that there is the basic functionality that almost every
application depends on. Now that TinyOS 2.0 (T2) has been released,
there is a stable, well-documented core OS. It will undoubtedly
evolve a bit, but the core abstractions are there; some of them have
been tested and in use for two years. You can find a list of active,
recently active, and completed working groups at
http://www.tinyos.net/scoop/special/working_groups
One of the major goals of T2's organization is to make it easier to
add new modules and functionality. Therefore, the TinyOS Alliance
Steering Committee (SC) is now ready receive proposals for the
formation of new working groups. I've personally spoken with a few
people who have expressed interest in forming groups on topics such
as storage, simulation, and documentation. Send proposals to David
Culler, the chair of the Alliance Working Group (culler AT eecs DOT
berkeley DOT edu).
Working group proposals need not be long or verbose. Usually, a
single page will do. A proposal should have 6 key pieces of information:
1) Name: the proposed name of the working group
2) Charter: 1-3 sentences describing the scope and topic the group
wishes to work on
3) Members (and initial chair): A list of at least 3 people who will
form the initial membership, as well as one additional person who
will be the chair. The member list should include affiliations. While
not a requirement, the SC strongly encourages that the initial member
list include multiple perspectives. Working groups bring people
together to work on a topic collaboratively; ideologically exclusive
groups are contrary to this goal.
4) Membership policy: A description of what process the group will
use to admit new members. This can vary from group to group: core is
based on consensus, net2 is voting, and alliance is invitation (due
to the fact that it will close as soon as it completes its work of
bootstrapping the Steering Committee).
5) Timeline: A description of the planned work products for the first
six months or so. The purpose of the timeline is not to be a set of
hard deadlines, rather to give more detail on the group's output
goals as well as a general metric the group can use to assess its own
progress. The timeline doesn't need to be aggressive.
6) Overlap and Interactions: This identifies where and how work under
the charter might overlap those of other working groups and how the
new group plans to work with others.
Working groups define the difference between what code is in
tinyos-2.x-contrib[1] and what code is in tinyos-2.x. A working group
that includes implementations are part of its charter has one or more
directories in the tinyos-2.x/ tree (generally but not always in tos/
lib and doc/). Each directory is "owned" by a working group, who
develops, improves, and maintains the code and documents therein. A
working group confers with the core working group on how to name and
were to put these directories. Generally, directories are created
once a WG has files to check in, rather than when the WG forms.
If net2 were to write a proposal, it might look like the text below.
Name: Network Protocols (net2)
Charter: To define interfaces and interoperability requirements for
basic network (multihop) protocols and develop reference
implementations of those protocols.
Members:
Rodrigo Fonseca, UC Berkeley (chair)
Jan Beutel, ETH Zurich
Henri Dubois-Ferriere, EPFL
Omprakash Gnawali, USC
Jonathan Hui, Arch Rock
Kyle Jamieson, MIT
Sukun Kim, UC Berkeley
Philip Levis, Stanford
Geoff Mainland, Harvard
Joe Polastre, Moteiv
Arsalan Tavakoli, UC Berkeley
Gilman Tolle, Arch Rock
Martin Turon, Crossbow
Ning Xu, Crossbow
Membership Policy:
The WG follows an Apache-style voting policy. Someone who wants to
join emails the chair. The chair calls a vote. Each member can vote
-1, 0., or +1. For someone to join, they must have a positive vote
total and at least 3 members must have voted.
Timeline:
Nov 2007: Measure/identify causes of loss in CTP under medium load
Dec 2007: Define CTP rate control algorithm for heavy load (workshop)
Feb 2007: Begin discussion and evaluation of dissemination (TEP 118)
Mar 2007: Present CTP specification (TEP 123) and collection (TEP
119) to SC for community review
Apr 2007: Initial implementation of link-layer API
Overlap and Interactions:
The boundary between net2 and core is the single-hop packet
interface. net2 plans to work closely with core to define this
interface, as it has requirements from protocols above (net2) as well
as the hardware capabilities below (core). net2 has already brought
this issue up with the core working group, who have agreed.
Phil
[1] The caretakers of tinyos-2.x-contrib (Kevin Klues and Martin
Leopold) are hashing out some of the final details today. They will
be putting information on www.tinyos.net and sending a message to -
devel and -help next week.
More information about the Tinyos-devel
mailing list