Maßgeschneiderte digitale Fäden und Knowledge Graphen

In Implementierungsprojekten von Unternehmenssoftware und insbesondere PLM-Systemen spricht man davon, dass diese Systeme an die jeweiligen Geschäftsprozesse angepasst und wie ein Maßanzug geschneidert werden müssen. Und maßgeschneiderte Anzüge zeichnen sich auch durch sehr guten Zwirn aus und dieses Nähgarn ist in Industrieunternehmen der Digital Thread.

Bild von WaveGenerics auf Pixabay

Der Begriff “Digital Thread” bezieht sich auf die digitale Verknüpfung von Daten und Informationen, die über den gesamten Lebenszyklus eines Produkts oder Systems fließen. In der Produktentwicklung  spielt er eine entscheidende Rolle, indem er eine durchgängige, digitale Informationskette schafft, die von der Konzeption über die Entwicklung und Fertigung bis hin zum Betrieb und ggf. Recycling eines Produkts reicht. Es ist also ein recht langer Faden mit einer gewissen Reißfestigkeit.

In der heutigen digitalen Ära erweist sich ein Knowledge Graphen als das passende Werkzeug für das Verständnis komplexer Datenlandschaften und eine Realisierung eines vollständigen Digital Threads. Um zu verstehen, wie ein Knowledge Graph die konzeptionelle Umsetzung eines umfassenden Digital Threads darstellt, lohnt es sich, einen Blick auf die Grundlagen der Graphentheorie und insbesondere auf gerichtete Graphenmodelle zu werfen.

Die Graphentheorie befasst sich mit der Untersuchung von Graphen, die aus Knoten (oder Ecken) und Kanten (Verbindungen zwischen diesen Knoten) bestehen. Graphen dienen als abstrakte Modelle zur Darstellung von Beziehungen zwischen Objekten und sind in der Lage, komplexe interdisziplinäre Netzwerke zu beschreiben.

Gerichtete Graphen sind eine spezielle Art von Graphen, bei denen jede Kante eine Richtung aufweist. Dies bedeutet, dass die Beziehung zwischen zwei Knoten nicht symmetrisch ist; vielmehr zeigt die Kante von einem Knoten (dem Ursprung) zu einem anderen Knoten (dem Ziel). Diese gerichteten Verbindungen eignen sich hervorragend zur Darstellung von Datenflüssen, Abhängigkeiten und Hierarchien, was sie zu einem idealen Modell für die Strukturierung von Knowledge Graphen macht.

Ein Knowledge Graph nutzt diese gerichteten Graphenmodelle, um Wissen und Informationen innerhalb eines bestimmten Kontexts zu organisieren und darzustellen. Jeder Knoten im Graphen repräsentiert ein Datenobjekt (z.B. ein Produkt, eine Komponente oder einen Prozess), während jede gerichtete Kante eine Beziehung oder Abhängigkeit zwischen diesen Objekten symbolisiert. Durch die Einbettung von Metadaten und Eigenschaften in Knoten und Kanten werden komplexe Informationsnetzwerke erschaffen, die nicht nur die Einzelteile, sondern auch deren Interaktionen und Abhängigkeiten darstellen.

Im Rahmen eines Digital Threads ermöglicht der Einsatz eines Knowledge Graphen die konzeptionelle Verwirklichung einer vollständig vernetzten und interaktiven Datenlandschaft. Er verknüpft alle relevanten Informationen und Prozesse entlang des gesamten Lebenszyklus eines Produkts oder Systems. Von der ersten Idee über Design, Entwicklung, Fertigung bis hin zur Nutzung und Wartung werden alle Daten und Beziehungen in einem zentralen, durchsuchbaren und erweiterbaren Modell abgebildet. Diese umfassende Vernetzung fördert nicht nur eine effizientere Datenverwaltung und Entscheidungsfindung, sondern unterstützt auch die Agilität und Innovationsfähigkeit von Unternehmen.

Durch die Anwendung von Graphentheorie und gerichteten Graphenmodellen in Knowledge Graphen werden somit die theoretischen Grundlagen und technologischen Rahmenbedingungen für die Realisierung eines Digital Threads geschaffen. Soweit die akademische Theorie.

Das was bedeutet das jetzt in der praktischen Umsetzung und welche Herausforderungen lauern dort?

Heterogene Datenquellen

