WRSPM? Wie bitte? Oder: Was sich zwischen Welt und System befindet

Letzte Woche berichtete ich von den Keynotes der ReConf 2018. Ich hatte mich gefreut, dass Thorsten Weyer auf die Arbeit von Michael Jackson eingegangen ist. (Der Professor, nicht der Musiker). Zusammen mit Carl und Elsa Gunther, sowie Pamela Zawe hat er eine Einfache Beziehung zwischen fünf Artefakten aufgestellt, die mit WRSPM abgekürzt werden.

Auch wenn die Autoren dabei formal vorgehen, muss man kein mathematisches Vorwissen haben. Das Ziel von diesem Artikel ist es, WRSPM mit möglichst wenig Mathematik zu erklären. Und das ist für uns Systems Engineers wichtig: Denn wie Thorsten Weyer richtig bemerkt, ist es wichtiger denn je, das System in der Welt zu verstehen.

Das Paper der zitierten Autoren hat den Titel „A Reference Model for Requirements and Specifications“ und ist eine empfehlenswerte Lektüre. Schauen wir uns zunächst an, wofür die Buchstaben überhaupt stehen:

  • W – Welt: Also die Umgebung, in der das System agiert. Das ist allerdings aus mehreren Gründen ein schwammiger Begriff: Denn wo sollen wir aufhören? Wenn wir präzise sein wollen, dann müssten wir das gesamte Universum berücksichtigen. In der Praxis beziehen wir nur den für das System relevante Teil der Welt mit ein.
  • R – Requirement: Anforderungen (R) haben Auswirkungen in der Welt (W). Dementsprechend beschreiben wir mit den Anforderungen, wie die Welt sich bei einer erfolgreichen Implementierung des Systems verhalten soll. Zum Beispiel ist es ohne das System „Heizung“ kalt im Zimmer. Nach erfolgreicher Implementierung ist die Anforderung „Zimmer ist warm“ realisiert.
  • S – Spezifikation: Die Spezifikation (S) beschreibt, wie das System gedenkt, die Anforderungen (R) umzusetzen. Dabei muss es sich zwangsläufig auf Elemente des zu entwickelnden Systems beziehen (wie einen Heizkörper und Thermostat).
  • PM – Programm und Maschine: WRSPM bezieht sich ursprünglich auf Softwaresysteme, weswegen das Programm (P) und die eigentliche Maschine (M) getrennt betrachtet werden. Im Kontext des Systems Engineering können wir vereinfachen, indem wir diese als Einheit betrachten. Das hatte Weyer in seinem Vortrag übrigens auch gemacht. PM setzt die Spezifikation konkret um.

Na und?

Was haben wir nun von dieser Betrachtungsweise? Dazu schauen wir uns die Formel an, die sowohl im Paper als auch bei Weyer aufgeführt wird;

W, S ⊢ R

Das Symbol ⊢ wird „Turnstile“ genannt und die Formel kann auf deutsch übersetzt werden als:

Aus W und S folgt R

Oder umgangssprachlich ausgedrückt:

Wenn die Umgebung sich so verhält wie wir erwarten, und die Spezifikation gültig ist, dann sind die Anforderungen erfüllt.

Auch hier ist die Heizung wieder ein gutes Beispiel: Wir haben vielleicht die Annahme getroffen, dass es draußen nicht kälter ist als -5°C. Wenn es aber besonders kalt ist, vielleicht -15°C, dann kommt die Heizung nicht gegen die Kälte an. Die Anforderung kann also nur dann garantiert umgesetzt werden, wenn sich die Welt den Betriebsbedingungen des Systems entsprechend verhält. Sonst können wir das nicht garantieren.

Variablen

So weit so gut. Den Lesern sollte klar sein, dass es bei den obigen Beziehungen nicht nur um eine Anforderung geht, sondern dass R eine Menge von Anforderungen ist, also ein Vektor. Das trifft auch auf W und S zu.

Die einzelnen Elemente kann man umgangssprachlich ausdrücken, so wie ich es gerade getan habe. Aber um einen wirklichen Mehrwert in der Analyse zu haben müssen die Artefakte formalisiert werden. Dazu werden Variablen eingeführt, die in vier Kategorien eingeteilt werden: Es gibt Variablen der Welt und Variablen des Systems. Zum Beispiel ist die Raumtemperatur eine Variable der Welt. Der Messwert des Temperatursensors hingegen ist eine Variable des Systems. Diese zwei Sensoren stehen normalerweise in einem klar definierten Zusammenhang; außer, der Sensor ist kaput, oder wird außerhalb der erlaubten Betriebsparameter eingesetzt. Weiterhin können Variablen als sichtbar oder unsichtbar klassifiziert werden, wodurch wir die vier Kategorien bekommen.

Hier wird vielleicht klar, dass diese Variablen für systematische Analysen herangezogen werden können, zum Beispiel, um verschiedene Arten des Systemversagens zu untersuchen.

Was ist heute anders?

Das zitierte Paper wurde vor 20 Jahren veröffentlicht, ist also nicht gerade neu. Wie aber Weyer in seinem Vortrag bemerkte, hat sich eine wichtige Sache verändert: Bis vor kurzem wurde dieser Ansatz in der Entwicklung eingesetzt, um Systeme korrekt zu entwickeln. Mit dem Einzug selbstlernender Systeme wird es mittelfristig notwendig, diese Beziehung im Betrieb kontinuierlich auszuwerten. Aktivitäten, die bisher in der Entwicklung von Menschen durchgeführt wurden, werden in der Zukunft zur Laufzeit von Maschinen ausgeführt:

  • Zwischen verschiedenen Möglichkeiten, die Anforderungen (R)  zu erfüllen, eine Umsetzung (S) auswählen.
  • Auf Veränderungen in der Welt (W) reagieren und sicherstellen, dass die Anforderungen (R) nach wie vor optimal umgesetzt werden.
  • Falls die Anforderungen (R) nicht mehr sicher umgesetzt werden können, entsprechend reagieren. Dass kann auf eine alternative Umsetzung (S) herauslaufen, oder auf angepasste Anforderungen (R).

Fazit

Wer WRSPM verstanden hat kann sicher bestätigen, dass das Konzept sinnvoll und intuitiv ist. Und gute Ingenieure sagen vielleicht, dass wir eigentlich schon immer diese Beziehungen verstanden haben, ohne ihr einen Namen zu geben. Doch mit dem Advent der autonomen Systeme wird es Notwendig, auch die Formalisierung dieser Beziehung zu verstehen. Wie Thorsten Weyer korrekt bemerkte, das Anforderungs-Engineering wird eine Renaissance erleben, die es in sich hat.

Photo by Ishan @seefromthesky on Unsplash

Dieser Artikel erschien zuerst bei se-trends.de.