Several colleagues from Austria, Germany, Sweden, and I investigated the challenges on Software Engineering for Cyber-Physical Production Systems (CPPS). The results can be found in our paper "Industry Voices on Software Engineering Challenges in Cyber-Physical Production Systems Engineering" on this year's ETFA conference.
In our study, we identified eight major fields of challenges for software engineering in CPPS:
- Real-Time Requirements
- Knowledge Management
- Data Analytics & AI
Here I would like to hightlight the aspect of complexity and sugar them with a bit of personal opinion: We identified challanges regarding four dimenstions of complexity for SE in CPPS: (1) system complexity, (2) time complexity, (3) integration complextity, and (4) information complexity. The challenges in system complexity come from the sheer amount of different subsystems goind hand in hand with their heterogeneity. E.g., you have to integrate sensor systems, real-time control systems, and process optimization systems, just to name a few. There are information technology (i.e., software) and operational technology (e.g., programmable logic controllers) to integrate, which all contribute complexity, processes, processes for development, deployment, upgrading, etc.
The challenges in time complexity include the longevity of CPPS. Industrial CPPS can be long-living over multiple decades, introducing challenges in the maintenance and evolution. Imagine that the different subsystems - IT-related, operations-related - introduce their own challenges to maintain and evolve over such a long time, and these aspects have to be takein into account jointly. This includes different lengths of development cycles and the need for a continuous operation of the plant without stopping the CPPS. All the while the changes need to maintain the backwards compatibility on the hardware and software side.
Regarding the Integration Complexity there are challenges regarding the integration of the very hererogeneous artifacts, for which model-driven software engineering is seen as a potential solution. Model-driven development is strong in integration aspects, e.g., with conformance and consistency checks and automated transformations. However, there are still some challenges to solve for a well-automated vertical and horizontal integration of the many different aspects of CPPS, which may very probably be domain-specific.
Last but not least we identified information complexity as a challenge. CPPS produce much data, which can lead to an information overload for operators. They might not be able to identify the relevant data points and data sources in the stream of data to process. Often, the soruces of issues cannot be seen directly in the data, because issues may only become apparent quite late in the development process. In that case their sources may come from a combination of bad paramters, that in isolation are within their individual thresholds, but in combination lead to problems. I investigated that issue in the project XAPS at the University of Koblenz-Landau. Also, the many protocols used in CPPS, including their semantics, and vendor-specific tools where these protocols are managed raise the complexity.
In our study we had two workshops with mostly academic participants, a full-day workshop with reports from and discussions with experts from the industry, and many extensive reading and discussion sessions as a group. If you are interested in details of our work, please find all the details in our ETFA conference paper:
Kevin Feichtinger, Kristof Meixner, Felix Rinker, István Koren, Holger Eichelberger, Tonja Heinemann, Jörg Holtmann, Marco Konersmann, Judith Michael, Eva-Maria Neumann, Jérôme Pfeiffer, Rick Rabiser, Matthias Riebisch, and Klaus Schmid. Industry Voices on Software Engineering Challenges in Cyber-Physical Production Systems Engineering. In 27th IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2022, Stuttgart, Germany, September 6-9, 2022, pages 1–8. IEEE, 2022. [ DOI ]