Skip to main content

Design-Operation Continuum Methods for Testing and Deployment under Unforeseen Conditions for Cyber-Physical Systems of Systems

Periodic Reporting for period 1 - ADEPTNESS (Design-Operation Continuum Methods for Testing and Deployment under Unforeseen Conditions for Cyber-Physical Systems of Systems)

Reporting period: 2020-01-01 to 2021-06-30

Cyber-Physical Systems of Systems (CPSoS) are inherently complex. The lifecycle of these systems could last up to 30 years in sectors like aerospace, railway and elevation. In these systems, an increasing trend is to implement most of the functionalities through software. During the lifecycle of these systems, the software of CPSoS evolves to (1) fix bugs, (2) add new functionalities, (3) perform refactoring activities to improve its quality, (4) include some extensions to face unforeseen situations that are detected during operation, (5) cope with hardware obsolescence, etc. The overall objective of this project is to research and develop a workflow to speed-up the software release of CPSoS in operation while guaranteeing its reliability. To this end, the ADEPTNESS project proposes autonomic design-operation continuum methods supported by tools that will combat the fragmentation in methods between development and operation. These methods will reduce the gap from development to operation (continuous delivery) and from operation to development (continuous feedback to development). These objectives can be divided into the three following objectives:

Objective 1: To demonstrate an increment in software quality for CPSoS.

Objective 2: To demonstrate a reduction in the re-commissioning cost of software releases for CPSoS while guaranteeing its reliability.

Objective 3: To increase synergies and collaborations between sector-leading companies and academic partners
In the first 8 months, during the execution of WP1, we developed a taxonomy that has been defined to elicit the DevOps requirements coming from the research and industrial partners, alongside with a microservice oriented architecture that addresses the needs pointed out in the requirements. We also developed a microservices-based architecture, which defined a set of microservices for DevOps of CPSoS alongside the specific interfaces of the set of services that compose the architecture. The Adeptness architecture defines a set of microservices to address the requirements coming from both the research and industrial partners. In this sense, the microservices that compose the architecture are the following: (1) deployment, (2) monitoring, (3) continuous validation, (4) recovery, (5) uncertainty detection, (6) test regeneration and (7) logging. Along the following microservices, we have developed the following:

Deployment: a first prototype for deploying software artefacts have been developed.

Monitoring: monitoring of hardware components and communication channels and monitoring of software artefacts is being explored.

Continuous validation: we have developed a multi-level test framework, we have researched on three type of test oracles for design and operation-time. A DSL for the definition of these oracles has been developed.

Uncertainty: An approach based on the combination of digital twins and machine-learning has been developed for run-time. For design-time we have explored the use of search algorithms and reinforcment learning for detecting unforeseen situations.

Test regeneration: Approaches based on passive and active testing for the CPSoS context are being researched.

Logging and traceability: a OSLC bridge that will be subscribed to different microservices is being developed.
We have proposed (1) an embedded microservice-based architecture for DevOps in the context of CPSoS, which is clearly novel. We have proposed novel test case and oracle generation techniques, in addition to uncertainty detection microservices. For instance, in the context of test oracles, we have developed the semantics required for the definition of test oracles in the context of CPSoS, which have many particularities with respect to general purpose software (e.g. need to deal with uncertainty, signal-based testing, etc.). We have experimented with these types of oracles in the context of industrial case studies, showing their applicability in at least an industrial use-case, using mutation testing. The published papers are the first ones on having the application of both metamorphic testing and machine-learning based testing techniques in a CPSs by using a real industrial case study. The expected results until the end of the project are (1) adaption of these techniques to work at run-time in operation and (2) a more through evaluation with the project use-cases. The foreseen socio-economic impacts include (1) a reduction in the test execution cost by means of using further automation, (2) an increase in the number of detected bugs and (3) a reduction in the number of false positives and negatives based on test oracles. We have also proposed novel mechanisms for deploying new software releases, monitoring it and recovering the CPS if the new software release fails. This has been widely investigated in the context of web-engineering, but the works posed in the context of CPSoS have not been covered yet in the SOTA. This will permit speeding up the recomissioning process, significantly reducing software development costs.