SlideShare a Scribd company logo
1 of 70
Download to read offline
—
From Code Generation to Cloud-native Service Orchestration
SEAA 2022, 2022-08-31
Software Architecture Challenges in Process Automation
Dr.-Ing. Heiko Koziolek, Corporate Research Fellow, ABB, Germany
Electrification
Motion
Process Automation
Robotics & Discrete
Automation
—
ABB
Business Areas
—
Software Engineering
Trends relevant in Process Automation
Low-code Development
Continuous Integration & Deployment
Cloud-native Infrastructures
Microservices for Control Apps
Model-driven Development
Industrial-strength Cyber Security
—
Model-driven Development
Example: Rule-based Code Generation
—
Process Automation Plant
—
Piping & Instrumentation Diagram
Tank
Heat Exchanger
Heat Exchanger
Sensors
—
Hundreds of P&I diagrams Today: manual programming
Future: semi-automated programming
September 1, 2022 Slide 7
Idea: Rule-based Code Generation
T102
T101
V-1
V-2
V-3
V-4
NC
101.8
P-1 P-2
P-3
P-4
P-5
P-6
UC
101.7
LI
102.1
P-7
P-9
P-8
P-10
M
P-11
P-12
YS
103.1
YS
101.5
YS
103.2
LAS+
101.4
LS+
101.1
TI
101.2
LS-
101.3
LS-
102.2
YS
101.9
E104
FI
101.6
Object-oriented
Topology Model
(DEXPI standard)
Rule Engine
PROGRAM ValveControl
VAR_INPUT
TankLevel : REAL ;
END_VAR
VAR_OUTPUT
ValveOpen : BOOL ;
END_VAR
IF ( TankLevel > 50.0) THEN
ValveOpen := FALSE ;
ELSE
ValveOpen := TRUE ;
END_IF
END_PROGRAM
IEC
61131-3
PDF File
or Print-out
PROGRAM ValveControl
VAR_INPUT
TankLevel : REAL ;
END_VAR
VAR_OUTPUT
ValveOpen : BOOL ;
END_VAR
IF ( TankLevel > 50.0) THEN
ValveOpen := FALSE ;
ELSE
ValveOpen := TRUE ;
END_IF
END_PROGRAM
IEC
61131-3
Control Logic
Implementation
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R.
Rule-based code generationin industrial automation: four large-scale case studies applying the CAYENNE method.
Proceedings ICSE SEIP 2020 (pp. 152-161).
—
Approach Venue Inputs / Sources Intermediate
translation
Intermediate
Input
Generation Method Output Tooling
Vogel-Heuser et
al. 2005
IEEE Int. Conf. on Control
and Automation
n/a n/a UML 1.4, UML-PA,
Artisan Realtime Studio
Mapping UML to IEC
61131-3
61131-SFC / ST Unnamed tool prototype
using Artisan Realtime Studio
Drath / Fay 2006 IEEE Conf. on Computer
Aided Control Systems
Design
P&ID in CAEX (IEC
62424)
Transformation from
CAEX to LogiX
LogiX extension for
CAEX
Matching rules from a
knowledge base
C&E Matrix, 61131-3
ST / FBD for ABB
Controller
Unnamed tool prototype
Thramboulidis /
Frey 2011
SciRes Journal on Software
Engineering and
Applications
P&ID in CAEX (IEC
62424)
Proposed
CAEX2SysML
Transformator
SysML block definition
diagrams, internal block
diagram
Translation of SysML block
diagrams to 61131-3 via
SysML Profile
61131-3 (PLCopen) SysML4IEC61131 Profile,
SysML2IEC61131 Translator,
MARTE Profile (unfinished)
Steinegger / Zoitl
2012, 2016, 2017
IEEE Int. Conf. On
Emerging Technologies
and Factory Automation
P&ID in CAEX (IEC
62424)
Automated mapping
by parsing XML
inputs
Reference Ontology
(self-defined)
Translation of ISA-88
recipes, generation based
on safety rules
61131-3 SFC
(PLCopen)
Unnamed tool prototype
Lukman et al.
2013
Elsevier Journal of Control
Engineering Practice
P&ID (any format) Manually
interpreted
ProcGraph DSML Translation of an
extended finite state
machine
61131-3 FBD + ST for
Mitsubishi PLC
ProcGraph Eclipse tooling
(EMF / GMF / oAW /
Mitsubishi GX IEC Developer)
Schumacher / Fay
2014
Elsevier Journal of Control
Engineering Practice
GRAFCET (IEC
60848) from Visio,
CIPN
Mapping between
GRAFCET & PNML
PNML (ISO/IEC 15909-2) 28 transformation rules
from GRACET to 61131-3
61131-3 SFC in
PLCopenXML
GRAFCET Editor & Translator
GrĂŒner / Weber /
Epple 2014
IEEE International
Conference on Industrial
Informatics
P&ID in PandIX
(RWTH Aachen),
CAEX
Import into Graph
Database
Neo4J Graph Database Matching rules (defined as
graph database queries)
ACPLT 61131-3 FBD Unnamed tool prototype
Vogel-Heuser et
al. 2014
Elsevier Journal on
Mechatronics
n/a n/a SysML-AT parametric
diagram
Model-to-text
transformation using
MOFM2T
61131-3 FBD / ST for
CODESYS
Unnamed tool prototype for
SysML-AT
Alvarez et al. 2018 IEEE Transactions on
Automation Science and
Engineering
MeiA_M Model
(self-defined meta
model)
DOU Generator
(M2M
transformation)
GRAFCET (IEC 60848) PLCopen converter
framework (M2T
transformation)
61131-3 SFC
(PLCopen)
Eclipse-based MeiA tooling
Control Logic Generation Approaches in Literature
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., & Jetley, R. (2020).
A classification framework for automated control code generation in industrial automation.
Elsevier Journal of Systems and Software, 166, 110575.
Slide 8
—
Rule-based Code Generation
September 1, 2022 Slide 9
Running Example
Rule (Verbose notation):
IF a vessel has a level sensor attached
AND there is a level sensor
„high alarm“ signal
THEN
close all valves
on pipes
feeding the vessel
B101
P106
P1
P3
P2
LS+
B102
TIC
B103
V102
V104
V105
Vessel
—
Rule-based Code Generation
September 1, 2022 Slide 10
Running Example
Rule (Verbose notation):
IF a vessel has a level sensor attached
AND there is a level sensor
„high alarm“ signal
THEN
close all valves
on pipes
feeding the vessel
B101
P106
P1
P3
P2
LS+
B102
TIC
B103
V102
V104
V105
Vessel
Generated IEC 61131-3 Structured Text:
IF B102_HHLimit = TRUE
THEN V102_Open := FALSE;
IF B102_HHLimit = TRUE
THEN V104_Open := FALSE;
—
Rule-based Code Generation
September 1, 2022 Slide 11
Running Example
B101
P106
P1
P3
P2
LS+
B102
TIC
B103
V102
V104
V105
Vessel
Generated IEC 61131-3 Structured Text:
IF B102_HHLimit = TRUE
THEN V102_Open := FALSE;
IF B102_HHLimit = TRUE
THEN V104_Open := FALSE;
Rule (short hand notation):
Vessel.AlarmLevelHigh
& VesselPipeValve
=> Valve.Close
—
Rule-based Code Generation
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R.
Rule-based code generationin industrial automation: four large-scale case studies applying the CAYENNE method.
Proceedings ICSE SEIP 2020 (pp. 152-161).
September 1, 2022 Slide 12
CAYENNE Topology Model for P&ID Import (simplified) CAYENNE Rule Specification Grammar (excerpt)
Our CAYENNE Approach
—
—
—
4 post-mortem, real-world case studies to analyze code generation feasibility
September 1, 2022 Slide 15
Oil Platform
Chemical Plant
Chemical Plant
Crude Oil Separator
—
—
—
Case Study
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R.
Rule-based code generationin industrial automation: four large-scale case studies applying the CAYENNE method.
Proceedings ICSE SEIP 2020 (pp. 152-161).
Slide 18
Results
—
Rule-based Code Generation
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R.
Rule-based code generationin industrial automation: four large-scale case studies applying the CAYENNE method.
Proceedings ICSE SEIP 2020 (pp. 152-161).
What is the most appropriate abstraction level
for a topology model to support code generation in
this context?
How to specify rules for other kinds of control
logic?
How to utilize topology models further
(e.g., generate process graphics, simulations, etc.)?
Open Research Questions
September 1, 2022 Slide 19
—
Continuous Deployment
Example: Plug & Produce Field Device Commissioning
—
Process Automation
September 1, 2022 https://library.e.abb.com/public/262ee24c3ad6de1bc125768f00411eba/ABB_SuccesStory_BASF_Oppanol_final.pdf
Slide 21
Many sensors and actuator to be installed and configured
—
—
Commissioning
1) Place, connect sensor („plug“)
2) Set fieldbus address
3) Retrieve sensor type
4) Select device package, download
5) Enter configuration parameters
6) Get addresses to logic engineering
7) Map program variables
8) Compile and download control logic
Repeat for all devices (go to 1)


