Cyber-Physical Systems - Intelligenz ist eine Summe von Eigenschaften

Volker Gruhn

Cyber-Physical Systems – die enge Verknüpfung digitaler Systeme und Modelle mit Gegenständen und Abläufen der realen Welt – können in Prozessen sehr eigenständig und flexibel arbeiten. Diese Fähigkeit ermöglicht es Unternehmen, bestehende Abläufe zu verbessern beziehungsweise gänzlich neue zu gestalten. Dass CPS dieses intelligent wirkende Verhalten zeigen, liegt an den grundlegenden Eigenschaften, die sie mitbringen. CPS sind flexibel, autonom, mobil und kontextsensitiv.

Quer durch alle Branchen und Unternehmen ist ein Trend zu beobachten: IT-Systeme werden immer intelligenter. Sie verstehen unser gesprochenes Wort, sie analysieren unsere handschriftlichen Aufzeichnungen, sie erkennen unsere Stimmung anhand von Fotos. Und das ist erst der Anfang einer Entwicklung, deren Folgen kaum absehbar sind. In Zukunft können Maschinen autonom zusammenarbeiten, werden sich Lieferketten selbständig umgestalten und Bestellungen immer häufiger ohne menschliches Zutun getätigt. Vor allem viele Prozesse im Business-to-Business-Umfeld stehen vor einem Wandel. Wer die Konsequenzen dieser Entwicklung verstehen will, muss sich mit den fundamentalen Eigenschaften der Systeme beschäftigen. Denn ihr intelligentes Verhalten ist die Summe von einzelnen Fähigkeiten – Fähigkeiten, die Entwickler bereits beim Aufbau berücksichtigen und implementieren müssen.
Wenn im Folgenden von Systemen gesprochen wird, sind damit sogenannte Cyber-Physical Systems (CPS) gemeint. Darunter verstehen Experten die enge Verknüpfung digitaler Systeme und Modelle mit Gegenständen und Abläufen der realen Welt über geeignete Sensoren, Aktoren, Prozessoren und Software-Komponenten. In diesen CPS manifestiert sich viel Potenzial der Digitalen Transformation: Jede Maschine, jedes Haushaltsgerät, jeder Pkw, der mit dem Internet verbunden ist, ist mehr als nur ein Gegenstand mit einer IP-Adresse. Für jeden dieser Gegenstände tun sich neue Möglichkeiten auf, sind neue Prozesse denkbar, ergeben sich neue Geschäftsmodelle.
Aus der engen Verknüpfung realer und digitaler Abläufe ergibt sich bereits ein fundamentaler Unterschied zu bestehenden IT-Systemen. Denn bislang gab es in vielen Unternehmen einen Bruch zwischen den Abläufen in der realen Welt und ihrer digitalen Übersetzung in ein Informationssystem. Denn diese IT-Systeme sind „nur“ Modelle mit all den notwendigen Abstraktionen und Einschränkungen. Diesen Bruch mussten Unternehmen bisher durch aufwendige und fehleranfällige Mensch-Maschine-Schnittstellen überbrücken.
Wie in Bild 1 dargestellt, bestehen Informationssysteme in Zukunft immer häufiger aus zwei Elementen: Einerseits aus klassischen Systemen; hier werden die statischen Daten wie Anschaffungszeitpunkt, Produktionskapazität oder Wartungsarbeiten hinterlegt. Diese Daten werden in einem „Modell der Realität“ abgelegt und bei Bedarf von Anwendern abgefragt. Andererseits aus CPS; diese stellen dynamische Daten wie die aktuelle Auslastung, Maschinenparamater wie Temperatur oder – bei mobilen CPS – den Standort Anwendern automatisiert zur Verfügung.

 

