PROTOCOL

Determining the topological structure of a complex areal object

SUMMARY

This algorithm is an extension of Protocol 5.11 which uses the hole values to determine the containment relationships between all holes and islands. It does so by having each mote in the lead state sending a RPRT message up the network to a sink mote. This message includes a score which is either incremented or decremented by one each time it crosses a boundary cycle. Once this value reaches zero, it is known that the current boundary cycle directly contains the cycle which initiated the message. These RPRT messages are then used by the sink mote to determine the containment relationship.

OPERATION

Select a region from the Region_Type drop-down box.

Click the Setup button to generate a network based on communication distance and network size.

Click the Go! button to run the algorithm.

NOTICE

The region is cyan in color, once the algorithm runs, BNDY motes should appear in mid-blue around the edges.

The sink mote is large and purple in color.

The leading mote should be the purple in color.

The path taken by the AREA message is orange in color.

The hole value should be 0 for an island and 1 for a hole.

Use the MoteLabel list to change the labels to the mote id, sensed value, wind value, m value, hole, ring, parent or hop count value. Only motes in the boundary cycle will show their m, hole or ring value.

TRY

Try selecting GG or RNG from the NetworkStructure drop-down box to change the network shape to a Gabriel Graph or Relative Neighborhood Graph. Does the algorithm run any differently for planar and non-planar graphs?

Try adding more motes by increasing the number in the Netsize box. Does the boundary cycle reflect the region more accurately?

Try running the algorithm slowly to get a better idea of how the algorithm runs. Change this by adjusting the speed slider.

LINK TO BOOK

Protocol 5.12

CREDITS

Code designed by Matt Duckham. Additional coding by Alan Both.

LICENSE

Copyright 2011, 2012 Matt Duckham

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License http://www.gnu.org/licenses/ for more details.

The formal specification procedure used for all the protocols on this site is based on the standard distributed systems approach of Nicola Santoro (see Santoro, N. Design and Analysis of Distributed Algorithms. Wiley, Hoboken, NJ. 2007.) For more details on the protocol specification style, please refer to the book accompanying book for this website, Decentralized Spatial Computing: Foundations of Geosensor Networks.

All the NetLogo simulation models for this book depend on two library files: gsn.nls and env.nls
These files should be placed in the parent directory of the .nlogo file (and are common to all the .nlogo models on this website).