Eine verteilte Systemlandschaft und eine eher vielschichtige IT-Unternehmensarchitektur ist in den allermeisten Fällen die Realität in Unternehmen, auch wenn sich PLM- und ERP-Systeme als Integrationsschichten etabliert haben. Neben der rein technischen Herausforderung birgt das auch eine organisatorische Aufgabe. Zum organisatorischen Aspekt verweise ich gern auf den diesen Blogartikel und möchte weitere beachtenswerte Punkte benennen:

  • Datenintegration: Heterogene Datenquellen können in unterschiedlichen Formaten vorliegen, darunter strukturierte Daten (z.B. in relationalen Datenbanken), semi-strukturierte Daten (z.B. XML, JSON) und unstrukturierte Daten (z.B. Textdokumente, E-Mails). Die Integration dieser vielfältigen Daten in einen kohärenten Knowledge Graph erfordert effektive Methoden zur Datenextraktion, -transformation und -ladung (ETL-Prozesse).
  • Datenqualität und -konsistenz: Die Qualität und Konsistenz der Daten aus heterogenen Quellen kann stark variieren. Probleme wie unvollständige Daten, Duplikate, Inkonsistenzen und Fehler müssen identifiziert und bereinigt werden, um die Integrität und Nützlichkeit des Knowledge Graphen zu gewährleisten.
  • Semantische Heterogenität: Unterschiedliche Datenquellen verwenden oft verschiedene Terminologien und Konzepte, um ähnliche Dinge zu beschreiben. Die Überbrückung dieser semantischen Lücken erfordert die Entwicklung eines gemeinsamen Vokabulars oder Ontologien, die die Beziehungen und Bedeutungen der Daten innerhalb des Knowledge Graphen definieren.
  • Skalierbarkeit und Leistung: Mit der Integration heterogener Datenquellen kann der Umfang eines Knowledge Graphen schnell anwachsen. Die Sicherstellung der Skalierbarkeit und der Leistung bei der Abfrage und Aktualisierung des Graphen, insbesondere in Echtzeitanwendungen, ist eine technische Herausforderung.
  • Datensicherheit und Datenschutz: Heterogene Datenquellen können sensible oder persönliche Informationen enthalten, die geschützt werden müssen. Die Implementierung von Datenschutz- und Sicherheitsmaßnahmen, die den rechtlichen Anforderungen entsprechen, ist entscheidend, um die Vertraulichkeit und Integrität der Daten im Knowledge Graph zu gewährleisten. Das betrifft natürlich auch sensible, besonders schützenwerte Projektdaten, die einer Geheimhaltung oder einem Need-to-know Prinzip unterliegen.

 

Sehr hohe Dynamik im Lebenszyklus der Daten

Gerade Produktentwicklungsprozesse unterliegen einer großen Dynamik und sorgen damit für viele Änderungen an den Produktdaten. Vielfach werden (und müssen – gerade in regulierten Branchen wie der Medizingeräteindustrie) diese Änderungen durch neue Revisionen und Versionen der Datenobjekte abgebildet. Somit bleibt die Entstehungsgeschichte erhalten und kann jederzeit nachvollzogen werden.