Bild 1:  Aufbau von Informationssystemen mit Anteilen
von klassischen Systemen und Cyber-Physical Systems.</div> 

 
In Zukunft integrieren die Experten Gegenstände und Abläufe unmittelbar in digitale Prozesse – der flächendeckenden Vernetzung sei Dank. Güter und Geräte, ausgestattet mit einer eigenen digitalen Identität, Sensorik oder Steuerungseinheit, melden ihren Zustand permanent oder auf Anfrage in Echtzeit an das CPS. Die Grenzen zwischen Atomen und Bytes werden immer fließender. Unternehmen stehen so immer flexiblere und intelligentere Systeme zur Verfügung, die immer bessere Datenanalysewerkzeuge erfordern, um ihr ganzes Potenzial zu entfalten.
Dies steigert die Effizienz existierender Prozesse sowie die Genauigkeit und Aktualität der darin verarbeiteten Daten; Unternehmen eröffnet dies neue Möglichkeiten, die Welt mit digitalen Augen zu sehen und so neue Mechanismen zu erschließen; das heißt, Optimierungspotenziale zu finden oder Muster in komplexen Abläufen zu erkennen. Das sind typische Szenarien, in denen CPS ihre Stärke ausspielen [1].
Ein Anwendungsfall aus der unternehmerischen Praxis verdeutlicht das Potenzial von CPS: Für Erzeugnisse, die Unternehmen in Produktlinien mit großer Variantenvielfalt produzieren (zum Beispiel Automobile, IT-Lösungen oder Einbaumöbel), ist eine deutlich größere Flexibilität bereits im Fertigungsprozess notwendig. Je nach gewünschter Ausführung des Produkts sind Fertigungsschritte anzupassen, auszulassen oder einzuschieben. Die Nutzung von CPS im Fertigungsprozess verspricht, den in der IT-Welt verfolgten Ansatz der flexiblen Organisation und Instrumentierung von Diensten, das heißt die Anordnung von Prozessschritten und die Vergabe der Ausführungsverantwortung für diese Schritte, auf die physische Ebene zu übertragen. Unternehmen können Fertigungsschritte in Anlagenmodulen kapseln, die sich je nach Auftragseingang flexibel kombinieren und parametrisieren lassen.
Es sind vier charakteristische Eigenschaften von CPS, welche die Grundlage für ihr intelligentes Verhalten bilden: Sie sind flexibel, autonom, mobil und kontextsensitiv [2].

 

Bild 2: Die Eigenschaften von Cyber-Physical Systems.

 

CPS schließen schnell Bekanntschaft

 
In klassischen, geschlossenen Softwaresystemen sind Komponenten typischerweise „miteinander bekannt“ und fest verdrahtet. Die Verantwortlichen kennen und kontrollieren die Systemlandschaft, in welche die Softwaresysteme eingebettet sind, und die Prozesslandschaft, die sie unterstützen sollen. Die ganze Architektur ist relativ statisch. Falls doch Änderungen oder Anpassungen notwendig sind, ist das in der Regel nur durch manuelle Eingriffe der Entwickler in die Implementierung selbst möglich.
In der unternehmerischen Praxis kommt dieser starre Aufbau immer häufiger an seine Grenzen. Denn angesichts der hohen Veränderungsgeschwindigkeit von Prozesskonstellationen und -teilnehmern in der Geschäftswelt sind solche Architekturen zu starr. Notwendig sind offene Architekturen, welche die erforderliche Flexibilität bieten. CPS haben die besten Voraussetzungen, um diese Anforderungen zu erfüllen. Eine ihrer Stärken ist es, Veränderungen in den Abläufen der physischen Welt ohne langwierigen und teuren Anpassungsaufwand abbilden zu können. In ihnen erwächst die Systemfunktionalität aus dem Zusammenspiel möglichst unabhängiger Komponenten beziehungsweise Dienste mit klar definierten, spezialisierten Schnittstellen und Aufgabenbereichen. Dies erlaubt den Entwicklern sowohl die fließende Skalierung von teilnehmenden Komponenten (zum Beispiel von Fahrzeugen in einer Flotte) als auch eine Veränderung von Abläufen (zum Beispiel bei Auslagerung eines Prozessabschnitts an einen Dienstleister) oder einen Austausch von Komponenten (zum Beispiel beim Wechsel eines Dienstleisters).
 

