rtSOA - A Data Driven, Real Time Service Oriented Architecture for Industrial Manufacturing


Manufacturing and industrial automation are under pressure from shortened product life-cycles and the demand for a shorter time to market in many areas. The next generation of manufacturing systems will therefore be built with flexibility and reconfiguration as a fundamental objective.

This change is eminent in the transition from traditional, centralized control applications to an interconencted, cooperative "Internet of Things" model. Strong hierarchies are broken in favor of meshed, networks and formerly passive devices are replaced with "smart objects" that are network enabled and can perform compute operations.

The software side has to match and leverage the changes in the hardware. Service Oriented Architectures (SOAs) are a well known concept from business computing to deal with flexibility and reconfiguration requirements in a loosely coupled manner. However, the common concepts of SOAs cannot be directly mapped to embedded networks and industrial control applications, because of the hard boundary conditions, such as limited resources and real-time requirements.

The rtSOA project brings both worlds together. Aimed at the lower layers of the automation pyramid, it focuses on the hard real time data streams encountered in control applications while briding the gap to event based communication in higher layers. A primary research goal thereby is the development of concepts for (semi-)automatic service composition to support flexibility in re-tooling and quick adaptation to failures in the automation chain. Smart but resource constrained sensors and actuators are directly integrated as first-class members in the SOA instead of being accessed through gateway or mediator.



During the course of the rtSOA-project we generated a dataset with over 1.2 million solvable scheduling problems (c.f. the evaluation in our paper). This dataset can be downloaded here ca. 17 GB) and may be imported in PostgreSQL > 9.5. The download contains an importing script for Linux systems.