70 likes | 173 Vues
This document reviews the code for SOWN Demo's Sentry Selection Model by Gang Zhou, outlining interface and component descriptions, tunable parameters, module overview, timers, phases, and node behavior in different phases. It details the PhaseTimer and BeaconTimer control functions, as well as the phases SEL_CHAOS, START_UP, DECLARE, and SEL_STOP.
E N D
Code Review of SOWN Demo--- SentrySelection Model By: Gang Zhou Computer Science Department University of Virginia May 2004
Outline • Interface Description • Component Description • Tunable Parameters • Module Overview • Timers in code • Phases in code • Node Behavior in different Phases
Timers and Phases • Two Timers: • PhaseTimer --- control the four phases • BeaconTimer --- keep periodical beaconing • Four Phases • SEL_CHAOS • No much to say • START_UP • Each node calculate information of the neighborhood • DECLARE • Decide sentry nodes and declare them • SEL_STOP • No much to say
Phase---START_UP • What to beacon during the phase? • My ID • SentryID • Num_covered • Num_sentries • Num_nonsentries • Voltage
Phase---START_UP • What to do when a beacon is received? • Update neighborhood status • Num_sentries • Num_nonsentries • Num_covered • What to do at the end of this phase? • Back off • The larger the num_nonsentry, the less the back off time • The higher the energy, the less the back off time • Start the first beacon of DECLARE phase after the back off
Phase---DECLARE • If the following two conditions are satisfied, I will declare myself as an entry • I am not a sentry • I didn’t hear from a sentry • Only when a node decides to be a sentry, it will beacon. • What to beacon during the phase? • My ID • SentryID • Num_covered • Num_sentries • Num_nonsentries • Voltage
Phase---DECLARE • What to do when a beacon is received? • Update neighborhood status • Num_sentries • Num_nonsentries • Num_covered • If I am not a sentry and I hear from a sentry, I will set that node as my sentry • What to do at the send of this phase? • Schedule to enter into SEL_STOP phase after 1 second