CPS passen sich alleine an

 
Eng mit dem Aspekt der Flexibilität verwandt ist das Charakteristikum der (Teil‑)Autonomität. Aber auch in ein flexibel adaptierbares System müssen Entwickler in der Regel eingreifen, um es an neue Bedingungen anzupassen. Dies kann beispielsweise bedeuten, dass Entwickler Komponenten hinzufügen, austauschen oder adaptieren müssen. Der Effizienzvorteil von einem flexiblen IT-System gegenüber einem monolithischen liegt darin, dass diese Flexibilitätsanforderung bereits von Grund auf in der Architektur und den Schnittstellen berücksichtigt ist. Entwickler können im laufenden Prozess Änderungsanforderungen mithilfe der dafür vorgesehenen Mechanismen umsetzen, ohne die Integrität des Gesamtsystems durch tiefgreifende Umbauten gefährden zu müssen.
Die Fähigkeit von CPS geht aber darüber hinaus. Als teilautonome Systeme heben sie die Flexibilität auf eine höhere Stufe. Sie nutzen automatische Anpassungsmechanismen, die keine, oder zumindest kaum noch, manuelle Entwicklerentscheidungen und -eingriffe erfordern. Sie können die Notwendigkeit für Veränderungen des CPS, beispielsweise die oben erwähnten Ereignisse wie das Einbinden und Ausschließen von Komponenten oder den Wechsel verfügbarer Drittdienste, automatisch erkennen. Und sie können den identifizierten Veränderungsbedarf auch automatisch umsetzen, ohne dass Anwender oder Betreiber eingreifen müssen. CPS können als sogenanntes „Self-adaptive System“ verstanden werden. Damit sind Systeme gemeint, die eigenständig auf Probleme oder Veränderungen in ihrer Umgebung zur Laufzeit reagieren, um so ihre Funktionalität zu erhalten. Sie erfüllen aber auch alle Anforderungen eines sogenannten Self-healing Systems. Darunter verstehen Experten die Eigenschaft eines Softwaresystems, eigenständig festzustellen, ob es korrekt funktioniert. Falls es eine Fehlfunktion feststellt, kann es ohne fremdes Eingreifen die notwendigen Maßnahmen ergreifen, um seine normale Funktionalität wieder herzustellen. [3‑4]
Für CPS ist diese Fähigkeit zu autonomen Verhalten wichtig. Gegebenheiten in der physischen Welt verändern sich unter Umständen schneller und in größerer Menge, als die menschlichen Betreiber in einer komplexen Umgebung dieses erfassen und darauf reagieren können. Je nach Situation können CPS also schneller auf Situationen reagieren als Menschen.
Für dieses automatische Erkennen von Anpassungsnotwendigkeiten, das eigenständige Entwickeln von passenden Anpassungsstrategien und die möglichst transparente, minimal-disruptive Ausführung dieser Strategien muss das System ein umfassendes Verständnis seiner selbst und seiner Umgebung haben. Dies führt zu einem weiteren Charakteristikum, das für ein intelligentes Verhalten von CPS unerlässlich ist: die Kontextsensitivität.
 

