Architecture-independent Programming for Wireless Sensor Networks: An Architecture-independent Approach (Wiley Series on Parallel and Distributed Computing)