Agilla comes in two parts: The NesC code that is installed on the motes, and the Java code that runs on the PC and allows the user to inject agents into the sensor network. See the tutorial for installation instructions.
2) When specifying the grid size, you only specify the number of columns (you no longer need to specify the number of rows). The node’s TinyOS address still determines the mote’s location. Mote 0 is at (1,1) located at the lower-left corner of the grid. TinyOS address’s increase in row major order.
3) A mote’s location can be changed using the AgentInjector (you no longer need to reprogram the mote to change its address/location). The original ID of the mote is always used to specify which mote to modify, e.g., “move mote 1 to location (2,3).”
4) The AgentInjector enters a modal state for ~3 seconds after a reset to allow the network components to reinitialize themselves. This is especially critical now that I’m sending the base station a message immediately after it resets telling it that it is a base station.
5) The nodes periodically broadcast a beacon, neighbor discovery is done by each node
6) The base station can be any node in the network. It no longer has a special address. There can be multiple base stations. Base stations can also move, their location is set like any other node using the AgentInjector.
7) Since the location of a base station is no longer known by the non-base station nodes, Agilla no longer performs multi-hop routing to (uart_x, uart_y). Only the base station can perform a remote tuple space operation to (uart_x, uart_y). It is now up to the application to route messages to the base station. If an agent knows the location of the base station, Agilla can still perform the greedy multi-hop routing to it.
05-25-2005 Version 2.1 - NesC, Java
Comments: This version fixes a bug that prevented you from moving
a mote more than once. It also changes the "reset all" function
to only reset nodes that are reachable from the base station that broadcasted
the reset message.
07-14-2005 Version 2.2 - NesC, Java
Comments: Reduced memory usage to avoid stack overflow when large agents
are injected.