Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Anforderungen + KI = kognitives Requirements Engineering

Autor: Peter Schedl, IBM Deutschland GmbH

Beitrag - Embedded Software Engineering Kongress 2018

 

Daten treiben die Welt heute voran. Dazu sind Algorithmen, Künstliche Intelligenz (KI) und Maschinelles Lernen wichtige Themen beim Wandel zur digitalen Gesellschaft. Bei der System- oder Softwareentwicklung kommen ebenfalls eine Vielzahl von Daten ins Spiel. Produkte können aus Tausenden oder sogar Millionen von Anforderungen bestehen. Wie können größere Datenmengen besser verwertet werden, um die Kernelemente einer erfolgreichen Entwicklung mit der Einhaltung hoher Qualitätsstandards und dem raschen Reagieren auf Marktentwicklungen zu verbinden?

Im Vortrag werden Anwendungsmöglichkeiten vorgestellt, wie KI dem Ingenieur bei der Anforderungsdefinition helfen kann, um doppelte oder widersprüchliche Anforderungen in Spezifikationen zu erkennen. Daneben wird am Beispiel von IBM Watson Diensten gezeigt, wie Computerprogramme aus dem Bereich der Künstlichen Intelligenz es schaffen, dem Anwender eine Qualitätsbewertung seiner Anforderungen zurückzugeben und so die Effizienz in der Entwicklung zu steigern.

Gutes Anforderungsmanagement ist anstrengend

In der Produktentwicklung gibt es typischerweise mehrere Ebenen von Anforderungen und somit Anforderungsdokumenten. Zumindest jedoch gibt es immer ein Lastenheft, welches die Wünsche des Auftraggebers ausdrückt und ein Pflichtenheft, welches die Antwort des Lieferanten darstellt. Bereits auf dieser obersten Ebene gibt es tausende von Anforderungen und da die Produkte immer komplexer werden, steigt die Zahl immer weiter an.

Zusätzlich sind die Anforderungen oft nicht klar definiert. In der Vergangenheit gab es Ansätze, hier mit Regeln z.B. welche Wörter zu vermeiden sind oder auch mit festen Satzbausteinen zu besseren Anforderungen zu kommen. Aber alle diese Bemühungen führen einerseits zu mehr - wenn auch besseren - Anforderungen und andererseits wird Anforderungsmanagement dadurch deutlich aufwändiger und somit anstrengender.

Ein Anforderungsexperte als Assistent?

Künstliche Intelligenz ist in aller Munde, warum also nicht darauf zurückgreifen und die KI die guten Anforderungen erstellen lassen? Wie könnte das aussehen? Wir bräuchten einen Assistenten, der unsere gesprochenen oder eingegebenen Anforderungen analysiert und daraus gute Anforderungen ableitet.

Welche Fähigkeiten braucht unser Assistent? Als erstes muss er unsere natürliche Sprache verstehen. Derartige Systeme werden als NLP für Natural Language Processing bezeichnet und kommen bereits bei der Spracherkennung oder auch bei Übersetzern zum Einsatz. Im zweiten Schritt muss der Assistent wissen, was gute Anforderungen sind. Dies muss er über maschinelles Lernen (ML) trainiert haben.

Wie funktioniert Machine Learning?

Zunächst braucht es eine Menge an repräsentativen Daten. Da es hier um semantische Analyse geht, müssen die Daten anhand eines Typsystems annotiert und in ein Trainings- und ein Test-Set aufgeteilt werden. Daraus wird dann ein trainiertes ML-Modell erstellt. Eine besondere Bedeutung kommt dem Typsystem zu, welches die verschiedenen Entitäten und Beziehungen definiert, die wiederum die Grundlage für die Bewertung der Anforderungen bilden.

Als Beispiel soll die Anforderung "Die Flugsteuerung soll Bernoullis Gleichung als Steueralgorithmus verwenden" dienen. Diese Anforderung weist 3 Entitäten auf:

  • Flugsteuerung vom Typ Subsystem
  • Bernoullis Gleichung vom Typ Physikalisches Prinzip
  • Steueralgorithmus als Steuermethode

Des Weiteren gibt es vom Subsystem (Flugsteuerung) eine Beziehung "hat Steuermethode" zur Steuermethode.

Dieses Wissen wird per Annotation den Trainingsdaten hinzugefügt und damit der ML-Algorithmus trainiert. Anschließend wird mittels der Testdaten überprüf,t ob die KI bereits "gut genug" ist. Dafür gibt es 3 grundlegende Metriken. Siehe Bild 1 (PDF).

Den Assistenten zum Leben erweckt

Mittels Standarddiensten der Firma IBM wurde ein Prototyp eines Assistenten aufgebaut. Im Wesentlichen wurden dafür die Cloud Dienste IBM Watson Natural Language Understanding und IBM Watson Knowledge Studio [1] verwendet, um die Anforderungen aus dem Requirements Management Werkzeug DOORS Next Generation [2] qualitativ zu bewerten.

Für jede Anforderung werden 0 bis 100 Punkten vergeben, wobei 100 für eine gute Anforderung stehen. Zu jeder Bewertung kann die KI auch die Begründung abgeben, siehe Bild 2 (PDF).

Ergebnis

Es konnte gezeigt werden, dass mit heute verfügbaren KI-Werkzeugen qualitativ bessere Anforderungen erreicht werden können. Diese Techniken können ebenso auch auf industriespezifische Domänen angewandt werden; somit lassen sich anwenderspezifische Bewertungen erreichen.

Es ist absehbar, dass solche Anwendungen in Requirement Management Werkzeuge wie DOORS Next Generation einfließen werden und dann das Zeitalter des kognitiven Requirements Engineering anbricht.

Literatur- und Quellenverzeichnis

[1]        IBM Cloud Dienste
[2]        DOORS Next Generation

Autor

Peter Schedl befasst sich seit 25 Jahren mit Themen im Bereich der Entwicklung von mechatronischen Systemen. Bereits frühzeitig lernte er den Mehrwert eines modellbasierten Vorgehens bei der Erstellung von System-, HW- & SW-Architekturen schätzen. Im Rahmen von verschiedensten Projekten im Embedded-Umfeld konnte er erst Erfahrungen mit der Einführung von methodischen Vorgehensweisen sammeln und später als Berater weitergeben. Aktuell beschäftigt er sich mit den neuen Herausforderungen des Internet der Dinge.

Kontakt

E-mail: peter.schedl@de.ibm.com

 

Beitrag als PDF downloaden


Requirements - MicroConsult Trainings & Coachings

Wollen Sie sich auf den aktuellen Stand der Technik bringen?

Dann informieren Sie sich hier zu Schulungen/ Seminaren/ Trainings/ Workshops und individuellen Coachings von MircoConsult zum Thema Requirements /Embedded- und Echtzeit-Softwareentwicklung.

 

Training & Coaching zu den weiteren Themen unseren Portfolios finden Sie hier.


Requirements - Fachwissen

Wertvolles Fachwissen zum Thema Requirements/Embedded- und Echtzeit-Softwareentwicklung steht hier für Sie zum kostenfreien Download bereit.

Zu den Fachinformationen

 
Fachwissen zu weiteren Themen unseren Portfolios finden Sie hier.