DevOps for Complex
COSMOS is designing and developing novel DevOps methodologies, techniques, and tools that will enable effective, continuous development and evolution of cyber-physical systems.
Challenges in applying DevOps to cyber-physical systems
COSMOS addresses these challenges by realising DevOps pipelines delivering efficient and cost-effective development of trustworthy and secure cyber-physical systems capable of adapting their behavior to dynamic contexts and unexpected operating scenarios. COSMOS technologies will:
reduce the effort and costs in the development, validation and verification, and evolution activities of cyber-physical systems
reduce the cyber-physical system fault proneness to security threats thereby providing increased trustworthiness
make cyber-physical systems capable of autonomously adapting (or reacting) to unexpected behavior
These outcomes will be achieved through the development of novel infrastructure and technologies for cyber-physical systems development and deployment.
1. Modularity & Serviceability
2. Adaptive Verification and Validation
3. Context-aware Behaviour Adaptation
COSMOS technology solutions supporting DevOps for cyber-physical systems
COSMOS will develop a smart allocation policy for build jobs across available devices and simulators. Historical data analysis will be used to predict the distribution of incoming CI/CD jobs, and optimization techniques will be used to allocate incoming jobs to available resources, by parallelizing, when possible, heavy testing tasks.
COSMOS will deliver methods to model security requirements and security threats that support automated generation of security test cases. Search-based techniques and machine learning will be combined to automatically and efficiently identify inputs that trigger security vulnerabilities. Program analysis methods will handle programming languages and models including analysis of systems with dynamic behaviours.
self-adaptability of systems
COSMOS will provide a scalable approach for offline (historical and static) analysis and online checking (e.g. based on change patterns analysis) of CPS assets to detect behavioral changes likely to lead to critical or recurrent failures. Online & offline strategies will analyse system assets to detect and predict unexpected behavioral changes occurring during system evolution with respect to potential failures.
Representative test inputs including signals from sensors
COSMOS will define automated testing techniques that leverage AI technologies to drive testing in (co-)simulated and physical environments. Strategies will be identified to balance physical testing and (co-)simulation, and leverage runtime data to efficiently drive test generation. Model-specific search-based strategies will be provided for selecting test inputs, and machine learning will enable prediction of systems and simulation results to improve efficiency.
Run-time verification from distributed data & event streams
COSMOS will develop a scalable approach for offline and online collection, monitoring, and checking of properties from execution logs and events data streams, and will define a domain-specific, pattern-based language for specifying the system-level properties characterising signal-based behaviors of systems.
Evolving systems for faster DevOps cycles
COSMOS will develop a refactoring framework supporting developers toward refactoring large components into smaller components (e.g. micro-services) and the trade-offs among different non-functional properties. The target non-functional properties include build time (performance), test execution time, resource usage, time to fail for broken commits, ability to monitor sub-components, and testability.
European Industrial Impacts
Increased capacity of European software industry to exploit the capabilities of software-defined infrastructures at middleware and application layer
COSMOS pipelines will make use of software-defined infrastructures to allocate the resources necessary to fulfill industrial testing needs. The developed pipelines will make use of cloud platforms as necessary to run complex test processes, dynamically scaling infrastructure resources as necessary will focus on optimisation mechanisms, which will make intelligent use of such infrastructures to minimize overall testing time and cost whilst ensuring tests are performed in a timely manner. COSMOS will be able to obtain samples from field deployments to improve test effectiveness (higher test coverage, more detected vulnerabilities, etc.) which reflects real-world environments. This will be done not by modifying existing code, but rather by modifying the configuration of the application middleware in which the application runs.
Improved reliability and cybersecurity of software resulting in reduced losses caused by software failures or attacks
COSMOS will develop tools to maximise test effectiveness while minimising the time and cost of running tests. More effective test and verification increase software reliability and cybersecurity as there are less potentially exploitable bugs in production systems. COSMOS will achieve better software reliability through a sophisticated combination of improving test effectiveness through automated test generation, machine learning techniques to predict test results, judicious inclusion of Hardware-in-the-Loop testing in testing processes, incorporation of feedback from field deployments in test processes as well as static code analysis.
With respect to security, COSMOS will specifically develop solutions for detecting security vulnerabilities in cyber-physcial systems through a combination of analysis of the source code and generation of input sequences which may trigger security problems. COSMOS will also determine anti-patterns — including security related anti-patterns — via static code analysis as well as inferring the attack surface of a given software base using machine learning techniques.
Expand research and innovation potential in software technologies and infrastructures while overcoming fragmentation in European supply base
COSMOS will reduce fragmentation within the area of automation of test tools for cyber-physcial systems by developing a single, flexible, configurable solution which can be tailored and customised to different applications domains. As the solution will be developed within the context of a diverse set of use cases from the automotive, healthcare, avionics, utilities, and railways sectors, the project technologies will be applicable within many industrial contexts. COSMOS will identify how the general COSMOS solution can be tailored to a specific context to produce domain-specific solutions which integrate with tools, technologies, and workflows common to those sectors and may incorporate sector-specific regulatory aspects.