Systems Engineering Trends

Jede Woche Neuigkeiten aus der Welt des Systems Engineering

AnforderungenWerkzeuge

Wie „Alexa für Systems Engineering“ aussehen könnte

Egal ob Siri, Alexa, Google oder Cortana: Digitale Assistenten treten vermehrt auf und wollen unser Leben vereinfachen. Die Einfachheit trügt. Als Nutzer sprechen wir einfach drauf los und bekommen eine (hoffentlich hilfreiche) Antwort. Doch hinter den Kulissen läuft enorm viel ab.

Wie würde ein digitaler Assistent für das Systems Engineering aussehen? Darum geht es in diesem Artikel. Die Frage ist nicht ganz uneigennützig, denn mit meinem Team arbeite ich zur Zeit an so einem Assistenten. Dazu habe ich exklusive Informationen für SE-Trends-Leser zusammengestellt.

Alexa, regnet es heute?

Schauen wir uns zunächst an, wie ein digitaler Assistent wie Alexa überhaupt funktioniert. Das folgende Bild stellt dies vereinfacht dar:

Unabhängig davon, wo die Datenverarbeitung stattfindet (Cloud oder Gerät), wird zunächst die Eingabe übersetzt. Diese Übersetzung findet nicht in einem Schritt statt. Als erstes muss die Sprache in Text umgewandelt werden, wobei viele Interpretationen mit unterschiedlichen Wahrscheinlichkeiten auftreten. Das für die Verarbeitung relevante Ergebnis ist jedoch ein Modell. Dieses Enthält die Essenz der Anfrage in einer Form, die von Maschinen verarbeitet werden kann.

Je nachdem, in welche Kategorie die Anfrage gehört, wird das Modell eine passende Struktur haben. Während eine Wettervorhersage einen Ort und einen Zeitrahmen benötigt, so muss für eine Musikanfrage bspw. das Genre oder eine Künstler angegeben werden.

Im letzte Schritt arbeitet das System das Ergebnis in einer Art und Weise auf, die für den Menschen verständlich ist. Um bei dem Beispiel zu bleiben: Eine Regenwahrscheinlichkeit von 78% könnte in ein eindeutiges „Ja“ übersetzt werden.

Assistenten im Systems Engineering

Ähnlich könnte auch ein Assistent im Systems Engineering arbeiten, also indem menschliche Sprache in ein Modell umgewandelt wird, um dann ein für den Menschen verständliches Ergebnis zurückzuliefern. Es gibt natürlich auch wichtige Unterschiede:

  • Ein Assistent für SE würde nicht mit gesprochener Arbeit arbeiten, sondern mit „schriftlich“ festgehaltenen Informationen (Text, Diagramme, Modelle, etc.).
  • So ein Assistent könnte zwar auch auf eine Aufforderung warten, würde aber häufig auch autonom auf Änderungen reagieren
  • Das Ergebnis wird häufig eine Aufforderung an den Menschen sein, tätig zu werden. Es gibt zwar sicherlich auch nützliche Artefakte, die generiert werden können (bspw. Dashboards), aber bei Änderungen sollte nun doch der Mensch das letzte Wort haben. Ein Assistent könnte zum Beispiel einen Trace als überflüssig markieren, doch der Mensch sollte entscheiden, ob der Trace wirklich entfernt werden soll oder nicht.

Konkret könnte so ein Assistent also wie im folgenden Bild dargestellt arbeiten:

In diesem Beispiel verarbeitet der Assistent textuelle Anforderungen. Im Bild ist lediglich eine Anforderung dargestellt. Um ein wie in der Mitte gezeigtes Modell zu extrahieren, muss der Assistent natürlich die gesamte Spezifikation verarbeiten, nicht nur einzelne Anforderungen. Dies ist übrigens eines der wichtigsten Unterscheidungsmerkmale vom gezeigten Assistenten Semiant, verglichen mit aktuell verfügbaren Systemen. Diese beschränken sich in der Regel auf die Analyse einzelner Anforderungen, um bspw. Weak-Words hervorzuheben.

In diesem Fall ist das Ergebnis eine Analyse des Modells, in der Unklarheiten identifiziert und dem Nutzer in der Form von Fragen präsentiert werden. Die Antworten fließen dann zurück ins die Spezifikation.

Das Modell

Das in Beispiel gezeigte Modell ist ein Klassendiagramm. In diesem Beispiel haben wir ein Domänenmodell aus den Anforderungen extrahiert. Damit erkennen wir Konzepte und deren Beziehungen zueinander. Nur um es gleich klarzustellen: Auch wenn wir hier exemplarisch für die Modellierung auf die UML zurückgegriffen haben, muss hier keine standardisierte Notation zum Einsatz kommen. Schließlich wird das Modell nur „hinter den Kulissen“ verwendet. Mit den Nutzern kommuniziert der Assistent nur in dessen Sprache. Wenn die Nutzer jedoch bereits modellieren, dann könnte der Assistent natürlich auch in der Sprache arbeiten. Zum Beispiel durch das Anlegen von Blöcken und der Allocation von Anforderungen.

Fazit

Genauso wie ein digitaler Assistent eine „Enabling Technology“ ist, so trifft das auch auf einen Qualitätsassistenten wie Semiant zu. Alexa konnte anfangs nicht viel, aber über die Zeit hat Amazon immer mehr Anwendungsfälle bereitgestellt und dies auch Drittanbietern ermöglicht. Ebenso wird Semiant einfach nur einen Glossar extrahieren, sich dann aber immer mehr „Skills“ aneignen.

Sicherlich bin ich nicht der einzige, der an einem digitalen Assistenten für die Produktentwicklung arbeitet. Doch mit Hilfe der SE-Trends-Community hoffe ich eine Lösung zu entwickeln, die einen echten Mehrwert schafft. Wenn Sie mir dabei helfen möchten, dann besuchen Sie diese Seite bei Semiant.

Photo by Ivan Bandura on Unsplash

Michael Jastram

Creator and Author of SE-Trends