CPS verstehen ihre Umwelt

 
Bei diesem Thema stehen die Entwickler von CPS vor zwei Herausforderungen: Einerseits muss das System den gegebenen Systemkontext erfassen können, andererseits diesen Kontext aber auch so interpretieren, dass es daraus Entscheidungen ableiten kann.
Auf den ersten Blick ist das Erfassen des Systemkontexts ein rein technisches Problem, das die Entwickler durch den Einsatz geeigneter Sensorik lösen können. Für praktisch alle physischen Kennwerte, die für eine Komponente beziehungsweise einen Prozessschritt relevant sein könnten, existieren heutzutage Sensoren. Diese können eine nahezu beliebige Anzahl von Parametern messen und dem CPS digital zur Verfügung stellen: von der Temperatur über die Position bis hin zu Vitaldaten, Atmosphärenzusammensetzung oder Strahlenexposition. Für diese Messwerte sind unterschiedliche Szenarien denkbar: Je nach Einsatzzweck kann es sinnvoll sein, entweder auf die Messwerte einzelner Sensoren zu reagieren oder Daten über eine große Zahl von Sensoren über sogenannte Sensornetze zu sammeln, zu akkumulieren und daraus abstrakte Kennzahlen abzuleiten. Ein Beispiel für den Einsatz von Sensornetzen ist das Messen der Kennzahlen „Verkehrsdichte und -fluss“ auf Basis der Bewegungsdaten einer Vielzahl von Fahrzeugen durch ein CPS, das mit der Optimierung der innerstädtischen Verkehrssteuerung beauftragt ist.
Es gibt in der unternehmerischen Praxis aber auch zahlreiche Fälle, in denen solche physischen Messwerte nicht ausreichen, um den Systemkontext vollständig zu erfassen. Dies ist beispielsweise der Fall, wenn bestimmte fachliche Parameter wie der Preis einer Ware beziehungsweise eines Dienstes oder die Wichtigkeit eines Kunden den Kontext, in dem ein CPS als Ganzes agiert, definieren. Das Erfassen solcher Parameter erfordert einerseits „virtuelle Sensoren“, das heißt Monitoring-Algorithmen, die Entwickler als Querschnittsaspekte in viele Fachkomponenten integrieren, andererseits aber auch die Interpretation und Abstraktion von Beobachtungen aus einer Reihe von Einzelquellen.
Die Interpretation dieser Daten und insbesondere die darauf aufbauende automatische Entscheidung über Adaptionsstrategien erfordert ein entsprechend feingranulares Regelwerk - ein Regelwerk, das für Beobachter der Arbeit eines CPS so wirkt, als hätte das System ein präzises Wissen über seine Umwelt. Auf Basis dieses Regelwerks ordnet das CPS die Kontextinformationen ein und verknüpft sie mit passenden Anpassungsstrategien. Das kann beispielsweise bedeuten, dass es einen günstigeren Dienst für eine Aufgabe auswählt oder den Auftrag eines Top-Kunden in der Fertigungsplanung höher priorisiert.
Die Entwickler müssen die entsprechenden Regeln sorgfältig formulieren, kalibrieren und testen. Nur so können sie sicherstellen, dass sich das System auch bei autonomer Anpassung immer zielführend innerhalb der erlaubten Grenzen verhält, keine unerwünschten Zustände annimmt und sich nicht in sogenannten Deadlocks selbst blockiert.
Ein Aspekt dieser Kontextsensitivität ist dabei von so besonderer Bedeutung, dass er im Folgenden detaillierter betrachtet werden soll. Angesichts einer wahren Flut tragbarer digitaler Endgeräte spielt die Mobilität eine immer größere Rolle für das Verhalten von CPS.
 

CPS sind gerne unterwegs

 
Mobilität ist seit Jahren einer der softwaretechnischen Megatrends – und seine Bedeutung für Unternehmen und Konsumenten scheint beständig zu wachsen. Anwender setzen Lösungen und Systemkomponenten nicht länger nur an vordefinierten Orten ein, an denen eine bekannte Netzinfrastruktur zur Verfügung steht. Auf den ersten Blick sollte Software – insbesondere auf Anwendungsebene – eigentlich davon abstrahieren können, ob sie auf einem fixierten oder einem mobilen Gerät ausgeführt wird und ob Anwender dieses Gerät stationär oder in Bewegung nutzen. Für viele Abläufe in Informationssystemen sind Bewegung und Position der Ausführungsplattform auch nicht relevant.
Aus Sicht der Entwickler wird Bewegung aber dann interessant, wenn erstens die Bewegungs- beziehungsweise Positionsinformation fachlich relevant ist. Das ist beispielsweise dann der Fall, wenn sie die Anwendung zu Ortungs- und/oder Navigationszwecken nutzt. Zweitens ist Mobilität von Relevanz, wenn die Bewegung relativ zu den Knotenpunkten eines Funknetzes erfolgt und somit Einfluss auf die Verbindungsqualität beziehungsweise -verfügbarkeit hat.
Durch das sogenannte Handover zwischen Funkzellen und Netzen können Schwankungen in der Verbindungsqualität entstehen. Für das CPS sind diese Schwankungen beispielsweise dann relevant, wenn sie ein kontrolliertes Zurückfahren der Anwendungsfunktionalitäten im Falle reduzierter oder fehlender Netzwerkverbindung notwendig machen. Fachleute sprechen hier von der sogenannten „Graceful Degradation“. Eine solide Graceful Degradation erschöpft sich dabei nicht nur in der Anzeige einer Fehlermeldung. Ein CPS geht „intelligent“ mit dieser Situation um. Dazu gehört zum Beispiel das Zwischenspeichern noch nicht übertragener Daten und das spätere Synchronisieren mit Server-Systemen, wenn dem CPS wieder eine ausreichende Bandbreite zur Verfügung steht. Auch für diese Fälle müssen Entwickler ein sehr genaues Set an Regeln entwickeln, das unterschiedliche Stufen der Verbindungsqualität mit passenden Anpassungsstrategien des Systems verknüpft.
Mobilität hat aber nicht nur aus dieser technischen Sicht einen großen Einfluss auf die Entwicklung von CPS. Sie beeinflusst auch massiv die Benutzerinteraktion mit dem System. Mobile Endgeräte stellen aufgrund ihrer Größe und innovativen Eingabemodalitäten wie Multi-Touch-Displays oder Spracherkennung völlig andere Usability-Anforderungen an Benutzerschnittstellen, als es klassische Desktop-Geräte tun.
Entsprechend intuitiv und effektiv müssen Entwickler die mobilen Benutzerschnittstellen gestalten, um für den Anwender ein möglichst attraktives und effizientes Nutzererlebnis zu schaffen. Auch hier spielt die Fähigkeit des CPS eine Rolle, zum Beispiel die Umgebung wahrzunehmen und auf die Einflüsse zu reagieren. Denkbar sind beispielsweise Anwendungen, die Icon-Größe und Benutzerführung an die Lichtverhältnisse im Moment der Nutzung anpassen.
 

