ENACT: Development, Operation, and Quality Assurance of Trustworthy Smart IoT Systems Submission


Complete name   ENACT:  Development, Operation, and Quality Assurance of Trustworthy Smart IoT Systems
Submitter's Info   Hui Song, SINTEF, Norway, hui.song@sintef.no
Project information  

The main objective of ENACT is to enable DevOps practices for the IoT. The ENACT DevOps Framework consist in a set of loosely coupled tools to support the development, operation and quality assurance of trustworthy smart IoT systems. 

The next generation of IoT systems will span across IoT, Edge and cloud, with local data analytics, decision making, and actuators involved. We denote them the Smart IoT Systems (SIS). Software plays a key role in such systems, and their increased complexity, the unpredictability of their environment, as well as the their requirements for trustworthiness, calls for fast and continuous reaction by the software teams in charge of their development and operation. Meanwhile, DevOps emerges as the de facto software development method for cloud system, allowing developers to continuously change the software and to directly place the changes into the production.  Despite the wide adoption of DevOps for cloud applications, there is no effective solution to enable DevOps for smart IoT systems. ENACT aims at providing the first experimental toolset for this purpose. 

The project is funded by the EU H2020 project under Grant Agreement No. 780351

Description of the project and its goals  

The ENACT framework consists of the following tools to support the different steps of DevOps for trustworthy SIS.
The ENACT continuous delivery toolset consists of the following tools:
• The continuous risk management SaaS helps DevOps teams identifying the security and privacy risks during the development lifecycle of a SIS and track the effectiveness of the mitigation actions.
• GeneSIS provides modelling languages and engines  to automatically deploy software modules onto cloud, Edge and IoT devices.
• The Actuation Conflict detection and Management tool (ACM) automatically identifies the conflicts between actuators in a SIS, and deploy predefined modules to handle these conflicts.
• The Test and Simulation tool provides a framework to simulate the behaviour of IoT devices for automatically testing the scalability, security and performance of a SIS.
The ENACT agile operation toolset consists of the following tools:
• The Online Learning Enabler (OLE) improves self-adaptability capabilities of a software module in a SIS by learning and tuning its adaptation policies.
• The Behavioural Drift Analysis (BDA) tool identifies the difference between the actual behaviour of a SIS in its operational context and the designed one.
• The Root Cause Analysis (RCA) identifies the root cause of system anomalies based on the observable status of the system parts
The ENACT quality and trustworthiness assurance toolset consists of the following tools:
• The S&P monitoring and control tools information detect the system anomalies by continuously monitoring security parameters and (ii) to enforce security and privacy.
• The Context Aware Access Control tool manage dynamically the identity and access rights of users and devices, based on the context of the system at runtime.
• The diversity-oriented fleet deployment tool (DivEnact) achieves the automatic deployment of software modules on large number of devices considering their contexts, aiming at the robustness and resilience of the whole fleet.

Web site   https://www.enact-project.eu/
Targeted audience  

The main potential users of the framework are developers and DevOps teams of IoT applications. We also foresee the interest from research teams from software engineering, cloud computing and IoT domains.
Similar solutions:
• Azure IoT Edge: https://azure.microsoft.com/en-us/services/iot-edge/ - a cloud service for the automatic deployment of software modules to IoT devices. Used together with other Azure services such as CD pipelines, monitoring, the Advanced Threat Analysis, developers can build a DevOps supportive platform for IoT systems.  
• Ansible: https://www.ansible.com/ - a generic Infrasture as Code solution for remote provisioning, deployment and configuration of software on Unix-like systems and Windows systems. It is widely used in the DevOps for IoT systems for automatic deployment. 

Supporting team  

The tools are maintained by ENACT consortium, mainly SINTEF, CNRS, Tecnalia, UDE, Montimage, Beawre and Evidian. 

Business model / Strategy  

The ENACT consortium and most of the academic partners are non-profit organizations. Some partners, including Beawre, are commercializing part of the solutions based on SaaS business model, i.e., developing and maintaining the software as open source project, while monetizing it via subscription fees and consultancy of the SaaS offering based on the open source software.

User community  

There is not an external user community beyond the project partners, at the moment

Internationalization  

The project currently only support English. However, the underlying UI framework (Ant.Design) behind all the ENACT tools, provides I18N support to a set of languages, and we can exploit this in the future.

Roadmap  

• Finalizing the designed features and fix bugs
• Apply on the three use cases identified in the project.
• Go through beta-testing campaign launched by OW2.
• Promote to external community

Hosting  

https://gitlab.com/enact/GeneSIS

Your project and OW2  

ENACT aims at reaching the OW2 community of cloud, Edge and IoT developers. As development tools, ENACT will be complementary to the middleware projects in OW2, by providing the development support to developers who build their applications on the cloud and IoT middleware.

OW2 projects  

The most relevant OW2 project we identified at the moment is MobIoT, a middleware for large-scale IoT systems.

OW2 initiatives   
Technologies and standards  

- Docker
- Node-RED
- Azure IoT Edge
- SMOOL
- FIWARE
- OpenHab
- JIRA
- OASIS TOSCA

Contribution to the OW2 Community  

ENACT would like to provide to the OW2 Community a DevOps environment for developers to extend their application domain from cloud to IoT and Edge.

Motivations to join the consortium and its community  

The ENACT consortium is currently managing the code base on itself, as a GitLab project. As the tools get more mature, we face more and more urgent requirement to harden the quality of the tools, and to promote to a large developer community, in order to get prepared for going to the market. We appreciate the OW2 community, the beta-testing  assistance, as well as the dissemination events as particular useful for the last step of the ENACT project.

Other Information?   
License(s)   Apache License 2.0
Interested Parties   
Terms and conditions acceptance  

I hereby certify the accuracy of the information provided above.

Yes
Submission date   05/05/2020