Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tool Working Group Report John Regehr. 2 Tool WG Agenda Technology transfer: Move software tools from research into practical use for TinyOS 2.x developers.

Similar presentations


Presentation on theme: "Tool Working Group Report John Regehr. 2 Tool WG Agenda Technology transfer: Move software tools from research into practical use for TinyOS 2.x developers."— Presentation transcript:

1 Tool Working Group Report John Regehr

2 2 Tool WG Agenda Technology transfer: Move software tools from research into practical use for TinyOS 2.x developers What kind of tools? –Verification / validation –Optimization –Debugging –Etc.

3 3 Current Focus: Safe TinyOS Language-based safety on motes –Pointer/array errors are trapped before they happen No more memory corruption –Safety checks added to C code emitted by nesC compiler Lots of details in our SenSys 07 paper

4 4 Module-Level Safety module HplAtm128Timer0AsyncP @unsafe() { … } module HplAtm128Timer0AsyncP @safe() { … } This is an escape hatch –Unsafe means that no safety checks are inserted in the module’s code –Modules without either attribute default to unsafe

5 5 Annotations for Safety interface Packet { command void clear (message_t* SINGLE NONNULL msg); command uint8_payloadLength (message_t* SINGLE NONNULL msg); … }

6 6 New Format Annotations interface Packet { command void clear (message_t* @single() @nonnull() msg); command uint8_payloadLength (message_t* @single() @nonnull() msg); … }

7 7 Interface Annotations In nesdoc /* @param * 'message_t *@single() @nonnull()msg' is * the packet to clear */ command void clear (message_t* msg);

8 8 How to handle traps? Reboot Blink LEDs Send serial packet Custom code you write Failure information is a small integer that a different tools turns into a nice error message

9 9 Next Steps Now: Integrating into CVS head Very soon: Solicit early users on –devel –Upgrade toolchain –Type “ make micaz safe ” This Spring: Release as part of 2.1

10 10 Other Tools Stack depth analysis –Working on it… Debugger? GUI front end? What else do you want?


Download ppt "Tool Working Group Report John Regehr. 2 Tool WG Agenda Technology transfer: Move software tools from research into practical use for TinyOS 2.x developers."

Similar presentations


Ads by Google