Production start („produce“)
60 – 90 minutes per device!
—
60 – 90 minutes per device!
Commissioning
1) Place, connect sensor („plug“)
Production start („produce“)
60 – 90 minutes per device!
Target: <10 sec per device!
—
September 1, 2022 Slide 25
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Typical Control Loop Example
—
September 1, 2022 Slide 26
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Requirement 4:
Real-time
Communication
Requirement 3:
Automated Signal
Matching
Requirement 2:
Standardized Device
Descriptions
Requirement 1:
Automated Network
Discovery
Requirement 5:
Device Replacement
Plug & Produce
—
Plug & Produce
Microsoft “Plug & Play”/Windows95, 1995
ISO/IEC 29341-1-1: Universal Plug&Play (PnP) Device Architecture version 1.1, 2011
➔ Not suited for industrial devices with special communication protocols
[KrĂŒning2013]: Plug-and-produce for field bus components
[DĂŒrkop2013]: Using OPC UA for Auto Configuration of Real-time Ethernet Systems
[Hammerstingl2015]: Unified Plug&Produce architecture for automatic integration of field devices
➔ Still tied to proprietary protocols, no device replacement supported
[Garlan2014]: Motivating the need for more dynamic architecture due to rising number of IoT devices
[Muccini2016]: Self-adaptation for cyber-physical systems
[Alkhabbas2017]: Architecting Emergent Configuration in the Internet-of-Things
➔ Simple information models, not suited for resource-constrained devices
Generic
„Plug & Play”
Technologies
Industrial
„Plug & Produce“
Approaches
IoT Reference
Architectures
September 1, 2022 Slide 27
Related Work
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
—
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 28
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Open PnP Architecture
—
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 29
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
SERVER
CLIENT & SERVER
SERVER
Open PnP Architecture
—
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 30
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Plug & Produce
Software Service
SERVER
CLIENT & SERVER
SERVER
CLIENT
Open PnP Architecture
—
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 31
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Plug & Produce
Software Service
SERVER
CLIENT & SERVER
SERVER
CLIENT
Our Main Contribution
Open PnP Architecture
—
Open Platform Communications Unified Architecture (OPC UA), IEC 62541
http://industrial.embedded-computing.com/articles/iic-connectivity-framework-defines-iiot-network-architecture-for-scalable-interoperability/
Slide 32
September 1, 2022
—
OPC UA
September 1, 2022 https://reference.opcfoundation.org/v104/Core/docs/Part1/6.3.1/
Slide 33
Client/Server
—
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<information model>>
PLCOpen
OPC UA
LDS
<<information model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal config,
arbitrate 61131 Runtime
transfer configs,
browse signals,
enable subscr.
upload
control logic
monitor
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
multicast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
parameters
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
September 1, 2022 Slide 34
—
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<information model>>
PLCOpen
OPC UA
LDS
<<information model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal config,
arbitrate 61131 Runtime
transfer configs,
browse signals,
enable subscr.
upload
control logic
monitor
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
multicast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
parameters
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
September 1, 2022 Slide 35
—
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<information model>>
PLCOpen
OPC UA
LDS
<<information model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal config,
arbitrate 61131 Runtime
transfer configs,
browse signals,
enable subscr.
upload
control logic
monitor
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
multicast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
parameters
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
September 1, 2022 Slide 36
—
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<information model>>
PLCOpen
OPC UA
LDS
<<information model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal config,
arbitrate 61131 Runtime
transfer configs,
browse signals,
enable subscr.
upload
control logic
monitor
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
multicast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
parameters
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
September 1, 2022 Slide 37
—
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<information model>>
PLCOpen
OPC UA
LDS
<<information model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal config,
arbitrate 61131 Runtime
transfer configs,
browse signals,
enable subscr.
upload
control logic
monitor
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
multicast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
parameters
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
September 1, 2022 Slide 38
Requirement 1:
Automated
Network Discovery
Requirement 2:
Standardized Device
Descriptions
Requirement 3:
Automated
Signal Matching
Requirement 4:
Real-time
Communication
Requirement 5:
Device Replacement
—
Reference
Architecture
Plug & Produce
September 1, 2022 Slide 39
newState = suspended
Plug-and-
Produce Service
Controller
OPC UA Server
Device
OPC UA Server
Device
UA Server X
get subscribed devices
from pub/sub config in router
approve replacement get device configuration
device configuration
store device
configuration
stop device
change to simulation mode
loop
newState = simulated
get signal configuration
matched Signals
for all subscribing devices
announce new device via mDNS
upload stored configuration
change to running mode
loop
newState = running
rematch signals
acknowledge
resume controller
change to suspend mode
1
2
3
4
—
Implementation
Plug & Produce
September 1, 2022 Slide 40
Level
Sensor
Temperature
Sensor
Commu-
nication
Boards
Power
Supply
Ethernet
Connection
—
60 – 90 minutes per device!
Commissioning
1) Place, connect sensor („plug“)
Production start („produce“)
Target: <10 sec per device!
—
Time for Typical Commissioning
Effort Comparison
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 42
# Phases
Classic Approach
HART comm.
+ PC Tool Steps L M H
OpenPnP Approach
OPC UA comm. +
PnP Service Steps L M H
1 Prepare
replacing
Store config via HART,
unmount device
05:30 13:00 22:00 Store config via OPC
UA, unmount device
03:11 07:32 14:05
2 Mount the
device
physically
Prepare, use
accessories, fix the
device
05:00 20:00 40:00 Prepare, use
accessories, fix the
device
05:00 20:00 40:00
3 Connect
the cabling
Run cabling to device,
attach to device
05:30 09:00 21:00 Run cabling to device,
attach to device
05:30 09:00 21:00
4 Establish
basic
comm.
Power on, connect,
download device
package
00:43 01:18 03:38 Power on, network
discovery, connect via
OPC UA
00:11 00:21 00:46
5 Calibrate
the device
Manually use
calibration tool
00:00 03:00 04:30 Manually use
calibration tool
00:00 03:00 04:30
6 Set basic
parameters
Manually set basic
parameters via laptop
01:00 01:20 02:50 Automatically transfer
parameters
00:02 00:02 00:02
7 Set adv.
parameters
Manually set advanced
parameter via laptop
00:00 00:55 02:10 Manual set + automatic
transfer of parameters
00:00 00:12 00:42
8 Conduct
loop check
Set simulation value,
check loop back
00:20 00:40 01:10 Perform automatic
connection check
00:01 00:01 00:01
9 Integrate
device into
DCS
Map logic variables to
IO channels, download
logic
02:00 04:30 12:00 Discover controller, set
up, match signals, set
up communication
00:03 00:08 00:11
(Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17
(Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00
(Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47
Total sum
Installation time
Config time
—
Time for Typical Commissioning
Effort Comparison
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 43
# Phases
Classic Approach
HART comm.
+ PC Tool Steps L M H
OpenPnP Approach
OPC UA comm. +
PnP Service Steps L M H
1 Prepare
replacing
Store config via HART,
unmount device
05:30 13:00 22:00 Store config via OPC
UA, unmount device
03:11 07:32 14:05
2 Mount the
device
physically
Prepare, use
accessories, fix the
device
05:00 20:00 40:00 Prepare, use
accessories, fix the
device
05:00 20:00 40:00
3 Connect
the cabling
Run cabling to device,
attach to device
05:30 09:00 21:00 Run cabling to device,
attach to device
05:30 09:00 21:00
4 Establish
basic
comm.
Power on, connect,
download device
package
00:43 01:18 03:38 Power on, network
discovery, connect via
OPC UA
00:11 00:21 00:46
5 Calibrate
the device
Manually use
calibration tool
00:00 03:00 04:30 Manually use
calibration tool
00:00 03:00 04:30
6 Set basic
parameters
Manually set basic
parameters via laptop
01:00 01:20 02:50 Automatically transfer
parameters
00:02 00:02 00:02
7 Set adv.
parameters
Manually set advanced
parameter via laptop
00:00 00:55 02:10 Manual set + automatic
transfer of parameters
00:00 00:12 00:42
8 Conduct
loop check
Set simulation value,
check loop back
00:20 00:40 01:10 Perform automatic
connection check
00:01 00:01 00:01
9 Integrate
device into
DCS
Map logic variables to
IO channels, download
logic
02:00 04:30 12:00 Discover controller, set
up, match signals, set
up communication
00:03 00:08 00:11
(Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17
(Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00
(Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47
Total sum
Installation time
Config time
—
Time for Typical Commissioning
Effort Comparison
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 44
# Phases
Classic Approach
HART comm.
+ PC Tool Steps L M H
OpenPnP Approach
OPC UA comm. +
PnP Service Steps L M H
1 Prepare
replacing
Store config via HART,
unmount device
05:30 13:00 22:00 Store config via OPC
UA, unmount device
03:11 07:32 14:05
2 Mount the
device
physically
Prepare, use
accessories, fix the
device
05:00 20:00 40:00 Prepare, use
accessories, fix the
device
05:00 20:00 40:00
3 Connect
the cabling
Run cabling to device,
attach to device
05:30 09:00 21:00 Run cabling to device,
attach to device
05:30 09:00 21:00
4 Establish
basic
comm.
Power on, connect,
download device
package
00:43 01:18 03:38 Power on, network
discovery, connect via
OPC UA
00:11 00:21 00:46
5 Calibrate
the device
Manually use
calibration tool
00:00 03:00 04:30 Manually use
calibration tool
00:00 03:00 04:30
6 Set basic
parameters
Manually set basic
parameters via laptop
01:00 01:20 02:50 Automatically transfer
parameters
00:02 00:02 00:02
7 Set adv.
parameters
Manually set advanced
parameter via laptop
00:00 00:55 02:10 Manual set + automatic
transfer of parameters
00:00 00:12 00:42
8 Conduct
loop check
Set simulation value,
check loop back
00:20 00:40 01:10 Perform automatic
connection check
00:01 00:01 00:01
9 Integrate
device into
DCS
Map logic variables to
IO channels, download
logic
02:00 04:30 12:00 Discover controller, set
up, match signals, set
up communication
00:03 00:08 00:11
(Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17
(Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00
(Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47
Total sum
Installation time
Config time
—
Up to 90% reduced efforts for config
‱ Automated transfer of parameters
‱ Automated identification of devices
‱ Automated signal matching of devices
‱ Faster Ethernet communication
For a plant with 10,000 devices,
this can accumulate to 1500h time saving
(≈ 1 person year).
Time for Typical Commissioning
Effort Comparison
September 1, 2022
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 45
# Phases
Classic Approach
HART comm.
+ PC Tool Steps L M H
OpenPnP Approach
OPC UA comm. +
PnP Service Steps L M H
1 Prepare
replacing
Store config via HART,
unmount device
05:30 13:00 22:00 Store config via OPC
UA, unmount device
03:11 07:32 14:05
2 Mount the
device
physically
Prepare, use
accessories, fix the
device
05:00 20:00 40:00 Prepare, use
accessories, fix the
device
05:00 20:00 40:00
3 Connect
the cabling
Run cabling to device,
attach to device
05:30 09:00 21:00 Run cabling to device,
attach to device
05:30 09:00 21:00
4 Establish
basic
comm.
Power on, connect,
download device
package
00:43 01:18 03:38 Power on, network
discovery, connect via
OPC UA
00:11 00:21 00:46
5 Calibrate
the device
Manually use
calibration tool
00:00 03:00 04:30 Manually use
calibration tool
00:00 03:00 04:30
6 Set basic
parameters
Manually set basic
parameters via laptop
01:00 01:20 02:50 Automatically transfer
parameters
00:02 00:02 00:02
7 Set adv.
parameters
Manually set advanced
parameter via laptop
00:00 00:55 02:10 Manual set + automatic
transfer of parameters
00:00 00:12 00:42
8 Conduct
loop check
Set simulation value,
check loop back
00:20 00:40 01:10 Perform automatic
connection check
00:01 00:01 00:01
9 Integrate
device into
DCS
Map logic variables to
IO channels, download
logic
02:00 04:30 12:00 Discover controller, set
up, match signals, set
up communication
00:03 00:08 00:11
(Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17
(Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00
(Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47
Total sum
Installation time
Config time
—
Performance Measurements
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
Slide 46
CPU Utilization
Pub/sub:
40,000 signals/s
Client/server (1 client):
25,000 signals/s
Client/server (30 clients):
10,000 signals/s
Exemplary control use case
– 6,000 I/O points with 100ms updates (= 60,000 signals/s)
– 2 controllers share 8 field communication interfaces (FCIs)
Industrial
controllers
Sensors &
actuators
Field comm.
interfaces

 








 

September 1, 2022
CPU is bottleneck.
But good scalability even on small devices.
Clients/Subscribers:
Raspberry Pi 3, Model B,
Quad Core 1.2GHz 64bit CPU,
1GB RAM, RTLinux
Server/Publisher:
Raspberry Pi Zero,
1GHz single-core CPU,
512MB RAM, RTLinux
—
Plug & Produce Field Device Commissioning
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
September 1, 2022 Slide 47
How to synthesize device configurations
by exploring “digital twin” models or surrounding
devices?
How to lift the Plug&Produce approach
from individual devices to entire plant segments?
How to simulate device behavior
before commissioning a device to aid control logic
testing?
Open Research Questions
—
Cloud-native Infrastructures
Example: Bump-less updates & live migrations using container orchestration
—
Operations
How can a plant operator
update the control logic
without interrupting the production process?
—
Real-time Controller
Control Application for Industrial Boiler
September 1, 2022 Slide 50
Filling
Level
Valve Opening Signal Valve Opening Signal
Sensor
Boiler
How to update
the control logic
without interrupting
the production?
—
Internal State in Control Logic Applications
September 1, 2022 Slide 51
Koziolek, H., Burger, A., Abdulla, P. P., RĂŒckert, J., Sonar, S., & Rodriguez, P. (2021, September). Dynamic Updates of Virtual PLCs Deployed as
KubernetesMicroservices. In European Conference on Software Architecture (pp. 3-19). Springer, Cham.
P&I diagram
—
Related Work
[Wahler2009]: Dynamic software updates for real-time systems
[Wahler2014]: Disruption-free software updates in automation systems
[Prenzel2017]: Dynamic software updating of iec 61499 implementation using erlang runtime system
➔ No container deployment, no update of runtimes / operating system
[Moga2016]: OS-level virtualization for industrial automation systems: Are we there yet?
[Goldschmidt2018]: Container-based architecture for flexible control applications
[Sollfrank2020]: Evaluating docker for virtualization in industrial automation
➔ Demonstrated PLC logic in containers with acceptable jitter
[Netto2017]: State machine replication in containers managed by kubernetes
[Vayghan2019]: Towards high-availability for stateful applications with kubernetes
[Oh2018]: Stateful container migration employing checkpoint-based restoration
➔ No cyclic control application, simple internal states
Dynamic
Software
Updates
Virtual PLCs
in Container
Environments
State Replication
in Container
Orchestration
Engines
September 1, 2022 Slide 52
—
Control Application for Industrial Boiler
September 1, 2022 Slide 53
Sensor
Valve Opening Signal
Filling
Level
Valve Opening Signal
Boiler
How to update
the control logic
without interrupting
the production?
Real-time Controller
—
Contribution
September 1, 2022 Slide 54
Sensor
Valve Opening Signal
Filling
Level
Valve Opening Signal
Boiler
How to update
the control logic
without interrupting
the production?
Real-time Controller
—
Contribution
September 1, 2022 Slide 55
Sensor
Filling
Level
Boiler
How to update
the control logic
without interrupting
the production?
Kubernetes Cluster
<<docker>>
Updated
Virtual
PLC
<<docker>>
Original
Virtual
PLC
State Transfer (OPC UA)
Valve Opening Signal Valve Opening Signal
Koziolek, H., Burger, A., PP, A.
Fast State Transfer for Updates of Containerized Industrial Control Applications
Submitted to Elsevier Journal of Systems and Software 2022 (Special Issue on ECSA 2021)
—
Kubernetes
September 1, 2022 Slide 56
Architecture
Control Plane
Node
kube-ctrl-manager
kube-apiserver
kube-scheduler
etcd
Kubernetes
Operator
Custom
Resource
User
$ kubectl apply –f myCluster.yaml
Application Plane
Node
Pod
Container
Container
Node
Pod
Container
Node
Pod
Container
—
Static Architecture
September 1, 2022 Slide 57
cmp LEG Component Diagram
Master
Worker 1
«k8s custom operator / pod /container»
Virtual PLC Operator
OPC UA
Signal Inputs
«virtual-plc-pod / container»
PLC Runtime System
OPC UA
Configuration
OPC UA
Signal Inputs
OPC UA Signal
Outputs
«iec 61131-3»
PLC Program
Internal
State
«K8s custom controller»
Virtual PLC Controller
Kube API
Server
etcd
Scheduler
kubelet kube-proxy
Kubectl / APIs /
Dashboard
Operator
Worker 2
OPC UA
Signal Inputs
«virtual-plc-pod / container»
PLC Runtime System
OPC UA
Configuration
OPC UA
Signal Inputs
OPC UA Signal
Outputs
«iec 61131-3»
PLC Program
Internal
State
kubelet kube-proxy
Engineering Tool
Operator /
Automation Engineer
get/set state
get/set state
upload new
PLC program
monitors monitors
upload new
PLC program
Koziolek, Heiko, Andreas Burger, P. P.
Abdulla, Julius RĂŒckert, Shardul Sonar, and
Pablo Rodriguez. "Dynamic Updates of
Virtual PLCs Deployed as Kubernetes
Microservices." In European Conference on
Software Architecture, pp. 3-19. Springer,
Cham, 2021.
—
Dynamic
Flow
September 1, 2022 Slide 58
act Dynamic View
PLC Runtime System 2
PLC Runtime System 1
Virtual PLC Kubernetes Controller
3. Connect to both
PLC Runtime Systems
via OPC UA
4. Pause both PLC
Runtime Systems
5. Extract Internal State &
Serialize it
6. Retrieve Serialized
State
7. Retrieve Serialized
State
8. Deserialize & Extract
Internal State
13. Disable outputs
on PLC Runtime
Service 1
14. Enable outputs
on PLC Runtime 2
Success
9. Unpause both PLC
Runtime Systems
Not time-critical
Time-critical
Legend
1. Detect update request
2. Start up PLC Runtime
System 2
11. Verify correct
behavior
12. Roll back
update:
stop PLC Runtime 2,
inform user
Failure
Correct
Incorrect
Needs to
complete in less
than cycle slack
time (e.g., 90 ms)
Koziolek, Heiko, Andreas Burger, P. P.
Abdulla, Julius RĂŒckert, Shardul Sonar, and
Pablo Rodriguez. "Dynamic Updates of
Virtual PLCs Deployed as Kubernetes
Microservices." In European Conference on
Software Architecture, pp. 3-19. Springer,
Cham, 2021.
—
—
Case Study
September 1, 2022
https://secolon.de/P172.pdf
https://en.wikipedia.org/wiki/Melk%C3%B8ya#/media/File:Melk%C3%B8ya-2006.JPG
Slide 60
Liquid Natural Gas Plant with 18 controllers, up to 100K internal state variables per controller
—
State Transfer Execution Time
September 1, 2022 Slide 61
Koziolek, H., Burger, A., PP, A.
Fast State Transfer for Updates of Containerized Industrial Control Applications
Submitted to Elsevier Journal of Systems and Software 2022 (Special Issue on ECSA 2021)
—
State Transfer Execution Time
Koziolek, H., Burger, A., PP, A.
Fast State Transfer for Updates of Containerized Industrial Control Applications
Submitted to Elsevier Journal of Systems and Software 2022 (Special Issue on ECSA 2021)
September 1, 2022 Slide 62
—
Cloud-native Process Control Systems
September 1, 2022 Slide 63
What are the practical limits of transferring internal
state in multiple chunks to make updates even
more flexible?
How to transfer cloud-native technologies to the
industrial domain, given challenging performance,
reliability and security requirements?
How far can cloud-native technologies extend to
resource-constrained computing devices with
limited CPU and memory?
Open Research Questions
—
Software Architecture Research at ABB
—
Summary (1/3)
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R.
Rule-based code generationin industrial automation: four large-scale case studiesapplying the CAYENNE method.
In IEEE/ACM 42nd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP 2020)
September 1, 2022 Slide 65
Rule-based Code Generation Open Questions
What is the most appropriate abstraction level
for a topology model to support code generation in
this context?
How to specify rules for other kinds of control
logic?
How to utilize topology models further (generate
process graphics, simulations, etc.)?
Model Driven Development
—
Summary (2/3)
Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G.
OpenPnP: a plug-and-produce architecture for the industrial internet of things.
In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
September 1, 2022 Slide 66
Plug & Produce Field Device Commissioning Open Questions
How to synthesize device configurations
by exploring “digital twin” models or surrounding
devices?
How to lift the Plug&Produce approach
from individual devices to entire plant segments?
How to simulate device behavior
before commissioning a device to aid control logic
testing?
Continuous Deployment
—
Summary (3/3)
Koziolek, H., Burger, A., PP, A.
Fast State Transfer for Updates of Containerized Industrial Control Applications
Submitted to Elsevier Journal of Systems and Software 2022 (Special Issue on ECSA 2021)
September 1, 2022 Slide 67
Bump-less updates using container orchestration Open Questions
What are the practical limits of transferring internal
state in multiple chunks to make updates even
more flexible?
How to transfer cloud-native technologies to the
industrial domain, given challenging performance,
reliability and security requirements?
How far can cloud-native technologies extend to
resource-constrained computing devices with
limited CPU and memory?
Cloud-native Infrastructures
—
Software Engineering
Trends relevant in Process Automation
Low-code Development
Continuous Integration & Deployment
Cloud-native Infrastructures
Microservices for Control Apps
Model-driven Development
Industrial-strength Cyber Security
Digital Industry
Key technologies for
autonomous industrial
systems
Smart & Sustainable Electrification
Smarter and more flexible energy
distribution and energy
management
—
ABB Research
Open Positions
(Senior) Research Scientist
(m/f/d) for Software
Engineering
(Senior) Research Scientist
(m/f/d) for System and
Software Architecture
Internship (m/f/d)
Software Engineer
Internship (m/f/d)
Future Industrial Connectivity
abb.com/jobs
Software Architecture Challenges in Process Automation - From Code Generation to Cloud-native Service Orchestration

More Related Content

Similar to Software Architecture Challenges in Process Automation - From Code Generation to Cloud-native Service Orchestration

Self-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsSelf-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsHeiko Koziolek
 
industrialautomation-150113002434-conversion-gate01.pdf
industrialautomation-150113002434-conversion-gate01.pdfindustrialautomation-150113002434-conversion-gate01.pdf
industrialautomation-150113002434-conversion-gate01.pdfRobin8015873726
 
industrial automation
industrial automationindustrial automation
industrial automationSatish Kumar
 
Allen Bradley PLC V/S Siemens PLC
Allen Bradley PLC V/S Siemens PLCAllen Bradley PLC V/S Siemens PLC
Allen Bradley PLC V/S Siemens PLCpaperpublications3
 
Proof energy@work midih oc2-demo_day
Proof energy@work midih oc2-demo_dayProof energy@work midih oc2-demo_day
Proof energy@work midih oc2-demo_dayMIDIH_EU
 
Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"Heiko Koziolek
 
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...Design World
 
Development of Software for Estimation of Structural Dynamic Characteristics ...
Development of Software for Estimation of Structural Dynamic Characteristics ...Development of Software for Estimation of Structural Dynamic Characteristics ...
Development of Software for Estimation of Structural Dynamic Characteristics ...IRJET Journal
 
Resume - Swapnil Shewalkar (1)
Resume - Swapnil Shewalkar (1)Resume - Swapnil Shewalkar (1)
Resume - Swapnil Shewalkar (1)Swapnil Shewalkar
 
William Impey CV
William Impey CVWilliam Impey CV
William Impey CVWill Impey
 
Semantic Web for Advanced Engineering
Semantic Web for Advanced EngineeringSemantic Web for Advanced Engineering
Semantic Web for Advanced EngineeringMarta Sabou
 
Induction Motor Protection Using PLC
Induction Motor Protection Using PLCInduction Motor Protection Using PLC
Induction Motor Protection Using PLCvivatechijri
 
B5 g2 enhanced+protection+functionality+with+iec+61850+and+goose
B5 g2 enhanced+protection+functionality+with+iec+61850+and+gooseB5 g2 enhanced+protection+functionality+with+iec+61850+and+goose
B5 g2 enhanced+protection+functionality+with+iec+61850+and+gooseOmeal Ahmed
 
To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...
To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...
To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...ijsrd.com
 
Design the implementation of CDEx Robust DC Motor.
Design the implementation of CDEx Robust DC Motor.Design the implementation of CDEx Robust DC Motor.
Design the implementation of CDEx Robust DC Motor.Ankita Tiwari
 
Programming embedded systems ii
Programming embedded systems iiProgramming embedded systems ii
Programming embedded systems iivtsplgroup
 
Builconn20071131 Presentation Jcd
Builconn20071131 Presentation JcdBuilconn20071131 Presentation Jcd
Builconn20071131 Presentation JcdCABA
 
Prayat hegde resume_firmware_embedded
Prayat hegde resume_firmware_embeddedPrayat hegde resume_firmware_embedded
Prayat hegde resume_firmware_embeddedPrayat Hegde
 
Feasible Interfacing and Programming of Industrial Control Technology Unit wi...
Feasible Interfacing and Programming of Industrial Control Technology Unit wi...Feasible Interfacing and Programming of Industrial Control Technology Unit wi...
Feasible Interfacing and Programming of Industrial Control Technology Unit wi...theijes
 

Similar to Software Architecture Challenges in Process Automation - From Code Generation to Cloud-native Service Orchestration (20)

Self-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsSelf-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT Systems
 
industrialautomation-150113002434-conversion-gate01.pdf
industrialautomation-150113002434-conversion-gate01.pdfindustrialautomation-150113002434-conversion-gate01.pdf
industrialautomation-150113002434-conversion-gate01.pdf
 
industrial automation
industrial automationindustrial automation
industrial automation
 
CV-January 2017
CV-January 2017CV-January 2017
CV-January 2017
 
Allen Bradley PLC V/S Siemens PLC
Allen Bradley PLC V/S Siemens PLCAllen Bradley PLC V/S Siemens PLC
Allen Bradley PLC V/S Siemens PLC
 
Proof energy@work midih oc2-demo_day
Proof energy@work midih oc2-demo_dayProof energy@work midih oc2-demo_day
Proof energy@work midih oc2-demo_day
 
Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"
 
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
 
Development of Software for Estimation of Structural Dynamic Characteristics ...
Development of Software for Estimation of Structural Dynamic Characteristics ...Development of Software for Estimation of Structural Dynamic Characteristics ...
Development of Software for Estimation of Structural Dynamic Characteristics ...
 
Resume - Swapnil Shewalkar (1)
Resume - Swapnil Shewalkar (1)Resume - Swapnil Shewalkar (1)
Resume - Swapnil Shewalkar (1)
 
William Impey CV
William Impey CVWilliam Impey CV
William Impey CV
 
Semantic Web for Advanced Engineering
Semantic Web for Advanced EngineeringSemantic Web for Advanced Engineering
Semantic Web for Advanced Engineering
 
Induction Motor Protection Using PLC
Induction Motor Protection Using PLCInduction Motor Protection Using PLC
Induction Motor Protection Using PLC
 
B5 g2 enhanced+protection+functionality+with+iec+61850+and+goose
B5 g2 enhanced+protection+functionality+with+iec+61850+and+gooseB5 g2 enhanced+protection+functionality+with+iec+61850+and+goose
B5 g2 enhanced+protection+functionality+with+iec+61850+and+goose
 
To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...
To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...
To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...
 
Design the implementation of CDEx Robust DC Motor.
Design the implementation of CDEx Robust DC Motor.Design the implementation of CDEx Robust DC Motor.
Design the implementation of CDEx Robust DC Motor.
 
Programming embedded systems ii
Programming embedded systems iiProgramming embedded systems ii
Programming embedded systems ii
 
Builconn20071131 Presentation Jcd
Builconn20071131 Presentation JcdBuilconn20071131 Presentation Jcd
Builconn20071131 Presentation Jcd
 
Prayat hegde resume_firmware_embedded
Prayat hegde resume_firmware_embeddedPrayat hegde resume_firmware_embedded
Prayat hegde resume_firmware_embedded
 
Feasible Interfacing and Programming of Industrial Control Technology Unit wi...
Feasible Interfacing and Programming of Industrial Control Technology Unit wi...Feasible Interfacing and Programming of Industrial Control Technology Unit wi...
Feasible Interfacing and Programming of Industrial Control Technology Unit wi...
 

More from SEAA 2022

Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...SEAA 2022
 
Bad Smells in Industrial Automation: Sniffing out Feature Envy
Bad Smells in Industrial Automation: Sniffing out Feature EnvyBad Smells in Industrial Automation: Sniffing out Feature Envy
Bad Smells in Industrial Automation: Sniffing out Feature EnvySEAA 2022
 
From Traditional to Digital: How software, data and AI are transforming the e...
From Traditional to Digital: How software, data and AI are transforming the e...From Traditional to Digital: How software, data and AI are transforming the e...
From Traditional to Digital: How software, data and AI are transforming the e...SEAA 2022
 
Exploiting dynamic analysis for architectural smell detection: a preliminary ...
Exploiting dynamic analysis for architectural smell detection: a preliminary ...Exploiting dynamic analysis for architectural smell detection: a preliminary ...
Exploiting dynamic analysis for architectural smell detection: a preliminary ...SEAA 2022
 
On the Role of Personality Traits in Implementation Tasks: A Preliminary Inve...
On the Role of Personality Traits in Implementation Tasks: A Preliminary Inve...On the Role of Personality Traits in Implementation Tasks: A Preliminary Inve...
On the Role of Personality Traits in Implementation Tasks: A Preliminary Inve...SEAA 2022
 
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...SEAA 2022
 
Have Java Production Methods Co-Evolved With Test Methods Properly?: A Fine-G...
Have Java Production Methods Co-Evolved With Test Methods Properly?: A Fine-G...Have Java Production Methods Co-Evolved With Test Methods Properly?: A Fine-G...
Have Java Production Methods Co-Evolved With Test Methods Properly?: A Fine-G...SEAA 2022
 
A Preliminary Conceptualization and Analysis on Automated Static Analysis Too...
A Preliminary Conceptualization and Analysis on Automated Static Analysis Too...A Preliminary Conceptualization and Analysis on Automated Static Analysis Too...
A Preliminary Conceptualization and Analysis on Automated Static Analysis Too...SEAA 2022
 
An Evaluation of Effort-Aware Fine-Grained Just-in-Time Defect Prediction Met...
An Evaluation of Effort-Aware Fine-Grained Just-in-Time Defect Prediction Met...An Evaluation of Effort-Aware Fine-Grained Just-in-Time Defect Prediction Met...
An Evaluation of Effort-Aware Fine-Grained Just-in-Time Defect Prediction Met...SEAA 2022
 
The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial ...
The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial ...The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial ...
The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial ...SEAA 2022
 
Service Classification through Machine Learning: Aiding in the Efficient Ide...
 Service Classification through Machine Learning: Aiding in the Efficient Ide... Service Classification through Machine Learning: Aiding in the Efficient Ide...
Service Classification through Machine Learning: Aiding in the Efficient Ide...SEAA 2022
 
Maintainability Challenges inML:ASLR
Maintainability Challenges inML:ASLRMaintainability Challenges inML:ASLR
Maintainability Challenges inML:ASLRSEAA 2022
 
Model-Driven Optimization: Generating Smart Mutation Operators for Multi-Obj...
 Model-Driven Optimization: Generating Smart Mutation Operators for Multi-Obj... Model-Driven Optimization: Generating Smart Mutation Operators for Multi-Obj...
Model-Driven Optimization: Generating Smart Mutation Operators for Multi-Obj...SEAA 2022
 
An Industrial Experience Report about Challenges from Continuous Monitoring, ...
An Industrial Experience Report about Challenges from Continuous Monitoring, ...An Industrial Experience Report about Challenges from Continuous Monitoring, ...
An Industrial Experience Report about Challenges from Continuous Monitoring, ...SEAA 2022
 
API Deprecation: A Systematic Mapping Study
API Deprecation: A Systematic Mapping StudyAPI Deprecation: A Systematic Mapping Study
API Deprecation: A Systematic Mapping StudySEAA 2022
 
MDEML_UMLsec4Edge Extending UMLsec to model data-protection-compliant edge co...
MDEML_UMLsec4Edge Extending UMLsec to model data-protection-compliant edge co...MDEML_UMLsec4Edge Extending UMLsec to model data-protection-compliant edge co...
MDEML_UMLsec4Edge Extending UMLsec to model data-protection-compliant edge co...SEAA 2022
 
EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
 EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
EMMM: A Unified Meta-Model for Tracking Machine Learning ExperimentsSEAA 2022
 
Easing the Reuse of ML Solutions by Interactive Clustering-based Autotuning i...
Easing the Reuse of ML Solutions by Interactive Clustering-based Autotuning i...Easing the Reuse of ML Solutions by Interactive Clustering-based Autotuning i...
Easing the Reuse of ML Solutions by Interactive Clustering-based Autotuning i...SEAA 2022
 

More from SEAA 2022 (18)

Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
 
Bad Smells in Industrial Automation: Sniffing out Feature Envy
Bad Smells in Industrial Automation: Sniffing out Feature EnvyBad Smells in Industrial Automation: Sniffing out Feature Envy
Bad Smells in Industrial Automation: Sniffing out Feature Envy
 
From Traditional to Digital: How software, data and AI are transforming the e...
From Traditional to Digital: How software, data and AI are transforming the e...From Traditional to Digital: How software, data and AI are transforming the e...
From Traditional to Digital: How software, data and AI are transforming the e...
 
Exploiting dynamic analysis for architectural smell detection: a preliminary ...
Exploiting dynamic analysis for architectural smell detection: a preliminary ...Exploiting dynamic analysis for architectural smell detection: a preliminary ...
Exploiting dynamic analysis for architectural smell detection: a preliminary ...
 
On the Role of Personality Traits in Implementation Tasks: A Preliminary Inve...
On the Role of Personality Traits in Implementation Tasks: A Preliminary Inve...On the Role of Personality Traits in Implementation Tasks: A Preliminary Inve...
On the Role of Personality Traits in Implementation Tasks: A Preliminary Inve...
 
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
 
Have Java Production Methods Co-Evolved With Test Methods Properly?: A Fine-G...
Have Java Production Methods Co-Evolved With Test Methods Properly?: A Fine-G...Have Java Production Methods Co-Evolved With Test Methods Properly?: A Fine-G...
Have Java Production Methods Co-Evolved With Test Methods Properly?: A Fine-G...
 
A Preliminary Conceptualization and Analysis on Automated Static Analysis Too...
A Preliminary Conceptualization and Analysis on Automated Static Analysis Too...A Preliminary Conceptualization and Analysis on Automated Static Analysis Too...
A Preliminary Conceptualization and Analysis on Automated Static Analysis Too...
 
An Evaluation of Effort-Aware Fine-Grained Just-in-Time Defect Prediction Met...
An Evaluation of Effort-Aware Fine-Grained Just-in-Time Defect Prediction Met...An Evaluation of Effort-Aware Fine-Grained Just-in-Time Defect Prediction Met...
An Evaluation of Effort-Aware Fine-Grained Just-in-Time Defect Prediction Met...
 
The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial ...
The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial ...The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial ...
The Impact of Forced Working-From-Home on Code Technical Debt: An Industrial ...
 
Service Classification through Machine Learning: Aiding in the Efficient Ide...
 Service Classification through Machine Learning: Aiding in the Efficient Ide... Service Classification through Machine Learning: Aiding in the Efficient Ide...
Service Classification through Machine Learning: Aiding in the Efficient Ide...
 
Maintainability Challenges inML:ASLR
Maintainability Challenges inML:ASLRMaintainability Challenges inML:ASLR
Maintainability Challenges inML:ASLR
 
Model-Driven Optimization: Generating Smart Mutation Operators for Multi-Obj...
 Model-Driven Optimization: Generating Smart Mutation Operators for Multi-Obj... Model-Driven Optimization: Generating Smart Mutation Operators for Multi-Obj...
Model-Driven Optimization: Generating Smart Mutation Operators for Multi-Obj...
 
An Industrial Experience Report about Challenges from Continuous Monitoring, ...
An Industrial Experience Report about Challenges from Continuous Monitoring, ...An Industrial Experience Report about Challenges from Continuous Monitoring, ...
An Industrial Experience Report about Challenges from Continuous Monitoring, ...
 
API Deprecation: A Systematic Mapping Study
API Deprecation: A Systematic Mapping StudyAPI Deprecation: A Systematic Mapping Study
API Deprecation: A Systematic Mapping Study
 
MDEML_UMLsec4Edge Extending UMLsec to model data-protection-compliant edge co...
MDEML_UMLsec4Edge Extending UMLsec to model data-protection-compliant edge co...MDEML_UMLsec4Edge Extending UMLsec to model data-protection-compliant edge co...
MDEML_UMLsec4Edge Extending UMLsec to model data-protection-compliant edge co...
 
EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
 EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
EMMM: A Unified Meta-Model for Tracking Machine Learning Experiments
 
Easing the Reuse of ML Solutions by Interactive Clustering-based Autotuning i...
Easing the Reuse of ML Solutions by Interactive Clustering-based Autotuning i...Easing the Reuse of ML Solutions by Interactive Clustering-based Autotuning i...
Easing the Reuse of ML Solutions by Interactive Clustering-based Autotuning i...
 

Recently uploaded

Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physicsvishikhakeshava1
 
CALL ON ➄8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service đŸȘĄ
CALL ON ➄8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  đŸȘĄCALL ON ➄8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  đŸȘĄ
CALL ON ➄8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service đŸȘĄanilsa9823
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsssuserddc89b
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Jshifa
 
The Black hole shadow in Modified Gravity
The Black hole shadow in Modified GravityThe Black hole shadow in Modified Gravity
The Black hole shadow in Modified GravitySubhadipsau21168
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaDashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaPraksha3
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSĂ©rgio Sacani
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Module 4: Mendelian Genetics and Punnett Square
Module 4:  Mendelian Genetics and Punnett SquareModule 4:  Mendelian Genetics and Punnett Square
Module 4: Mendelian Genetics and Punnett SquareIsiahStephanRadaza
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...SĂ©rgio Sacani
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Nistarini College, Purulia (W.B) India
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 

Recently uploaded (20)

Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physics
 
CALL ON ➄8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service đŸȘĄ
CALL ON ➄8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  đŸȘĄCALL ON ➄8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  đŸȘĄ
CALL ON ➄8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service đŸȘĄ
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physics
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)
 
The Black hole shadow in Modified Gravity
The Black hole shadow in Modified GravityThe Black hole shadow in Modified Gravity
The Black hole shadow in Modified Gravity
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaDashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
Module 4: Mendelian Genetics and Punnett Square
Module 4:  Mendelian Genetics and Punnett SquareModule 4:  Mendelian Genetics and Punnett Square
Module 4: Mendelian Genetics and Punnett Square
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 

Software Architecture Challenges in Process Automation - From Code Generation to Cloud-native Service Orchestration

  • 1. — From Code Generation to Cloud-native Service Orchestration SEAA 2022, 2022-08-31 Software Architecture Challenges in Process Automation Dr.-Ing. Heiko Koziolek, Corporate Research Fellow, ABB, Germany
  • 2. Electrification Motion Process Automation Robotics & Discrete Automation — ABB Business Areas
  • 3. — Software Engineering Trends relevant in Process Automation Low-code Development Continuous Integration & Deployment Cloud-native Infrastructures Microservices for Control Apps Model-driven Development Industrial-strength Cyber Security
  • 6. — Piping & Instrumentation Diagram Tank Heat Exchanger Heat Exchanger Sensors
  • 7. — Hundreds of P&I diagrams Today: manual programming Future: semi-automated programming September 1, 2022 Slide 7 Idea: Rule-based Code Generation T102 T101 V-1 V-2 V-3 V-4 NC 101.8 P-1 P-2 P-3 P-4 P-5 P-6 UC 101.7 LI 102.1 P-7 P-9 P-8 P-10 M P-11 P-12 YS 103.1 YS 101.5 YS 103.2 LAS+ 101.4 LS+ 101.1 TI 101.2 LS- 101.3 LS- 102.2 YS 101.9 E104 FI 101.6 Object-oriented Topology Model (DEXPI standard) Rule Engine PROGRAM ValveControl VAR_INPUT TankLevel : REAL ; END_VAR VAR_OUTPUT ValveOpen : BOOL ; END_VAR IF ( TankLevel > 50.0) THEN ValveOpen := FALSE ; ELSE ValveOpen := TRUE ; END_IF END_PROGRAM IEC 61131-3 PDF File or Print-out PROGRAM ValveControl VAR_INPUT TankLevel : REAL ; END_VAR VAR_OUTPUT ValveOpen : BOOL ; END_VAR IF ( TankLevel > 50.0) THEN ValveOpen := FALSE ; ELSE ValveOpen := TRUE ; END_IF END_PROGRAM IEC 61131-3 Control Logic Implementation Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R. Rule-based code generationin industrial automation: four large-scale case studies applying the CAYENNE method. Proceedings ICSE SEIP 2020 (pp. 152-161).
  • 8. — Approach Venue Inputs / Sources Intermediate translation Intermediate Input Generation Method Output Tooling Vogel-Heuser et al. 2005 IEEE Int. Conf. on Control and Automation n/a n/a UML 1.4, UML-PA, Artisan Realtime Studio Mapping UML to IEC 61131-3 61131-SFC / ST Unnamed tool prototype using Artisan Realtime Studio Drath / Fay 2006 IEEE Conf. on Computer Aided Control Systems Design P&ID in CAEX (IEC 62424) Transformation from CAEX to LogiX LogiX extension for CAEX Matching rules from a knowledge base C&E Matrix, 61131-3 ST / FBD for ABB Controller Unnamed tool prototype Thramboulidis / Frey 2011 SciRes Journal on Software Engineering and Applications P&ID in CAEX (IEC 62424) Proposed CAEX2SysML Transformator SysML block definition diagrams, internal block diagram Translation of SysML block diagrams to 61131-3 via SysML Profile 61131-3 (PLCopen) SysML4IEC61131 Profile, SysML2IEC61131 Translator, MARTE Profile (unfinished) Steinegger / Zoitl 2012, 2016, 2017 IEEE Int. Conf. On Emerging Technologies and Factory Automation P&ID in CAEX (IEC 62424) Automated mapping by parsing XML inputs Reference Ontology (self-defined) Translation of ISA-88 recipes, generation based on safety rules 61131-3 SFC (PLCopen) Unnamed tool prototype Lukman et al. 2013 Elsevier Journal of Control Engineering Practice P&ID (any format) Manually interpreted ProcGraph DSML Translation of an extended finite state machine 61131-3 FBD + ST for Mitsubishi PLC ProcGraph Eclipse tooling (EMF / GMF / oAW / Mitsubishi GX IEC Developer) Schumacher / Fay 2014 Elsevier Journal of Control Engineering Practice GRAFCET (IEC 60848) from Visio, CIPN Mapping between GRAFCET & PNML PNML (ISO/IEC 15909-2) 28 transformation rules from GRACET to 61131-3 61131-3 SFC in PLCopenXML GRAFCET Editor & Translator GrĂŒner / Weber / Epple 2014 IEEE International Conference on Industrial Informatics P&ID in PandIX (RWTH Aachen), CAEX Import into Graph Database Neo4J Graph Database Matching rules (defined as graph database queries) ACPLT 61131-3 FBD Unnamed tool prototype Vogel-Heuser et al. 2014 Elsevier Journal on Mechatronics n/a n/a SysML-AT parametric diagram Model-to-text transformation using MOFM2T 61131-3 FBD / ST for CODESYS Unnamed tool prototype for SysML-AT Alvarez et al. 2018 IEEE Transactions on Automation Science and Engineering MeiA_M Model (self-defined meta model) DOU Generator (M2M transformation) GRAFCET (IEC 60848) PLCopen converter framework (M2T transformation) 61131-3 SFC (PLCopen) Eclipse-based MeiA tooling Control Logic Generation Approaches in Literature September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., & Jetley, R. (2020). A classification framework for automated control code generation in industrial automation. Elsevier Journal of Systems and Software, 166, 110575. Slide 8
  • 9. — Rule-based Code Generation September 1, 2022 Slide 9 Running Example Rule (Verbose notation): IF a vessel has a level sensor attached AND there is a level sensor „high alarm“ signal THEN close all valves on pipes feeding the vessel B101 P106 P1 P3 P2 LS+ B102 TIC B103 V102 V104 V105 Vessel
  • 10. — Rule-based Code Generation September 1, 2022 Slide 10 Running Example Rule (Verbose notation): IF a vessel has a level sensor attached AND there is a level sensor „high alarm“ signal THEN close all valves on pipes feeding the vessel B101 P106 P1 P3 P2 LS+ B102 TIC B103 V102 V104 V105 Vessel Generated IEC 61131-3 Structured Text: IF B102_HHLimit = TRUE THEN V102_Open := FALSE; IF B102_HHLimit = TRUE THEN V104_Open := FALSE;
  • 11. — Rule-based Code Generation September 1, 2022 Slide 11 Running Example B101 P106 P1 P3 P2 LS+ B102 TIC B103 V102 V104 V105 Vessel Generated IEC 61131-3 Structured Text: IF B102_HHLimit = TRUE THEN V102_Open := FALSE; IF B102_HHLimit = TRUE THEN V104_Open := FALSE; Rule (short hand notation): Vessel.AlarmLevelHigh & VesselPipeValve => Valve.Close
  • 12. — Rule-based Code Generation Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R. Rule-based code generationin industrial automation: four large-scale case studies applying the CAYENNE method. Proceedings ICSE SEIP 2020 (pp. 152-161). September 1, 2022 Slide 12 CAYENNE Topology Model for P&ID Import (simplified) CAYENNE Rule Specification Grammar (excerpt) Our CAYENNE Approach
  • 15. — 4 post-mortem, real-world case studies to analyze code generation feasibility September 1, 2022 Slide 15 Oil Platform Chemical Plant Chemical Plant Crude Oil Separator
  • 18. — Case Study September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R. Rule-based code generationin industrial automation: four large-scale case studies applying the CAYENNE method. Proceedings ICSE SEIP 2020 (pp. 152-161). Slide 18 Results
  • 19. — Rule-based Code Generation Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R. Rule-based code generationin industrial automation: four large-scale case studies applying the CAYENNE method. Proceedings ICSE SEIP 2020 (pp. 152-161). What is the most appropriate abstraction level for a topology model to support code generation in this context? How to specify rules for other kinds of control logic? How to utilize topology models further (e.g., generate process graphics, simulations, etc.)? Open Research Questions September 1, 2022 Slide 19
  • 20. — Continuous Deployment Example: Plug & Produce Field Device Commissioning
  • 21. — Process Automation September 1, 2022 https://library.e.abb.com/public/262ee24c3ad6de1bc125768f00411eba/ABB_SuccesStory_BASF_Oppanol_final.pdf Slide 21 Many sensors and actuator to be installed and configured
  • 23. — Commissioning 1) Place, connect sensor („plug“) 2) Set fieldbus address 3) Retrieve sensor type 4) Select device package, download 5) Enter configuration parameters 6) Get addresses to logic engineering 7) Map program variables 8) Compile and download control logic Repeat for all devices (go to 1) 
 Production start („produce“) 60 – 90 minutes per device!
  • 24. — 60 – 90 minutes per device! Commissioning 1) Place, connect sensor („plug“) Production start („produce“) 60 – 90 minutes per device! Target: <10 sec per device!
  • 25. — September 1, 2022 Slide 25 Industrial Boiler Laser Level Transmitter Pneumatic Valve Automation Controller Typical Control Loop Example
  • 26. — September 1, 2022 Slide 26 Industrial Boiler Laser Level Transmitter Pneumatic Valve Automation Controller Requirement 4: Real-time Communication Requirement 3: Automated Signal Matching Requirement 2: Standardized Device Descriptions Requirement 1: Automated Network Discovery Requirement 5: Device Replacement Plug & Produce
  • 27. — Plug & Produce Microsoft “Plug & Play”/Windows95, 1995 ISO/IEC 29341-1-1: Universal Plug&Play (PnP) Device Architecture version 1.1, 2011 ➔ Not suited for industrial devices with special communication protocols [KrĂŒning2013]: Plug-and-produce for field bus components [DĂŒrkop2013]: Using OPC UA for Auto Configuration of Real-time Ethernet Systems [Hammerstingl2015]: Unified Plug&Produce architecture for automatic integration of field devices ➔ Still tied to proprietary protocols, no device replacement supported [Garlan2014]: Motivating the need for more dynamic architecture due to rising number of IoT devices [Muccini2016]: Self-adaptation for cyber-physical systems [Alkhabbas2017]: Architecting Emergent Configuration in the Internet-of-Things ➔ Simple information models, not suited for resource-constrained devices Generic „Plug & Play” Technologies Industrial „Plug & Produce“ Approaches IoT Reference Architectures September 1, 2022 Slide 27 Related Work Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140).
  • 28. — September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 28 Industrial Boiler Laser Level Transmitter Pneumatic Valve Automation Controller Open PnP Architecture
  • 29. — September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 29 Industrial Boiler Laser Level Transmitter Pneumatic Valve Automation Controller SERVER CLIENT & SERVER SERVER Open PnP Architecture
  • 30. — September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 30 Industrial Boiler Laser Level Transmitter Pneumatic Valve Automation Controller Plug & Produce Software Service SERVER CLIENT & SERVER SERVER CLIENT Open PnP Architecture
  • 31. — September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 31 Industrial Boiler Laser Level Transmitter Pneumatic Valve Automation Controller Plug & Produce Software Service SERVER CLIENT & SERVER SERVER CLIENT Our Main Contribution Open PnP Architecture
  • 32. — Open Platform Communications Unified Architecture (OPC UA), IEC 62541 http://industrial.embedded-computing.com/articles/iic-connectivity-framework-defines-iiot-network-architecture-for-scalable-interoperability/ Slide 32 September 1, 2022
  • 33. — OPC UA September 1, 2022 https://reference.opcfoundation.org/v104/Core/docs/Part1/6.3.1/ Slide 33 Client/Server
  • 34. — Controller IEC 61131 Runtime Controller OPC UA Server OPC UA LDS Field Device (Sensor / Actuator) Device OPC UA Server <<information model>> PLCOpen OPC UA LDS <<information model>> OPC UA for Devices, NAMUR NE131, IEC 61987 PLCOpen Comm. Channel Operations Server Ethernet Supervision Plug-and- Produce Service Engineering Server Engineering Repository Device Management Internet Public Driver Repository retrieve signal config, arbitrate 61131 Runtime transfer configs, browse signals, enable subscr. upload control logic monitor process OPC UA LDS UDP Sub. UDP Pub. UDP Sub. UDP Pub. multicast probe & announce exchange signal values OPC UA OPC UA OPC UA download device driver, device parameters retrieve device driver HTTP HTTP OPC UA LDS cyclic signal exchange retrieve engineering data exchange signal values cyclic signal exchange Reference Architecture Plug & Produce September 1, 2022 Slide 34
  • 35. — Controller IEC 61131 Runtime Controller OPC UA Server OPC UA LDS Field Device (Sensor / Actuator) Device OPC UA Server <<information model>> PLCOpen OPC UA LDS <<information model>> OPC UA for Devices, NAMUR NE131, IEC 61987 PLCOpen Comm. Channel Operations Server Ethernet Supervision Plug-and- Produce Service Engineering Server Engineering Repository Device Management Internet Public Driver Repository retrieve signal config, arbitrate 61131 Runtime transfer configs, browse signals, enable subscr. upload control logic monitor process OPC UA LDS UDP Sub. UDP Pub. UDP Sub. UDP Pub. multicast probe & announce exchange signal values OPC UA OPC UA OPC UA download device driver, device parameters retrieve device driver HTTP HTTP OPC UA LDS cyclic signal exchange retrieve engineering data exchange signal values cyclic signal exchange Reference Architecture Plug & Produce September 1, 2022 Slide 35
  • 36. — Controller IEC 61131 Runtime Controller OPC UA Server OPC UA LDS Field Device (Sensor / Actuator) Device OPC UA Server <<information model>> PLCOpen OPC UA LDS <<information model>> OPC UA for Devices, NAMUR NE131, IEC 61987 PLCOpen Comm. Channel Operations Server Ethernet Supervision Plug-and- Produce Service Engineering Server Engineering Repository Device Management Internet Public Driver Repository retrieve signal config, arbitrate 61131 Runtime transfer configs, browse signals, enable subscr. upload control logic monitor process OPC UA LDS UDP Sub. UDP Pub. UDP Sub. UDP Pub. multicast probe & announce exchange signal values OPC UA OPC UA OPC UA download device driver, device parameters retrieve device driver HTTP HTTP OPC UA LDS cyclic signal exchange retrieve engineering data exchange signal values cyclic signal exchange Reference Architecture Plug & Produce September 1, 2022 Slide 36
  • 37. — Controller IEC 61131 Runtime Controller OPC UA Server OPC UA LDS Field Device (Sensor / Actuator) Device OPC UA Server <<information model>> PLCOpen OPC UA LDS <<information model>> OPC UA for Devices, NAMUR NE131, IEC 61987 PLCOpen Comm. Channel Operations Server Ethernet Supervision Plug-and- Produce Service Engineering Server Engineering Repository Device Management Internet Public Driver Repository retrieve signal config, arbitrate 61131 Runtime transfer configs, browse signals, enable subscr. upload control logic monitor process OPC UA LDS UDP Sub. UDP Pub. UDP Sub. UDP Pub. multicast probe & announce exchange signal values OPC UA OPC UA OPC UA download device driver, device parameters retrieve device driver HTTP HTTP OPC UA LDS cyclic signal exchange retrieve engineering data exchange signal values cyclic signal exchange Reference Architecture Plug & Produce September 1, 2022 Slide 37
  • 38. — Controller IEC 61131 Runtime Controller OPC UA Server OPC UA LDS Field Device (Sensor / Actuator) Device OPC UA Server <<information model>> PLCOpen OPC UA LDS <<information model>> OPC UA for Devices, NAMUR NE131, IEC 61987 PLCOpen Comm. Channel Operations Server Ethernet Supervision Plug-and- Produce Service Engineering Server Engineering Repository Device Management Internet Public Driver Repository retrieve signal config, arbitrate 61131 Runtime transfer configs, browse signals, enable subscr. upload control logic monitor process OPC UA LDS UDP Sub. UDP Pub. UDP Sub. UDP Pub. multicast probe & announce exchange signal values OPC UA OPC UA OPC UA download device driver, device parameters retrieve device driver HTTP HTTP OPC UA LDS cyclic signal exchange retrieve engineering data exchange signal values cyclic signal exchange Reference Architecture Plug & Produce September 1, 2022 Slide 38 Requirement 1: Automated Network Discovery Requirement 2: Standardized Device Descriptions Requirement 3: Automated Signal Matching Requirement 4: Real-time Communication Requirement 5: Device Replacement
  • 39. — Reference Architecture Plug & Produce September 1, 2022 Slide 39 newState = suspended Plug-and- Produce Service Controller OPC UA Server Device OPC UA Server Device UA Server X get subscribed devices from pub/sub config in router approve replacement get device configuration device configuration store device configuration stop device change to simulation mode loop newState = simulated get signal configuration matched Signals for all subscribing devices announce new device via mDNS upload stored configuration change to running mode loop newState = running rematch signals acknowledge resume controller change to suspend mode 1 2 3 4
  • 40. — Implementation Plug & Produce September 1, 2022 Slide 40 Level Sensor Temperature Sensor Commu- nication Boards Power Supply Ethernet Connection
  • 41. — 60 – 90 minutes per device! Commissioning 1) Place, connect sensor („plug“) Production start („produce“) Target: <10 sec per device!
  • 42. — Time for Typical Commissioning Effort Comparison September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 42 # Phases Classic Approach HART comm. + PC Tool Steps L M H OpenPnP Approach OPC UA comm. + PnP Service Steps L M H 1 Prepare replacing Store config via HART, unmount device 05:30 13:00 22:00 Store config via OPC UA, unmount device 03:11 07:32 14:05 2 Mount the device physically Prepare, use accessories, fix the device 05:00 20:00 40:00 Prepare, use accessories, fix the device 05:00 20:00 40:00 3 Connect the cabling Run cabling to device, attach to device 05:30 09:00 21:00 Run cabling to device, attach to device 05:30 09:00 21:00 4 Establish basic comm. Power on, connect, download device package 00:43 01:18 03:38 Power on, network discovery, connect via OPC UA 00:11 00:21 00:46 5 Calibrate the device Manually use calibration tool 00:00 03:00 04:30 Manually use calibration tool 00:00 03:00 04:30 6 Set basic parameters Manually set basic parameters via laptop 01:00 01:20 02:50 Automatically transfer parameters 00:02 00:02 00:02 7 Set adv. parameters Manually set advanced parameter via laptop 00:00 00:55 02:10 Manual set + automatic transfer of parameters 00:00 00:12 00:42 8 Conduct loop check Set simulation value, check loop back 00:20 00:40 01:10 Perform automatic connection check 00:01 00:01 00:01 9 Integrate device into DCS Map logic variables to IO channels, download logic 02:00 04:30 12:00 Discover controller, set up, match signals, set up communication 00:03 00:08 00:11 (Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17 (Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00 (Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47 Total sum Installation time Config time
  • 43. — Time for Typical Commissioning Effort Comparison September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 43 # Phases Classic Approach HART comm. + PC Tool Steps L M H OpenPnP Approach OPC UA comm. + PnP Service Steps L M H 1 Prepare replacing Store config via HART, unmount device 05:30 13:00 22:00 Store config via OPC UA, unmount device 03:11 07:32 14:05 2 Mount the device physically Prepare, use accessories, fix the device 05:00 20:00 40:00 Prepare, use accessories, fix the device 05:00 20:00 40:00 3 Connect the cabling Run cabling to device, attach to device 05:30 09:00 21:00 Run cabling to device, attach to device 05:30 09:00 21:00 4 Establish basic comm. Power on, connect, download device package 00:43 01:18 03:38 Power on, network discovery, connect via OPC UA 00:11 00:21 00:46 5 Calibrate the device Manually use calibration tool 00:00 03:00 04:30 Manually use calibration tool 00:00 03:00 04:30 6 Set basic parameters Manually set basic parameters via laptop 01:00 01:20 02:50 Automatically transfer parameters 00:02 00:02 00:02 7 Set adv. parameters Manually set advanced parameter via laptop 00:00 00:55 02:10 Manual set + automatic transfer of parameters 00:00 00:12 00:42 8 Conduct loop check Set simulation value, check loop back 00:20 00:40 01:10 Perform automatic connection check 00:01 00:01 00:01 9 Integrate device into DCS Map logic variables to IO channels, download logic 02:00 04:30 12:00 Discover controller, set up, match signals, set up communication 00:03 00:08 00:11 (Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17 (Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00 (Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47 Total sum Installation time Config time
  • 44. — Time for Typical Commissioning Effort Comparison September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 44 # Phases Classic Approach HART comm. + PC Tool Steps L M H OpenPnP Approach OPC UA comm. + PnP Service Steps L M H 1 Prepare replacing Store config via HART, unmount device 05:30 13:00 22:00 Store config via OPC UA, unmount device 03:11 07:32 14:05 2 Mount the device physically Prepare, use accessories, fix the device 05:00 20:00 40:00 Prepare, use accessories, fix the device 05:00 20:00 40:00 3 Connect the cabling Run cabling to device, attach to device 05:30 09:00 21:00 Run cabling to device, attach to device 05:30 09:00 21:00 4 Establish basic comm. Power on, connect, download device package 00:43 01:18 03:38 Power on, network discovery, connect via OPC UA 00:11 00:21 00:46 5 Calibrate the device Manually use calibration tool 00:00 03:00 04:30 Manually use calibration tool 00:00 03:00 04:30 6 Set basic parameters Manually set basic parameters via laptop 01:00 01:20 02:50 Automatically transfer parameters 00:02 00:02 00:02 7 Set adv. parameters Manually set advanced parameter via laptop 00:00 00:55 02:10 Manual set + automatic transfer of parameters 00:00 00:12 00:42 8 Conduct loop check Set simulation value, check loop back 00:20 00:40 01:10 Perform automatic connection check 00:01 00:01 00:01 9 Integrate device into DCS Map logic variables to IO channels, download logic 02:00 04:30 12:00 Discover controller, set up, match signals, set up communication 00:03 00:08 00:11 (Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17 (Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00 (Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47 Total sum Installation time Config time
  • 45. — Up to 90% reduced efforts for config ‱ Automated transfer of parameters ‱ Automated identification of devices ‱ Automated signal matching of devices ‱ Faster Ethernet communication For a plant with 10,000 devices, this can accumulate to 1500h time saving (≈ 1 person year). Time for Typical Commissioning Effort Comparison September 1, 2022 Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 45 # Phases Classic Approach HART comm. + PC Tool Steps L M H OpenPnP Approach OPC UA comm. + PnP Service Steps L M H 1 Prepare replacing Store config via HART, unmount device 05:30 13:00 22:00 Store config via OPC UA, unmount device 03:11 07:32 14:05 2 Mount the device physically Prepare, use accessories, fix the device 05:00 20:00 40:00 Prepare, use accessories, fix the device 05:00 20:00 40:00 3 Connect the cabling Run cabling to device, attach to device 05:30 09:00 21:00 Run cabling to device, attach to device 05:30 09:00 21:00 4 Establish basic comm. Power on, connect, download device package 00:43 01:18 03:38 Power on, network discovery, connect via OPC UA 00:11 00:21 00:46 5 Calibrate the device Manually use calibration tool 00:00 03:00 04:30 Manually use calibration tool 00:00 03:00 04:30 6 Set basic parameters Manually set basic parameters via laptop 01:00 01:20 02:50 Automatically transfer parameters 00:02 00:02 00:02 7 Set adv. parameters Manually set advanced parameter via laptop 00:00 00:55 02:10 Manual set + automatic transfer of parameters 00:00 00:12 00:42 8 Conduct loop check Set simulation value, check loop back 00:20 00:40 01:10 Perform automatic connection check 00:01 00:01 00:01 9 Integrate device into DCS Map logic variables to IO channels, download logic 02:00 04:30 12:00 Discover controller, set up, match signals, set up communication 00:03 00:08 00:11 (Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17 (Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00 (Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47 Total sum Installation time Config time
  • 46. — Performance Measurements Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). Slide 46 CPU Utilization Pub/sub: 40,000 signals/s Client/server (1 client): 25,000 signals/s Client/server (30 clients): 10,000 signals/s Exemplary control use case – 6,000 I/O points with 100ms updates (= 60,000 signals/s) – 2 controllers share 8 field communication interfaces (FCIs) Industrial controllers Sensors & actuators Field comm. interfaces 
 
 
 
 
 
 
 September 1, 2022 CPU is bottleneck. But good scalability even on small devices. Clients/Subscribers: Raspberry Pi 3, Model B, Quad Core 1.2GHz 64bit CPU, 1GB RAM, RTLinux Server/Publisher: Raspberry Pi Zero, 1GHz single-core CPU, 512MB RAM, RTLinux
  • 47. — Plug & Produce Field Device Commissioning Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). September 1, 2022 Slide 47 How to synthesize device configurations by exploring “digital twin” models or surrounding devices? How to lift the Plug&Produce approach from individual devices to entire plant segments? How to simulate device behavior before commissioning a device to aid control logic testing? Open Research Questions
  • 48. — Cloud-native Infrastructures Example: Bump-less updates & live migrations using container orchestration
  • 49. — Operations How can a plant operator update the control logic without interrupting the production process?
  • 50. — Real-time Controller Control Application for Industrial Boiler September 1, 2022 Slide 50 Filling Level Valve Opening Signal Valve Opening Signal Sensor Boiler How to update the control logic without interrupting the production?
  • 51. — Internal State in Control Logic Applications September 1, 2022 Slide 51 Koziolek, H., Burger, A., Abdulla, P. P., RĂŒckert, J., Sonar, S., & Rodriguez, P. (2021, September). Dynamic Updates of Virtual PLCs Deployed as KubernetesMicroservices. In European Conference on Software Architecture (pp. 3-19). Springer, Cham. P&I diagram
  • 52. — Related Work [Wahler2009]: Dynamic software updates for real-time systems [Wahler2014]: Disruption-free software updates in automation systems [Prenzel2017]: Dynamic software updating of iec 61499 implementation using erlang runtime system ➔ No container deployment, no update of runtimes / operating system [Moga2016]: OS-level virtualization for industrial automation systems: Are we there yet? [Goldschmidt2018]: Container-based architecture for flexible control applications [Sollfrank2020]: Evaluating docker for virtualization in industrial automation ➔ Demonstrated PLC logic in containers with acceptable jitter [Netto2017]: State machine replication in containers managed by kubernetes [Vayghan2019]: Towards high-availability for stateful applications with kubernetes [Oh2018]: Stateful container migration employing checkpoint-based restoration ➔ No cyclic control application, simple internal states Dynamic Software Updates Virtual PLCs in Container Environments State Replication in Container Orchestration Engines September 1, 2022 Slide 52
  • 53. — Control Application for Industrial Boiler September 1, 2022 Slide 53 Sensor Valve Opening Signal Filling Level Valve Opening Signal Boiler How to update the control logic without interrupting the production? Real-time Controller
  • 54. — Contribution September 1, 2022 Slide 54 Sensor Valve Opening Signal Filling Level Valve Opening Signal Boiler How to update the control logic without interrupting the production? Real-time Controller
  • 55. — Contribution September 1, 2022 Slide 55 Sensor Filling Level Boiler How to update the control logic without interrupting the production? Kubernetes Cluster <<docker>> Updated Virtual PLC <<docker>> Original Virtual PLC State Transfer (OPC UA) Valve Opening Signal Valve Opening Signal Koziolek, H., Burger, A., PP, A. Fast State Transfer for Updates of Containerized Industrial Control Applications Submitted to Elsevier Journal of Systems and Software 2022 (Special Issue on ECSA 2021)
  • 56. — Kubernetes September 1, 2022 Slide 56 Architecture Control Plane Node kube-ctrl-manager kube-apiserver kube-scheduler etcd Kubernetes Operator Custom Resource User $ kubectl apply –f myCluster.yaml Application Plane Node Pod Container Container Node Pod Container Node Pod Container
  • 57. — Static Architecture September 1, 2022 Slide 57 cmp LEG Component Diagram Master Worker 1 «k8s custom operator / pod /container» Virtual PLC Operator OPC UA Signal Inputs «virtual-plc-pod / container» PLC Runtime System OPC UA Configuration OPC UA Signal Inputs OPC UA Signal Outputs «iec 61131-3» PLC Program Internal State «K8s custom controller» Virtual PLC Controller Kube API Server etcd Scheduler kubelet kube-proxy Kubectl / APIs / Dashboard Operator Worker 2 OPC UA Signal Inputs «virtual-plc-pod / container» PLC Runtime System OPC UA Configuration OPC UA Signal Inputs OPC UA Signal Outputs «iec 61131-3» PLC Program Internal State kubelet kube-proxy Engineering Tool Operator / Automation Engineer get/set state get/set state upload new PLC program monitors monitors upload new PLC program Koziolek, Heiko, Andreas Burger, P. P. Abdulla, Julius RĂŒckert, Shardul Sonar, and Pablo Rodriguez. "Dynamic Updates of Virtual PLCs Deployed as Kubernetes Microservices." In European Conference on Software Architecture, pp. 3-19. Springer, Cham, 2021.
  • 58. — Dynamic Flow September 1, 2022 Slide 58 act Dynamic View PLC Runtime System 2 PLC Runtime System 1 Virtual PLC Kubernetes Controller 3. Connect to both PLC Runtime Systems via OPC UA 4. Pause both PLC Runtime Systems 5. Extract Internal State & Serialize it 6. Retrieve Serialized State 7. Retrieve Serialized State 8. Deserialize & Extract Internal State 13. Disable outputs on PLC Runtime Service 1 14. Enable outputs on PLC Runtime 2 Success 9. Unpause both PLC Runtime Systems Not time-critical Time-critical Legend 1. Detect update request 2. Start up PLC Runtime System 2 11. Verify correct behavior 12. Roll back update: stop PLC Runtime 2, inform user Failure Correct Incorrect Needs to complete in less than cycle slack time (e.g., 90 ms) Koziolek, Heiko, Andreas Burger, P. P. Abdulla, Julius RĂŒckert, Shardul Sonar, and Pablo Rodriguez. "Dynamic Updates of Virtual PLCs Deployed as Kubernetes Microservices." In European Conference on Software Architecture, pp. 3-19. Springer, Cham, 2021.
  • 60. — Case Study September 1, 2022 https://secolon.de/P172.pdf https://en.wikipedia.org/wiki/Melk%C3%B8ya#/media/File:Melk%C3%B8ya-2006.JPG Slide 60 Liquid Natural Gas Plant with 18 controllers, up to 100K internal state variables per controller
  • 61. — State Transfer Execution Time September 1, 2022 Slide 61 Koziolek, H., Burger, A., PP, A. Fast State Transfer for Updates of Containerized Industrial Control Applications Submitted to Elsevier Journal of Systems and Software 2022 (Special Issue on ECSA 2021)
  • 62. — State Transfer Execution Time Koziolek, H., Burger, A., PP, A. Fast State Transfer for Updates of Containerized Industrial Control Applications Submitted to Elsevier Journal of Systems and Software 2022 (Special Issue on ECSA 2021) September 1, 2022 Slide 62
  • 63. — Cloud-native Process Control Systems September 1, 2022 Slide 63 What are the practical limits of transferring internal state in multiple chunks to make updates even more flexible? How to transfer cloud-native technologies to the industrial domain, given challenging performance, reliability and security requirements? How far can cloud-native technologies extend to resource-constrained computing devices with limited CPU and memory? Open Research Questions
  • 65. — Summary (1/3) Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., Abukwaik, H., & Jetley, R. Rule-based code generationin industrial automation: four large-scale case studiesapplying the CAYENNE method. In IEEE/ACM 42nd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP 2020) September 1, 2022 Slide 65 Rule-based Code Generation Open Questions What is the most appropriate abstraction level for a topology model to support code generation in this context? How to specify rules for other kinds of control logic? How to utilize topology models further (generate process graphics, simulations, etc.)? Model Driven Development
  • 66. — Summary (2/3) Koziolek, H., Burger, A., Platenius-Mohr, M., RĂŒckert, J., & Stomberg, G. OpenPnP: a plug-and-produce architecture for the industrial internet of things. In IEEE/ACM 41st International Conferenceon Software Engineering: Software Engineering in Practice (ICSE-SEIP 2019) (pp. 131-140). September 1, 2022 Slide 66 Plug & Produce Field Device Commissioning Open Questions How to synthesize device configurations by exploring “digital twin” models or surrounding devices? How to lift the Plug&Produce approach from individual devices to entire plant segments? How to simulate device behavior before commissioning a device to aid control logic testing? Continuous Deployment
  • 67. — Summary (3/3) Koziolek, H., Burger, A., PP, A. Fast State Transfer for Updates of Containerized Industrial Control Applications Submitted to Elsevier Journal of Systems and Software 2022 (Special Issue on ECSA 2021) September 1, 2022 Slide 67 Bump-less updates using container orchestration Open Questions What are the practical limits of transferring internal state in multiple chunks to make updates even more flexible? How to transfer cloud-native technologies to the industrial domain, given challenging performance, reliability and security requirements? How far can cloud-native technologies extend to resource-constrained computing devices with limited CPU and memory? Cloud-native Infrastructures
  • 68. — Software Engineering Trends relevant in Process Automation Low-code Development Continuous Integration & Deployment Cloud-native Infrastructures Microservices for Control Apps Model-driven Development Industrial-strength Cyber Security
  • 69. Digital Industry Key technologies for autonomous industrial systems Smart & Sustainable Electrification Smarter and more flexible energy distribution and energy management — ABB Research Open Positions (Senior) Research Scientist (m/f/d) for Software Engineering (Senior) Research Scientist (m/f/d) for System and Software Architecture Internship (m/f/d) Software Engineer Internship (m/f/d) Future Industrial Connectivity abb.com/jobs