## 3 Key Building Blocks
### Autonomic M2M Manager  
The autonomic M2M manager is able to monitor the system in information level, analyze the situation, plan the required actions, and execute the control events towards the system automatically or at least semi-automatically, Figure 3. It is a generic and extensible control loop for the self-management of M2M systems [65] based on the IBM MAPE-K control loop model for enabling self-management capabilities such as self-configuring, self-optimizing, self-healing and self-protecting [66]. The control loop operates as an expert system to emulate the decision-making ability of humans and is designed to solve complex problems by reasoning about knowledge. The control loop consists of modules for monitoring, analyzing, planning and executing, Figure 4. Monitoring module answers to the question \"what is happening?\" It collects events from sensors from managed resources, updates a model describing the sensors environment and topology located on the knowledge base with relevant information from events, and infers new knowledge about symptom occurrences, then extracts relevant information and sends them to the analyzer. Figure 3: Autonomic M2M manager. Analyzing module answers to the question \"what to do?\" It provides mechanisms that correlate and model complex situation, which mechanisms allow learning about the environment and help predicting changes in the environment. The analyzer receives symptoms as input, uses them to update a knowledge model describing the complex situation. In addition, it generates new knowledge called as RFC, and sends them to the planner. The planner acts as a decision making module, and focuses on the question \"how to do?\" It saves new knowledge RFCs as goal states, read models of possible actions and facts from the knowledge base and checks policies to guide its work. Then, it selects actions leading to the goal states and sends them to the executor. The executor receives as input logical description of the sequence of actions to be executed, and results a model containing actuators description and available operations details. It matches actions with their correspondent concrete operations, then performs the plan using actuators and controls the sequence of actions execution with consideration for dynamic updates. The executor must answer to the question \"how is it done?\" by generating reports and saving relevant information into the knowledge base. The knowledge base relies on Web Ontology Language (OWL) [25], which is a semantic an expressive schema language for publishing and sharing ontologies using Resource Description Framework (RDF) extensions. Ontology rules such as the Semantic Web Rule Language (SWRL) [67] provide a way to define behavior in relation to a system. A translation infrastructure is provided to keep the autonomic manager generic and to facilitate the mapping between the autonomic manager and legacy M2M systems, Figure 4. The  
Figure 4: The component model of the Autonomic M2M Manager [65]. administration layer enables to supervise and configure each autonomic module subcomponents for best performance. An ontology model for M2M is composed of three main classes: M2M_Machine, M2M_Application and M2M_SCL, which enable to represent the most important concepts of the M2M system, Figure 5. An additional class called as Connection is considered to represent potential interactions between M2M applications according to their semantic annotation. The control loop of autonomic M2M manager is operating in the information level. In addition, it is expected that the ETSI M2M service capabilities are realized as generic components. Therefore, there is need to have means for connecting device management and data interpretation related autonomic service capabilities to connect service capabilities smoothly with autonomic manager and information manager in general. However, it is important to keep the core part of the autonomic M2M manager engines as agnostic as possible towards the M2M information formats, knowledge bases and device management.