Classifying Code Generation for Industrial Automation

New survey accepted today at Elsevier JSS: Software development for the automation of industrial facilities (e.g., oil platforms, chemical plants, power plants, etc.) involves implementing control logic, often in IEC 61131-3 programming languages. Developing safe and efficient program code is expensive and today still requires substantial manual effort. Researchers have thus proposed numerous approaches for automatic control logic generation in the last two decades, but a systematic, in-depth analysis of their capabilities and assumptions is missing. This paper introduces a novel classification framework for control logic generation approaches, which is applied to analyze 13 different control logic generation approaches. Prominent findings include different categories of control logic generation approaches, the challenge of dealing with iterative engineering processes, and the need for more experimental validations in larger case studies. [Download preprint]

Rule-based Code Generation in Industrial Automation

A new paper (download preprint) was accepted for the 42nd International Conference on Software Engineering (ICSE) – at the “Software Engineering in Practice” track (SEIP) to be held in May 2020 in Seoul, South Korea. Summary: “Software development for industrial automation applications is a growing market with high economic impact. Control engineers design and implement software for such systems using standardized programming languages (IEC 61131-3) and still require substantial manual work. We have executed four case studies on large industrial plants with thousands of sensors and actuators for a rule-based control logic generation approach called CAYENNE to determine its practicability. We found that we can generate more than 70 percent of the required interlocking control logic with code generation rules that are applicable across different plants.”

Automated Industrial IoT-Device Integration using the OpenPnP Reference Architecture

We published a new journal article in Wiley’s “Software Practice and Experience“. A preprint PDF is available. Here’s the summary: “The vision of plug-and-produce control systems has been pursued for more than 15 years, but existing approaches fell short regarding configuration tasks and vendor-neutrality. This paper introduces the standards-based IoT reference architecture “OpenPnP”, which allows largely automating the configuration and integration tasks of industrial commissioning processes. This paper demonstrates how OpenPnP can reduce configuration and integration efforts up to 90 percent in typical settings, while potentially scaling well up to tens of thousands of communicated signals.”

Architectural Decision Forces at Work: Experiences in an Industrial Consultancy Setting

New paper published at ESEC/FSE 2019 in Tallinn, Estonia: “The concepts of decision forces and the decision forces viewpoint were proposed to help software architects to make architectural decisions more transparent and the documentation of their rationales more explicit. However, practical experience reports and guidelines on how to use the viewpoint in typical industrial project setups are not available. Existing works mainly focus on basic tool support for the documentation of the viewpoint or show how forces can be used as part of focused architecture review sessions. With this paper, we share experiences and lessons learned from applying the decision forces viewpoint in a distributed industrial project setup, which involves consultants supporting architects during the re-design process of an existing large software system. Alongside our findings, we describe new forces that can serve as template for similar projects, discuss challenges applying them in a distributed consultancy project, and share ideas for potential extensions.”


OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things

Our paper at the ICSE 2019 conference in Montreal proposed a reference architecture for interoperable Industrie 4.0 systems:

“Industrial control systems are complex, software-intensive systems that manage mission-critical production processes. Commissioning such systems requires installing, configuring, and integrating thousands of sensors, actuators, and controllers and is still a largely manual and costly process. We introduce the vendor-neutral OpenPnP reference architecture, which can largely automate the configuration and integration tasks for commissioning. Using an example implementation, we demonstrate that OpenPnP can reduce the configuration and integration effort up to 90 percent and scales up to tens of thousands of communicated signals per second for large Industrial Internet-of-Things (IIoT) systems. OpenPnP can serve as a template for practitioners implementing IIoT applications throughout the automation industry and streamline commissioning processes in many thousands of control system installations.”


Bottleneck Identification and Performance Modeling of OPC UA Communication Models

Several interesting performance measurements and models, published at ICPE 2019 in Mumbai, India: “The OPC UA communication architecture is currently becoming an integral part of industrial automation systems, which control complex production processes, such as electric power generation or paper production. We have carried out extensive performance measurements with OPC UA client/server and pub/sub communication and created a CPU utilization prediction model based on linear regression that can be used to size hardware environments. We found that the server CPU is the main bottleneck for OPC UA pub/sub communication, but allows a throughput of up to 40,000 signals per second on a Raspberry Pi Zero.”


IoT Challenges for Smart Manufacturing

Today, I gave a keynote at the IoT-ASAP 2018 workshop at ICSA 2018. Here are an abstract and the slides:
Distributed control systems for manufacturing are currently evolving towards Industrial Internet-of-Things (IIoT) systems. Sensors and actuators get equipped with internet connectivity, which allows them to interface with cloud platforms. This potentially enables a number of application cases. However, industrial “things” may be much more complex and more resource-constrained than typical consumer space “things”. This talk provides an overview of Industrial IoT application cases and sketches various challenges for researchers and practitioners using the example of turning a level sensor for industrial tanks into an IoT device.

ICPE 2018 – Industry Track – Call for Participation


In April next year, software performance engineering experts from around the world will gather in Berlin for the 9th International Conference on Performance Engineering, ICPE2018. The conference will have a great industry track program with contributions from many companies, such as Cisco, IBM, Oracle, Bosch, and LinkedIn. Topics range from energy consumption benchmarking, microservices, virtualization, software containers, distributed profiling, and software-defined networks. It should be an exciting conference with the opportunity to share experiences across companies and between academia and practice. So, book your trip to Berlin!