Objectives

The main technical objective of ENACT is to develop novel IoT platform enablers to:

  1. Enable DevOps in the realm of trustworthy smart IoT systems, and enrich it with novel concepts for end-to-end security and privacy, resilience and robustness strengthening trustworthiness, taking into account the challenges related to “collaborative” actuation and actuation conflicts.

  2. Facilitate the smooth integration of these to leverage DevOps for existing and new IoT platforms and approaches (e.g., FIWARE, SOFIA, and TelluCloud).

The ENACT enablers represent novel concepts realised as open software engineering methods and tools.

Technical Objective 1: Support continuous delivery of trustworthy SIS.

Context & Challenges: In the past years, multiple tools have emerged to support the building as well as the automated and continuous deployment of software systems with a specific focus on cloud infrastructures (e.g., Puppet, Chef, Ansible, Vagrant, Brooklyn, CloudML, etc.). However, very little effort has been spent on providing solution for the delivery and deployment of application across the whole IoT, edge and cloud space. In particular, there is a lack of languages and abstractions that can be used to support the orchestration of software services and their deployment on heterogeneous devices.

ENACT Innovation: To reduce delivery time and to foster continuous evolution of trustworthy smart IoT Systems, ENACT will provide automation to close the gap between development and operation activities following the philosophy of DevOps, and foster the continuous creation, evolution, and deployment of trustworthy smart IoT applications. In particular, ENACT aims to deliver enablers to accomplish orchestration of sensors, actuators, software services and topology configurations, and support the automatic testing and deployment of this orchestration across the IoT, edge and cloud space.

Technical Objective 2: Support the agile operation of trustworthy SIS.

Context & Challenges: The operation of large-scale and highly distributed IoT system can easily overwhelm operation teams. Major challenges are then to improve their efficiency and the collaboration with developer teams for rapid and agile evolution of the system. However, there is a lack of mechanisms dedicated to smart IoT systems able to (i) monitor their status, (ii) indicate when their behaviour is not as expected, (iii) identify the origin of the problem, and (iv) automate typical operation activities. Furthermore, because it is impossible to anticipate all the adaptations a system may face when operating in open context, there is an urgent need for mechanisms that will automatically maintain the adaptation rules of a smart IoT system.

ENACT Innovation: ENACT will facilitate the operations of smart IoT systems in a trustworthy and agile fashion. To efficiently maintain and evolve the system according to system requirements, ENACT willprovide and exploit mechanisms allowing dynamic adaptation both in terms of adapting the system itself according to context changes and by actually adapting the context by means of actuation. To ensure the trustworthy operation of smart applications and in particular the proper actuation on the physical environment, ENACT will provide enablers to analyse which actions are permissible in the given run-time context, thereby avoiding potential conflicting actuations and adaptations. Moreover, ENACT will enable root cause analysis and prediction in smart IoT systems with respect to trustworthiness, QoS requirements and SLAs.

Technical Objective 3: Support continuous quality assurance strengthening trustworthiness of SIS.

Context & Challenges: Ensuring quality of service is a complex task that needs to be considered throughout the whole life-cycle of a system. This is all the more exacerbated in the smart IoT system context where it is infeasible for developers and operators to exhaustively explore, anticipate or resolve all possible context situations that a system may encounter during its operation. This is due to the open context in which these systems operate and as a result can hinder their trustworthiness. This is particularly important when the system can have an impact on the physical world through actuators. In addition, testing, ensuring end-to-end security as well as the robustness of such systems is challenging. A major limitation of classical quality assurance tools when applied in IoT is the lack of mechanisms to include, as part of the tests, constraints related to the distribution and infrastructure of IoT and edge computing.

ENACT Innovation: To strengthen trustworthiness, ENACT will provide a set of coherent enablers to: (i) continuously validate the proper system design and operation; (ii) control and adapt the system structure, behavior and infrastructure including operation-time monitoring of the system and its underlying infrastructure (i.e., nodes, devices, virtual machines, software stack, location and ownership of nodes, etc.); (iii) enhance robustness and resilience of smart IoT applications; (iv) provide new context-aware security and privacy mechanisms for end-to-end security and privacy across IoT, fog, and cloud infrastructures, integrating not only smart preventive security mechanisms but also reactive security measures; and (v) a novel risk-driven decision support system that allow identifying threats and provide selection of devices and services that adhere to specific security, location and QoS requirements. Because smart applications may involve actuators that can have direct impact on the physical world, special attention will be given to ensure the consistency of the different actuation behaviours and the management of intelligent behaviour also at the edge and IoT end.

Technical Objective 4: Leverage the capabilities of existing IoT platforms and fully exploit legacy, proprietary and off-the-shelf software components and devices.

Context & Challenges: Real IoT systems are never developed from scratch: they build upon off-the-shelf components, legacy sub-systems and they can rely on the wide range of IoT platforms that have been developed over the past decade. The large number of IoT platforms available today is not only accidental, it reflects that different IoT systems or even different parts of a single IoT system have different requirements in terms of device management, integration, security, protocols, analytics, visualisation, etc. The ENACT approach and enablers have to take advantage of existing components as well as allow choosing the best suited IoT platforms for the task. That includes both platforms available today and future ones.

ENACT Innovation: ENACT provides the missing links to implement a DevOps software process for IoT systems. The core of the ENACT enabler will be kept independent from the underlying implementation choices (programming languages, libraries, IoT platform, protocols, devices, etc.). A documented plug-in mechanism will allow to specialize the ENACT enablers to exploit the underlying platform for the implementation of continuous integration, deployment, dynamic adaptation, testing, usage analytics, etc. In ENACT, plugins for SOFIA, FIWARE and TelluCloud will be developed. FIWARE and TelluCloud will be demonstrated as part of the Smart city and eHealth use case, while SOFIA integration will be demonstrated as part of the Intelligent Transport System and Smart building use case. Targeting SOFIA and FIWARE ensures the broad applicability of ENACT. TelluCloud allow for the validation of the plug-in mechanism on a proprietary platform. This way the ENACT framework will be both ready to use and future proof.

Technical Objective 5: Demonstrate the applicability of the integrated ENACT DevOps Framework for trustworthy SIS.

Context & Challenges: To maximize the uptake of the ENACT DevOps Framework by the IoT and edge communities, it is important to demonstrate and validate them in real use cases from typical IoT application domains and that clearly illustrate the benefits of using the ENACT DevOps Framework.

ENACT Innovation: ENACT DevOps Framework for trustworthy SIS will demonstrate the smooth integration and exploitation of all ENACT enablers featuring development and operation of trustworthy smart IoT systems across heterogeneous IoT, edge and cloud spaces. The effectiveness of the ENACT DevOps platform and its relevance will be validated by three comprehensive, industrial level case studies. The three case studies represent different application domains and business goals (Smart cities and e-Health, Intelligent Transport Systems, and Smart building) to demonstrate the general applicability of ENACT.