CPS sind anders

 
Diese Charaktereigenschaften von CPS schlagen sich in den Entwicklungsanforderungen nieder. Das fängt bereits bei der Zusammensetzung und Rollenverteilung des Teams an. Schon bei der Entwicklung klassischer IT-Systeme mussten Softwareentwickler, Fachanwender und Ingenieure in vielen Projekten eng zusammenarbeiten, aber häufig trafen sie eher in Auftraggeber-Auftragnehmer-Konstellationen aufeinander. Bei der Entwicklung von CPS ist das anders. Jede Partei ist zu gleichen Teilen für das Gelingen der Entwicklung verantwortlich. Aufgrund der Unterschiede in Ausbildung und Fachwissen scheitert es häufig am grundlegenden Verständnis für die „andere“ Seite.
Unternehmen müssen neue Formen der Zusammenarbeit finden und leben, um aus den unterschiedlichen Projektbeteiligten ein Team zu formen.
Der Interaction Room (IR) ist ein Projektinstrument, das den Aufbau so eines Teams unterstützt. Beim IR handelt es sich um einen echten Raum, in dem interdisziplinäre Projektteams regelmäßig zusammenkommen und Whiteboards, Pinnwände und Klebesymbole als klassische Instrumente der Zusammenarbeit einsetzen. Den Wänden dieses Raums, in der Terminologie des Interaction Room „Landkarten“ oder „Canvases“ genannt, kommt eine tragende Rolle zu. Auf ihnen dokumentieren die Beteiligten gut sichtbar Geschäftsmodelle, offene Punkte oder den Projektfortschritt. Die Projektmitglieder sehen in dem Raum, was sonst nur schwer zu fassen ist: die Abhängigkeiten zwischen Prozessen, Daten und Anwendungslandschaften.
Bei der Organisation können DevOps-Konzepte Entscheidern den Weg weisen. Der Begriff DevOps setzt sich aus „Dev“ für Anwendungsentwicklung (Development) und „Ops“ für IT-Betrieb (Operations) zusammen. DevOps stehen für das Zusammenrücken der beiden Bereiche mit dem Ziel, dass die Organisation Software schneller und fehlerfreier erstellen und zur Verfügung stellen kann. Gemeinsame Serviceverantwortung, gemeinsame Zielvereinbarungen: Diese Instrumente, kombiniert mit der organisatorischen Verankerung des neuen interdisziplinären Teams, überwinden die Unterschiede zwischen bisher getrennt voneinander arbeitenden Abteilungen.
Dieses Projektteam muss CPS anders entwickeln und in Betrieb nehmen als andere Informationssysteme. Dafür gibt es eine ganze Reihe von Gründen. Der wesentliche ist, dass die meisten CPS nicht unter vollständiger zentraler Regie laufen. CPS sind also eher als lose gekoppelte „Systeme von Systemen“ mit unterschiedlichen Autonomie- und Adaptivitätsgraden zu verstehen, weniger als homogene, monolithische Einzelsysteme.
Die unterschiedlichen Autonomiegrade der einzelnen Systeme bedeuten in aller Regel, dass kein kompletter Durchgriff auf die eingesetzte Hardware und Software möglich ist. Vielmehr müssen Entwickler mit heterogenen Aktoren, Sensoren und deren Systemsoftware rechnen.
Der Test solcher Systeme ist im Vergleich zu Einzelsystemen schwierig und weniger abdeckend. Auch der Übergang von Entwicklung zu Betrieb ist bei CPS kein punktgenauer. Vielmehr ist es so, dass Unternehmen Teilsysteme nach und nach in Betrieb nehmen. Die Experten müssen diese mit den schon laufenden Teilsystemen integrieren; auf diese Weise wird das gesamte CPS inkrementell in den Betrieb überführt [5].
In letzter Konsequenz bedeuten CPS, dass der IT-Betrieb seine Umgebung nicht mehr zu einhundert Prozent kontrolliert. Die Verantwortlichen müssen neue Elemente wie Maschinen oder Fahrzeuge und die Daten, die sie generieren, in ihre IT-Infrastruktur integrieren. Das sind Elemente, die teilweise nicht unter der Hoheit des eigenen Unternehmens stehen, die von ihren Betreibern ohne Absprache ausgetauscht oder ersetzt werden können. Das wirft Fragen nach Schnittstellen, Datenformaten, Datenqualität, Antwortzeiten oder Ähnlichem auf. Den Betriebsverantwortlichen wird es schwerfallen, Service-Level-Agreement zu garantieren, wenn sich wichtige Prozessteile außerhalb ihres Kontrollbereichs befinden. Diese Punkte müssen die Verantwortlichen bei der Planung von CPS besonders kritisch analysieren. In vielen Bereichen fehlt es noch an Standards oder Best Practices.
 