Aus dieser Dynamik und den darin enthaltenen historischen Datenobjekten ergeben sich folgende Herausforderungen:

  • Zeitliche Abfragefähigkeit: Ein Knowledge Graph, der historische Datenobjekte effektiv verwalten soll, muss Abfragen unterstützen, die sich auf den Zustand des Graphen zu einem bestimmten historischen Zeitpunkt beziehen. Dies erfordert die Implementierung von Zeitstempeln oder Versionierungskonzepten, die es ermöglichen, die Evolution von Datenobjekten im Zeitverlauf nachzuvollziehen. Diese Nachvollziehbarkeit ist in regulierten Branchen (Luftfahrt, Medizingeräteindustrie, …) essentiell wichtig. Es gibt nicht nur einen Graphen, sondern viele in der Historie des Engineeringprozesses.
  • Versionierung und Historie: Die Handhabung der Versionierung von Datenobjekten ist eine zentrale Herausforderung. Es muss entschieden werden, wie Änderungen an Objekten im Graphen gespeichert werden – ob durch das Hinzufügen neuer Versionen von Objekten bei jeder Änderung, oder durch die Speicherung von Differenzen zwischen Versionen. Ebenso ist das Verhalten der Kante (Relation) bei Änderungen des Quell- oder Zielobjektes wichtig. “Wächst” die Kante automatisch mit, zeigt also immer auf die letzte Version? Oder bleibt sie fest auf der Version kleben, auf der sie erzeugt wurde? Oft kann dieses Verhalten auch vom Status der Datenobjekte abhängen und sich bei der Freigabe eines Objektes von “Mitwachsen” auf “Fest” ändern.
  • Dynamische Datenaktualisierung: In vielen Anwendungsfällen müssen Daten in Echtzeit oder nahezu in Echtzeit aktualisiert werden, um den Knowledge Graph aktuell zu halten. Die Handhabung von Änderungen in den Datenquellen und die Sicherstellung, dass der Graph diese Änderungen zeitnah reflektiert, stellt eine große Herausforderung dar. Das gilt umso mehr, je heterogener die Systemlandschaft ist und die Datenobjekte über verschiedene System verteilt sind.
  • Effizienz der Datenspeicherung und die Performance von Abfragen: Mit der zunehmenden Anzahl historischer Datenobjekte und Versionen kann der Speicherbedarf eines Knowledge Graphen erheblich wachsen. Effiziente Speicherlösungen und -strategien sind notwendig, um die Skalierbarkeit des Systems zu gewährleisten. Optimierungen und spezialisierte Indexierungsmechanismen können erforderlich sein, um akzeptable Antwortzeiten zu gewährleisten.

Die Qualität oder Bedeutung der Relationen

Knowledge Graphen ermöglichen es, komplexe Zusammenhänge und Beziehungen zwischen Datenpunkten, also Entitäten, auf intuitive und effektive Weise darzustellen. Aber nicht alle Relationen in diesen Graphen sind gleich; sie tragen unterschiedliche Bedeutungen und Eigenschaften, die für verschiedene Anwendungsfälle entscheidend sind. Manchen Bindungen sind eher lose, aber deswegen nicht weniger wichtig, anderen wieder enger und fester.

Im Kontext des Systems Engineering können die Relationen in Knowledge Graphen grob in verschiedene Kategorien eingeteilt werden, basierend auf Beziehungstypen, die in der Systemmodellierung üblich sind. Dazu gehören:

  • Strukturelle Beziehungen (Parent-Child): Diese definieren die hierarchische Anordnung von Systemkomponenten. Ein “Parent”-Element beinhaltet ein oder mehrere “Child”-Elemente. Diese Beziehungen sind entscheidend für die Darstellung der Systemarchitektur und für das Verständnis, wie sich Teile zu einem Ganzen zusammenfügen. Stücklisten sind ein gutes Beispiel dafür.
  • Funktionale Beziehungen (depends on): Sie beschreiben, wie bestimmte Funktionen oder Prozesse voneinander abhängen. Zum Beispiel kann die Funktion “Energie bereitstellen” von der Komponente “Batterie” abhängen. Solche Abhängigkeiten sind kritisch, um zu verstehen, wie Änderungen an einem Teil des Systems Auswirkungen auf andere haben können.
  • Flussbeziehungen (flow between): Diese repräsentieren den Fluss von Material, Energie oder Informationen zwischen verschiedenen Komponenten oder Prozessen. Sie sind essenziell für die Optimierung von Prozessabläufen und die Effizienzsteigerung innerhalb des Systems.
  • Sequenzielle Beziehungen (follows): Dabei geht es um die Reihenfolge, in der Aufgaben oder Prozesse ausgeführt werden müssen. Dies ist besonders wichtig für die Planung und Koordination von Arbeitsabläufen.

Die Einbettung dieser Beziehungstypen in Knowledge Graphen, angelehnt an Industriestandards wie die Systems Modeling Language (SysML), bietet einen gute Grundlage für diese Abbildung. Es geht darum, die Kanten “intelligent” zu machen und somit die Komplexität eine Knowledge Graphen überhaupt erst beherrschen zu können.

In meinem letzten Blogartikel haben ich über die “One more Thing”-Momente gesprochen und wie künstliche Intelligenz Software für Unternehmen verändern wird. Natürlich kann man hier den Knowledge Graphen nicht ausklammern. Ganz im Gegenteil, gerade der ermöglicht spannende Anwendungen und löst kritische Herausforderungen im Zusammenwirken mit künstlicher Intelligenz. Diese Aspekte möchte ich aber in einem separaten Artikel aufgreifen.