## 3 Autonomous System
### Approach to Autonomous Self-awareness and Adaptation for Routing in Wireless Sensor Networks  
Autonomous self-aware and adaptive systems are a proven solution for overcoming the complexity imposed by sensor network routing algorithms [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49] and so are self-healing systems [6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49]. Self-aware and adaptive systems are better methods for enhancing and improving the potential for understanding environmental situations and complex dynamic environments. In order to have a better understanding of the overall systems' capability and awareness to acquire and process information, five levels of awareness need to be considered. Such levels describe the extent and worthiness to which a system can adapt, and the extent that the respective adaptation effects have on the system [7, 8, 9, 10, 11, 12]. In this paper, we consider the five levels of self-awareness given in [9], which are:  
**Event Awareness:** This is the main level of self-awareness. This level focuses on the self-description of sensor network entities and how the events associated with these entities relate to other entities in the network system. It involves using basic information processing for sharing among network entities in the entire network. For dynamic adaptation, the self-aware routing technique must not establish a local routing decision only, but consider both local and global state information, and a defined boundary between self-awareness and adaptation. This boundary has to be considered at run-time based on the routing function and tuned parameters [13, 14, 15, 16, 17, 18, 19, 20]. **Situation Awareness:** At this level of awareness, several techniques and principles are joined to form a consistent reasoning both at the local and global level situational awareness. At this level, the routing function is advanced to specify a property between the sensor's network entities that are nodes and links. Several methods and techniques can be employed to ensure reliable and efficient understanding of the situational system. For example, fuzzy logic and probabilistic models can be used at this level [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 51]. Fuzzy models can be employed to describe the probability of error or failure occurring in the routing function. The routing function requires further information about the network to detect and characterize higher-level situations. The most important aspect of this level is the information abstraction at a higher level and efficient dissemination of information sharing between sensor nodes in the network [18]. **Adaptability Awareness:** This level of awareness provides support for network entities to detect the adaptability of other network components and provide their own adaptation interface. By doing so, the sensor nodes can select the best neighbors to meet the self-adaptation goal, _i.e._, find the best routing path. At this level of awareness, different methods and techniques can be employed to ensure that the routing algorithm possesses the capability of adapting to situational changes. **Goal Awareness:** This level of awareness defines the goals or the objective function to be achieved by the routing algorithm. This involves combining several different actions, goals, adaptations, and conflicting goals for the efficient routing of packets in the network, and for resource utilization. The routing function needs to specify an objective function that can be minimized or maximized at runtime. Goal awareness entails runtime goal checking to determine dynamically those goals that can be satisfied for a given constraint resource and threshold limit [6, 18].