Fazit

 
Intelligenz in CPS entsteht nicht zufällig. Sie ist die Konsequenz einer durchdachten Entwicklungsarbeit, die sehr frühzeitig die charakteristischen Eigenschaften von CPS – flexibel, autonom, mobil und kontextsensitiv – in geeigneter Weise miteinander kombiniert. Richtig aufgebaut und eingesetzt steht Unternehmen mit CPS eine völlig neue Art von Systemen zur Verfügung, die dank ihres Potenzials viele Prozesse beeinflussen können.
Die Entscheider in Unternehmen müssen für die interdisziplinär besetzten Projektteams passende Rahmenbedingungen schaffen, in denen alle Beteiligten, ungeachtet von Fach-Know-how und Abteilungsherkunft, gemeinsam neue Systeme entwickeln können. Bei der Planung von Cyber-Physical Systems sollten die Verantwortlichen auf der DevOps-Idee aufsetzen – und gemeinschaftlich verantwortliche CPS-Teams schaffen.

Schlüsselwörter:

Cyber-Physical Systems, Digitale Transformation

Literatur:

[1] Book, M.; Gruhn, V.; Kleffmann, M.: Cyber-Physical Systems – Potenzial und Kompetenzen in NRW. URL: http://ikt.nrw.de/uploads/tx_dgdownload/1385368024-CPS_Potenzial_und_Kom..., Abrufdatum 26.07.2016.
[2] Book, M.; Gruhn, V.; Striemer, R.: Tamed Agility: Pragmatic Contracting and Collaboration in Agile Software Projects. Cham, Schweiz 2016.
[3] Cheng, B. H. C.; de Lemos, R.; Giese, H.; Inverardi, P.; Magee, J.; Andersson, J.; Becker, B.; Bencomo, N.; Brun, Y.; Cukic, B. u. a.: Software Engineering for Self-Adaptive Systems: A Roadmap. In: Cheng, B. H. C. (Hrsg): Software Engineering for Self-Adaptive Systems. Berlin Heidelberg 2009.
[4] Ghosh, D.; Sharman, R.; Rao, H. R.; Upadhyaya, S.: Self-Healing Systems – Survey and Synthesis. In: Decision Support Systems 42 (2007) 4, S. 2164-2185.
[5] Lee, J.; Bagheri B.; Kao, H.: A Cyber-Physical Systems architecture for Industry 4.0-based manufacturing systems. In: Manufacturing Letters 3 (2015), S. 18-23.