Smart Cities represent the evolution of the current idea of urban aggregation, which leverages distributed, cloud systems and IoT technology to collect information to efficiently manage assets and resources. Among these, energy is certainly one of the most relevant and consequently, there are not many doubts that energy is a relevant market for Smart Cities. EU is aiming at lowering by 20% both energy consumption and carbon emissions in every EU Country by 2020. On the other hand, traditional buildings are responsible for the 36% of the overall carbon emissions, which is a critical aspect to be addressed to comply with EU demands and cope with the environmental risk. Consequently, the majority of EU countries will be forced to take actions to change the way they manage power consumption in buildings.
Despite current technologies, such as SmartMetering, SmartBuilding, energy monitoring services for buildings, just to mention a few, can be already used to enforce policies that better address energy, security, and climate respectfulness, there is large margin for improvement. A case in point is represented by micro-grid technologies, which enable the management of energy within a city district (and in relation to a wider grid network) through the orchestration of a multitude of applications, sensors, actuators, meters and automation systems.
The monitoring process of this kind of infrastructure can be challenging. The demand for adaptability and full integration, configurability and programmability cannot rule out equally relevant aspects regarding the system health. A trade-off between flexibility and health must be addressed by taking care of both the technological and business environments. In the former we find a multitude of heterogeneous interacting sub-systems; in the latter, a variety of business subjects and stakeholders (e.g., energy utility companies, building facilities and property managers, etc.) pursuing different goals and objectives. In this work we envision a novel approach for IoT applications monitoring, which is well suited with the illustrated scenario. We devised this approach in the context of the H2020 NGPaaS project [NGPaaS], one of whose aims is actually to promote cloud native solution for 5G networks, with the aim of breaking the silo between the Telco and IT industries.
The main characteristics of our proposal is that it leverages a quality model inspired by the ISO 25011 standard  to represent the concept of health for an IoT/Cloud system and relate this concept to metrics that can be measured on the actual system . Despite the fact that solutions to collect Key Performance Indicators (KPIs) and dynamically deploy the probes are available, little has been done so far to connect these KPIs together into a general framework. This would help in getting a better insight on the health status of both the system and its distinct components based on operator-specific objectives.
Starting from the model and some knowledge of the system architecture, which is typically stored in configuration files, the definition of monitoring goals, at various level of granularity and for different stakeholders, can be facilitated and the process of deployment of the probes and monitoring can be significantly automated. Moreover, since the model is aimed at capturing the goals and best-practices of a specific context, it can be changed at any time. The whole process is enforced by an infrastructure called CloudHealth, which governs each step starting from the probes’ deployment, going through the the definition of the KPIs collected from the target system, to the visualization of the data in adaptive dashboards. Both the initial definition of the model and the global design of the infrastructure was provided in a previous work  which can be referred for further details. In this work we outline its application in a Smart City context, where we assume the presence of a cloud and IoT infrastructure hosting IoT applications for energy management. In the following we first illustrate a realistic use case for the model-based monitoring approach (Section II). We finally describe the working principle of the propesed approach in Section III.
Ii A Smart City Scenario
Energy management is one of the critical aspects of a smart city management. Micro-grids have been experienced to be able to help city districts to manage energy consumption in efficient and optimized ways. However, the way they are typically structured, in an aggregation of manifold components, either hardware (e.g., actuators, sensors, etc.) and software (e.g., standalone components, embedded software systems, mobile applications, microservices, etc.) whose interaction is orchestrated in a centralized fashion, makes the ordinary working scenario quite challenging when it comes to monitor the health of a system. Additionally, when the different stakeholders, either private or institutional, each one with their goals and perspective, come into play, this results in an further increment of the complexity at business level. For example, some stakeholders may want to provision a specific kind of IoT application for their own business, which leads to different requirements in terms of monitoring, either if we consider the development stage (as in the case of DevOps) or the production one, which implies monitoring the running application and the supporting infrastructure.
Iii Model-Driven Monitoring Process
The model-driven monitoring process is designed to work in the context of a Platform-as-a-Service (PaaS) cloud infrastructures that hosts IoT applications. The PaaS infrastructure is designed to provide a high degree of cloud versatility and scalability, towards universal connectivity of a variety of actors, (either human or not, such as robots, devices, sensors, etc.), crossing the border that separates different realms (e.g., mobile, IoT, Telco, etc.).
This is expected to enable the interaction between different business subjects such as IoT vendors and Vertical providers entering the IoT/cloud market. The infrastructure consists of a layered architecture where each level can be accessed by different subjects and roles. For instance, application developers and property managers access the top applicative/business layer (where the IoT applications are deployed and work).
The monitoring model was created through a process of refinement and selection from the ISO/IEC 25010:2011  and ISO/IEC TS 25011:2017  standards, which provide de facto specifications of demands widely used to evaluate the quality of generic IT services. The monitoring model represents the relations between high-level monitoring goals and the actual software metrics collected from actual services. Operators use high-level monitoring goals to easily identify the aspects to control using a dashboard.
The mapping between goals and low-level metrics is explicitly reported in the model: this fact facilitates the automation of probes’ deployment. The model specification includes information on how the high-level monitoring goals are computed from the individual metrics collected at runtime. The whole process is structured in three major steps: (i) Configure, (ii) Deploy, (iii) Operate.
Assuming the presence of a quality model as in our case, the first step is to select the Monitoring goals. This selection is a critical step and requires a certain level of knowledge of both the system and its services. In general, different services might differ in terms of quality demands which, in turn, are related to different KPIs. For example, a cloud/IoT operator may decide to monitor the reliability and the efficiency of a subset of the services available in the target platform. This is the first stage, Configure. The decision made by the operator is mapped into a set of metrics specified in the monitoring model. For instance, selecting reliability as a quality attribute, will result, according to our model, in monitoring three sub-attributes such as continuity, recoverability and availability.
In the next stage, called Deploy, the metrics are collected and mapped to a set of probes which are in turn deployed on the target system. In order to do this, the infrastructure needs to have specific information on the architecture.
Finally in the last stage, Operate, a dashboard is automatically deployed and configured in order to display the selected metrics, the associated KPIs, and the monitoring goals. This facilitates the operator who has to constantly keep an eye on the functioning of both the system and the deployed services. Additionally, this tool allows to perform, if necessary, a prompt diagnosis and damage control.
Being the proposed model hierarchical, such as a tree, it describes the system, and allows different users to interact with it, at different levels of abstraction. A manager has an understanding of the business strategies, but usually lacks technical knowledge. This individual would hardly understand low level KPIs, such as the data rate of successful data delivery
over a communication link. On the other hand, he or she would rather rule out technical details about the KPIs in favour of more intelligible monitoring goals such as “Throughput” and “Performance”. A technician, on the contrary, would be happy to get accurate data, which probably represent the most relevant information for his (or her) work.
-  European Commission - Energy Efficiency of Buildings. https://ec.europa.eu/energy/en/topics/energy-efficiency/buildings. Accessed: 2018-06-4.
-  ISO. Iso/iec ts 25010:2011(en) systems and software engineering — systems and software quality requirements and evaluation (square) — system and software quality models. Iso, International Organization for Standardization, Geneva, Switzerland, 2011.
-  ISO. Iso/iec ts 25011:2017(en) information technology — systems and software quality requirements and evaluation (square) — service quality models. Iso, International Organization for Standardization, Geneva, Switzerland, 2017.
-  Anas Shatnawi, Matteo Orrù, Marco Mobilio, Oliviero Riganelli, and Leonardo Mariani. Cloudhealth: A model-driven approach to watch the health of cloud services. CoRR, abs/1803.05233, 2018.