Wireless sensor and actor networks (WSANs) have been heralded as one most promising technologies in the 21st century as they have the potential to serve many and diverse applications. They are small self-powered devices (motes) with sensing capabilities which can communicate with each other via wireless links. They can work together to form dense sensor networks that are able to monitor different environments.

One of the most important challenges and problems that can hinder the development of this technology is the ease of programming. Because of the embedded nature of these devices, energy and computational constraints, in order to program them it is necessary to use a low level programming language. As a result, applications are usually specifically programmed to the application needs and little reusability is achieved. In addition programmers have to deal with many complex and repetitive tasks that are present in all applications such as communication, routing, energy saving protocols or fault tolerance.