Interface contracts for TinyOS