-
Gebiet der Erfindung
-
Die vorliegende Offenbarung bezieht sich auf das Gebiet des Anforderungsmanagements. Insbesondere offenbart sie ein Verfahren und System zum Verarbeiten technischer Anforderungen unter Verwendung von Techniken der Künstlichen Intelligenz.
-
Hintergrund der Erfindung
-
Moderne industrielle Systeme, wie etwa ein Fahrzeug, verwenden verschiedene Softwareprogramme, die die Funktionen der zahlreichen Sensoren und anderer Hardware innerhalb des Fahrzeugs unterstützen und effizient ausführen. Diese Software manifestiert sich in der Hardware, die ein Anforderungsmanagement benötigt. Anforderungsmanagement (Requirements Engineering, RE) ist der Prozess des Definierens, Dokumentierens und Pflegens von Anforderungen im technischen Entwicklungsprozess. Zu Beginn eines neuen Projekts legt der Kunde in unterschiedlichen Abständen verschiedene Dokumente mit technischen Anforderungen vor. Diese Dokumente kommen in verschiedenen Formaten, beispielsweise als DDT-Blatt, Excel-, CSV- oder Bilddatei, und sind in unterschiedlichen Sprachen verfasst. Bislang analysiert der Anforderungsmanager (Requirements Engineer) zu Beginn eines neuen Projekts zunächst die Kundenanforderungen, um die Systemanforderungen zu erstellen, und anschließend werden die Produkteigentümer (Product Owners) einbezogen, um die Softwareanforderungen zu formulieren. Nachdem dies geschehen ist, beginnt der Überprüfungsprozess mit dem Prüfteam. Dadurch entsteht im Allgemeinen für den Anforderungsmanager ein Durcheinander an verschiedenen Formaten, zahlreichen Sprachen und Referenzdokumenten, was Verzögerungen bei der finalen Übergabe des Projekts zur Folge hat.
-
Das chinesische Patent
CN106339366 B mit dem Titel „Artificial intelligence-based demand recognition method and device“ schlägt ein auf künstlicher Intelligenz basierendes Bedarfserkennungsverfahren und -gerät vor, wobei das auf künstlicher Intelligenz basierende Bedarfserkennungsverfahren die folgenden Schritte umfasst: Erhalten von Bedarfsinformationen; das Informationswort, um eine Mehrzahl von Sätzen zu bilden; Ermitteln der Nähe zwischen der Mehrzahl von Sätzen und Syntaxinformationen; gemäß der Nähe der Syntaxinformationen und der Bedarfsinformationen Voreinstellen einer Abhängigkeitssyntaxbaum-Anforderungsidentifikation. Die vorliegende Erfindung basiert auf Verfahren zur Bedarfsidentifizierung mittels künstlicher Intelligenz und kann der Forderung nach Erkennungsgenauigkeit und -effizienz effektiv nachkommen.
-
Kurze Beschreibung der beigefügten Zeichnungen
-
Eine Ausführungsform der Erfindung wird unter Bezugnahme auf die folgenden beigefügten Zeichnungen beschrieben. Es zeigen:
- 1 ein System (10) zum Verarbeiten technischer Anforderungen und eine Anforderungsmanagement(RE)-Umgebung;
- 2 Schritte eines Verfahrens (200) zum Verarbeiten technischer Anforderungen;
- 3 die Darstellung einer grafischen Benutzerschnittstelle für eine Anforderungsspezifikation, die anhand der vorstehenden Verfahrensschritte (200) und des Systems (10) extrahiert wurde.
-
Ausführliche Beschreibung der Zeichnungen
-
1 zeigt ein System (10) zum Verarbeiten technischer Anforderungen und eine Anforderungsmanagement(RE)-Umgebung. Eine herkömmliche Anforderungsmanagement(RE)-Umgebung umfasst mehrere Beteiligte, wie den Anforderungsmanager, den Produkteigentümer und das Prüfteam, die umfangreiche manuelle Arbeit leisten und intensiv zusammenarbeiten müssen, bevor die technischen Anforderungsspezifikationen formuliert und zur Softwareentwicklung und -prüfung weitergeleitet werden können. Das vorgeschlagene System (10) soll die manuelle Arbeit der verschiedenen Beteiligten automatisieren und die technischen Anforderungsspezifikationen, die für die Softwareentwicklung und -prüfung verwendet werden können, direkt erstellen.
-
Das System (10) zum Verarbeiten technischer Anforderungen umfasst eine Eingabeschnittstelle (11), eine Ausgabeschnittstelle (14) und mindestens einen Prozessor (12). Die Eingabeschnittstelle (11) ist dazu ausgelegt, eine Mehrzahl von Dokumenten in einer Mehrzahl von Formaten zu empfangen, wobei die Eingabeschnittstelle (11) mit dem Prozessor (12) in Verbindung steht. Die Eingabeschnittstelle (11) empfängt verschiedene Formate von Dokumenten, wie etwa Word, HTML, Excel, CSV, DDT(Diagnostic Definition Table)- und CDD(CANdelaStudio Diagnostic Description)-Blätter, Bilder und PDFs.
-
Der Prozessor (12) kann entweder eine logische Schaltung oder eine in einer Cloud befindliche Software sein, die auf logische Befehle reagiert und diese verarbeitet, um ein aussagekräftiges Ergebnis zu erhalten. Ein Hardwareprozessor (12) kann in Form von einem oder mehreren Mikrochips oder integrierten Schaltkreisen, die über eine Hauptplatine miteinander verbunden sind, festverdrahteter Logik, durch eine Speichervorrichtung gespeicherter und durch einen Mikroprozessor (12) ausgeführter Software, Firmware, einer anwendungsspezifischen integrierten Schaltung (Application Specific Integrated Circuit, ASIC) und/oder einem feldprogrammierbaren Gate-Array (Field Programmable Gate Array, FPGA) oder einer Kombination davon implementiert sein. Bei einer beispielhaften Ausführungsform der vorliegenden Offenbarung führt der Prozessor (12) ein KI-Modul aus.
-
Ein KI-Modul im Sinne dieser Offenbarung kann als Referenz- oder Inferenzdatensatz definiert sein, der verschiedene Formen von Korrelationsmatrizen verwendet. Anhand dieser Modelle und der Daten aus diesen Modellen können Korrelationen zwischen verschiedenen Datentypen hergestellt werden, um zu einem logischen Verständnis der Daten zu gelangen. Der Fachmann wird die verschiedenen Arten von KI-Modellen, wie etwa lineare Regression, den Naiven Bayes-Klassifikator, Support Vector Machines, neuronale Netze und dergleichen, kennen. Das KI-Modul kann als ein Satz von Softwareanweisungen, eine Kombination von Software und Hardware oder eine Kombination derselben implementiert sein. Neuronale Netzchips sind beispielsweise spezielle Siliziumchips, die KI-Technologie enthalten und für maschinelles Lernen verwendet werden. In der vorliegenden Offenbarung ist das Kl-Modell dazu in der Lage, Algorithmen auszuführen, die auf der Verarbeitung von natürlicher Sprache (Natural Language Processing, NLP) basieren.
-
Der Prozessor (12) ist zu Folgendem konfiguriert: Lesen und Parsen von Informationen aus der Mehrzahl von Dokumenten; Ausführen eines KI-Moduls auf den geparsten Informationen auf der Grundlage eines in einem Speicher gespeicherten Wissensgraphen, um technische Anforderungen in eine benutzerdefinierte Standardvorlage zu extrahieren; Aktualisieren des Wissensgraphen auf der Grundlage von Änderungen, die von einer Ausgabeschnittstelle (14) empfangen werden. Der Wissensgraph umfasst Beziehungen zwischen Schlüsselwörtern verschiedener Kommunikationsprotokolle und -standards und den entsprechenden Zuständen, Funktionen, Werten und Signalen. Das KI-Modul zu Folgendem konfiguriert: Annotieren von Wortvektoren in den geparsten Informationen, um Zustände, Funktionen, Werte und Signale zu identifizieren; Ableiten von technischen Anforderungen auf der Grundlage der annotierten Wortvektoren und des Wissensgraphen.
-
Die Ausgabeschnittstelle (14) überträgt und empfängt Informationen vom Prozessor (12). Die Ausgabeschnittstelle (14) ist zu Folgendem konfiguriert: Anzeigen der extrahierten technischen Anforderungen in der benutzerdefinierten Standardvorlage; Empfangen von Änderungen an den extrahierten technischen Anforderungen von einem Benutzer. Die Komponenten des Systems (10) zum Verarbeiten technischer Anforderungen werden anhand ihrer Funktionalität unterschieden. Die Funktionalität der vorstehenden Komponenten wird bei der Erläuterung der Verfahrensschritte 200 genauer betrachtet.
-
Es versteht sich von vornherein, dass, wenngleich beispielhafte Ausführungsformen in den Figuren dargestellt und nachstehend beschrieben sind, die vorliegende Offenbarung in keiner Weise auf die in den Zeichnungen dargestellten und nachstehend beschriebenen beispielhaften Implementierungen und Techniken beschränkt sein soll.
-
2 zeigt Schritte eines Verfahrens zum Verarbeiten technischer Anforderungen. Die Verfahrensschritte (200) werden durch die Komponenten des Systems (10) zum Verarbeiten technischer Anforderungen, wie sie unter Bezugnahme auf 1 beschrieben sind, ausgeführt. Das Verfahren zum Verarbeiten technischer Anforderungen verwendet das unter Bezugnahme auf 1 beschriebene KI-basierte System (10).
-
Der Verfahrensschritt 201 umfasst das Empfangen einer Mehrzahl von Dokumenten in einer Mehrzahl von Formaten über die Eingabeschnittstelle (11). Im Kontext der Anforderungsmanagement(RE)-Umgebung gibt (geben) der (die) Kunde(n) seine (ihre) Anforderungen in verschiedenen Dokumentenformaten, wie Word, HTML, Excel, CSV, DDT-/CDD-Blätter, Bildern und PDFs, ein.
-
Der Verfahrensschritt 202 umfasst das Lesen und Parsen von Informationen aus der Mehrzahl von Dokumenten mit Hilfe des Prozessors (12). Bei einer beispielhaften Ausführungsform des vorgeschlagenen Verfahrens würde das System alle vorstehenden Dokumente mit Hilfe fortschrittlicher Python-Bibliotheken genau analysieren, um ein Wörterbuch als Ausgabe zu generieren, das bei der Bearbeitung der Kundenanforderungen als Referenz verwendbar wäre. Der Prozessor (12) ist ferner dazu konfiguriert, Bilder und Tabellen in den Dokumenten zu lesen und dann eine Konturenerkennung durchzuführen, um die Zustandsmaschine oder das Flussdiagramm zu identifizieren. Auf jede der identifizierten Konturen werden Bildverarbeitungsalgorithmen angewandt, wie etwa Dilation und Erosion, sowie Schwellenwertbildung, um das Rauschen in den Bildern zu reduzieren. Nach der Anwendung von Algorithmen zur Rauschreduzierung durchläuft die Kontur ein Modell, das Text im Bild identifiziert. Dieser Verfahrensschritt funktioniert mit mehreren Sprachen und gibt Zeichenketten aus. Die für jede Kontur ausgegebenen Zeichenketten werden in einer verknüpften Liste gespeichert, und schließlich wird aus der Zustandsmaschine bzw. dem Flussdiagramm eine Wortvektorliste gebildet, die vom KI-Modell zur Vorhersage verwendet werden kann.
-
Der Verfahrensschritt 203 umfasst das Ausführen des KI-Moduls auf den geparsten Informationen auf der Grundlage eines in einem Speicher des Prozessors (12) gespeicherten Wissensgraphen, um technische Anforderungen in einer benutzerdefinierten Standardvorlage zu extrahieren. Der Wissensgraph umfasst Beziehungen zwischen Schlüsselwörtern verschiedener Kommunikationsprotokolle und -standards und den entsprechenden Zuständen, Funktionen, Werten und Signalen. Die Kommunikationsprotokolle und -standards im Zusammenhang mit dieser Offenbarung beinhalten unter anderem ISO, Automotive Open System (10) Architecture (AUTOSAR), Unified Diagnostic Services (UDS) usw. Hier umfasst das Ausführen des KI-Moduls ferner zunächst das Annotieren von Wortvektoren in den geparsten Informationen, um Zustände, Funktionen, Werte und Signale zu identifizieren, und anschließend das Ableiten von technischen Anforderungen auf der Grundlage der annotierten Wortvektoren und des Wissensgraphen.
-
In diesem Verfahrensschritt 203 nimmt das KI-Modell die Ausgaben aus den geparsten Dokumenten einschließlich der Bildinformationsextraktoren als Eingabe und verwendet die Algorithmen zur Verarbeitung natürlicher Sprache (Natural Language Processing, NLP), um aus den extrahierten Informationen nützliche Details abzuleiten. Die geparsten Informationen werden in Wortvektoren umgewandelt und dann zunächst mit den Datenannotationen interferiert, um Zustände, Signale, Werte und Schlüsselwörter zu identifizieren. Im Anschluss daran werden die erlernten Daten (d. h. die Signale, Zustände und Werte der Kommunikationsprotokolle und -standards) mit dem bereits vorhandenen Wissensgraphen abgeglichen, um zu einer internen Anforderung zu gelangen. Schließlich wird die endgültige technische Anforderung erstellt, entweder unter Verwendung einer syntaxbasierten Ausgabe oder eines NLPbasierten Satzbildungsalgorithmus.
-
Verfahrensschritt 204 umfasst das Anzeigen der extrahierten technischen Anforderungen in der benutzerdefinierten Standardvorlage über die Ausgabeschnittstelle (14). Bei einer beispielhaften Ausführungsform der vorliegenden Erfindung kann die Ausgabeschnittstelle (14) als eine Webseite über den Server, auf dem sich der Prozessor (12) befindet, gehostet werden. Die Ausgabeschnittstelle (14) beinhaltet eine interaktive Benutzeroberfläche, auf der der Benutzer die gewünschten internen Anforderungen auswählen und ändern kann. Das Anzeigen der extrahierten technischen Anforderungen umfasst ferner das Empfangen von Änderungen (sofern vorhanden) an den extrahierten technischen Anforderungen von einem Benutzer über die Ausgabeschnittstelle (14). Wenn die Anforderungen geändert werden, kann das KI-Modell für künftige Vorhersagen neu trainiert werden, womit sich der Kreislauf schließt. Der im Speicher des Prozessors (12) gespeicherte Wissensgraph wird ebenfalls auf der Grundlage der vom Benutzer erhaltenen Änderungen aktualisiert.
-
3 ist eine grafische Darstellung der Benutzeroberfläche für eine Anforderungsspezifikation, die anhand der vorstehenden Verfahrensschritte (200) und des Systems (10) extrahiert wurde. Im Folgenden wird ein Beispiel dafür beschrieben. Es soll von einer Kundenanforderung ausgegangen werden:-ID: DIAG_<CS.00100_B>75 RQMT 5.3.1-1 Die folgende Tabelle definiert generische Regeln für den Sitzungssteuerungsdienst, CDD (CANdela Studio Diagnostic Description) definiert Anforderungen für die Anwendungen. Tabelle 6 - Definition der Anforderungsnachricht
A_Data byte | Parameter-Bezeichnung | Cvt | Hex-Wert | Mnemonic |
#1 | Diagnostic Session Control Request Service Id | M | 10 | STDS |
#2 | sub-function = [ diagnostic Session Type (siehe Tabelle 7) | M | 00-FF | LEV_DS_ |
Object_Type: Anforderung |
-
Interferenz durch KI-Werkzeug
-
Nach dem Hochladen der Anforderungsdatei wird die erste Anforderung geladen. Da die Anforderung ein Bild enthält, wird das Bild/die Tabelle zunächst anhand von Bildverarbeitungsalgorithmen geparst und die Daten werden in Form eines Wörterbuchs extrahiert. Anschließend identifiziert das System die Schlüsselwort-CDD, und das Werkzeug erhält nun eine Referenz aus dem hochgeladenen CDD-Blatt.
| | Diagnosedienste | | | | | |
| | | | Konvertierung | | | l |
Unterstützt | Name | Position | Standardwert | Typ | Name | ID | Sicherheitsstufe | Unterstützt |
X | $1001 - Default Session (Standardsitzung) | | | | | | | X |
X | Diagnostic Session Control Request Service Id | 0 [0] | 10 | Identisch | 1-byte HEX | 13 | | |
X | Default Session | 1 [0] | 1 | Identisch | 1-byte HEX | 13 | | |
X | Diagnostic Session Control Response Service Id | 0 [0] | 50 | Identisch | 1-byte HEX | 13 | | |
X | Default Session | 1 [0] | 1 | Identisch | 1-byte HEX | 13 | | |
X | P2 CAN ECU max | 2 [0] | | Linear | P2 CAN ECU max | 13 | | |
| | | | | P2* CAN ECU | | | |
X | P2* CAN ECU max | 4 [0] | | Linear | max | 14 | | |
| $1002 - Programming Session | | | | | | | |
X | (Programmierungssitzung) | | | | | | | X |
X | Diagnostic Session Control Request Service Id | 0 [0] | 10 | Identisch | 1-byte HEX | 13 | | |
X | Programming Session | 1 [0] | 2 | Identisch | 1-byte HEX | 13 | | |
X | Diagnostic Session Control Response Service Id | 0 [0] | 50 | Identisch | 1-byte HEX | 13 | | |
X | Programming Session | 1 [0] | 2 | Identisch | 1-byte HEX | 13 | | |
X | P2 CAN ECU max | 2 [0] | | Linear | P2 CAN ECU max | 13 | | |
| | | | | P2* CAN ECU | | | |
X | P2* CAN ECU max | 4 [0] | | Linear | max | 14 | | |
| $1003 - Extended Diagnostic Session | | | | | | | |
X | (erweiterte Diagnosesitzung) | | | | | | | X |
X | Diagnostic Session Control Request Service Id | 0 [0] | 10 | Identisch | 1-byte HEX | 13 | | |
X | Extended Diagnostic Session | 1 [0] | 3 | Identisch | 1-byte HEX | 13 | | |
X | Diagnostic Session Control Response Service Id | 0 [0] | 50 | Identisch | 1-byte HEX | 13 | | |
X | Extended Diagnostic Session | 1 [0] | 3 | Identisch | 1-byte HEX | 13 | | |
X | P2 CAN ECU max | 2 [0] | | Linear | P2 CAN ECU max | 13 | | |
| | | | | P2* CAN ECU | | | |
X | P2* CAN ECU max | 4 [0] | | Linear | max | 14 | | |
-
Nachdem das CDD-Blatt geparst wurde, fährt das Werkzeug mit dem NLP-Abgleich fort. Das Wörterbuch, das mit sämtlichen Informationen aus dem Text in der Anforderung, den Informationen aus dem Bild/der Tabelle und dem CDD-Blatt erstellt wurde, wird dann mit dem Wissensgraphen abgeglichen, der die Grundlage für den Abgleich darstellt. Die bestmöglichen Übereinstimmungen werden dann gemäß 3 angezeigt, damit der Benutzer die interne Anforderungen auswählen kann. Es besteht die Möglichkeit, mehrere interne Anforderungen für eine Kundenanforderung auszuwählen. Außerdem kann ein Teil der internen Anforderung als Beschreibung gekennzeichnet werden. Wenn der Benutzer entscheidet, eine Anforderung zu ändern, und wenn die Änderung umfangreich ist, wird das Modell neu trainiert, und der Wissensgraph wird mit den entsprechenden Informationen aktualisiert.
-
Der Fachmann wird erkennen, dass diese Verfahrensschritte nur eine Reihe von Schritten zur Umsetzung der Ziele beschreiben und dass diese Methoden auch mit kundenspezifischen Änderungen und Anpassungen an das hier beschriebene System (10) umsetzbar sind.
-
Die Idee, ein Verfahren und System (10) zum Verarbeiten technischer Anforderungen zu entwickeln, zielt darauf ab, die Dauer eines Softwareentwicklungslebenszyklus (Software Development Life Cycle, SDLC) anhand eines agilen Ansatzes zu verkürzen. Die Verwendung des vorgeschlagenen Verfahrens und Systems (10) stellt eine allgemeine Anforderungsvorlage für alle Produktbereiche und zahlreiche Projekte bereit, die sowohl für Entwickler als auch für Tester einfach zu handhaben ist. Das vorgeschlagene Verfahren und System (10) ist in die verfügbaren Frameworks zur Testfallgenerierung und -ausführung integrierbar, um eine End-to-End-Automatisierung zu erreichen. Dadurch wird der zeitliche Versatz zwischen der vom Kunden erwarteten und der tatsächlichen Lieferfrist verringert.
-
Es sei darauf hingewiesen, dass die in der vorstehenden ausführlichen Beschreibung erläuterten Ausführungsformen nur der Veranschaulichung dienen und den Schutzumfang dieser Erfindung nicht einschränken. Jegliche Änderungen des Verfahrens und Systems (10) zum Verarbeiten technischer Anforderungen sind denkbar und bilden einen Bestandteil dieser Erfindung. Der Schutzumfang dieser Erfindung ist allein durch die Ansprüche begrenzt.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-