Künstliche Intelligenz Bei Software-Defined dreht sich alles um Daten

Von Stan Schneider, CEO von RTI Lesedauer: 9 min |

Anbieter zum Thema

Der Schlüssel zur künstlichen Intelligenz (KI) sind Daten. Und der Hauptunterschied zwischen intelligenten Cloud-Systemen und „Smart-World"-Systemen besteht darin, wie die KI an diese Daten gelangt.

Trotz steigender Hardware-Fähigkeiten ist es immer noch die Software, die bestimmt, wie der Datenfluss gesteuert wird.
Trotz steigender Hardware-Fähigkeiten ist es immer noch die Software, die bestimmt, wie der Datenfluss gesteuert wird.
(Bild: frei lizenziert / Pixabay)

Intelligenz in der Cloud braucht Daten. Intelligenz in der realen Welt braucht Datenfluss. Damit die Welt besser funktioniert, sollte Systeme nicht um Algorithmen, Geräte oder gar Funktionen herum, sondern um den Datenfluss herum entwickelt werden. Diese „Datenzentrierung" organisiert den Datenfluss in Form von vertraulich geteilten Informationen. Datenzentrierung passt zu vielen Branchen und macht sie alle besser. Also... Was ist Datenzentrierung? Warum passt es zu diesen Systemen?

Data Distribution Service
  • Datenzentrierte Architekturen. Sowohl eine Datenbank als auch ein Datenbus sind datenzentriert; Anwendungen kommunizieren nur über die Daten direkt und nicht untereinander.
  • Eine Datenbank eignet sich für Anwendungsfälle, in denen Informationen gesammelt und dann dem System zur Verfügung gestellt werden müssen. Sie speichert (alte) Daten und stellt diese Daten auf Anfrage zur Verfügung.
  • Ein Datenbus eignet sich für Anwendungen, bei denen Informationen rechtzeitig an andere Anwendungen geliefert werden müssen. Er stellt proaktiv die benötigten Daten zur richtigen Zeit am richtigen Ort bereit.

Softwaredefinierte Systeme und Datenzentrierung

Softwarebasierte Designs ermöglichen viele neue Funktionen, aber die Vorteile, die sich aus dem Hinzufügen von Software zu einem Design ergeben, sollten nicht mit dem Potenzial softwaredefinierter Systeme verwechselt werden. Sicherlich kann die Verbindung mit Geräten neue Geschäftsmodelle ermöglichen, Hersteller können Geräte nach dem Verkauf evaluieren und warten oder Produktlinien vom Low-End bis zum High-End vereinfachen. Aber bei einem softwaredefinierten Fahrzeug geht es nicht darum, die Klimaanlage zu berechnen, den Betrieb im Feld zu verbessern oder die Konfiguration zu vereinfachen. Bei der Softwaredefinition geht es darum, das System durch die Software zu definieren, die es ausführt. Es handelt sich um einen grundlegenden Übergang zu einem völlig neuen Paradigma, der so tiefgreifend ist wie das Hinzufügen eines Prozessors zu einem System. Softwaredefinierte Fahrzeuge, Verkehrssysteme, Industriesteuerungen und medizinische Patientenüberwachungssysteme bringen das enorme Potenzial der künstlichen Intelligenz in reale Systeme.

Bildergalerie

Wie also erhalten diese Systeme den Datenfluss, den sie benötigen? Intelligente, softwaredefinierte Systeme nutzen zunehmend ein Konzept, das als „Datenzentrierung" bekannt ist. Intelligente Anwendungen finden sich u.a. in den Bereichen Verteidigung, erneuerbare Energien, Avionik, Züge, Schiffe, U-Bahnen, Krankenhausnetzwerke, medizinische Bildgebung, Sportzeitmessung, Elektrofahrzeuge, Baumaschinen und sogar fliegende Autos (auch bekannt als Urban Air Mobility, UAM). Datenzentrierung, der wichtigste architektonische Ansatz, der bei all diesen Anwendungen zum Einsatz kommt, erleichtert den Datenfluss von und zur KI, damit die Welt besser funktioniert.

Im Gegensatz zur Komplexität der realen Welt, die sie steuert, ist die Datenzentrierung ein erstaunlich elegantes und einfaches Konzept: Im Wesentlichen bedeutet es, dass man herausfindet, welche Datenmodule benötigt werden und dann die Systemkomponenten um diese Daten herum entwickelt. In einer datenzentrierten Architektur kommunizieren Anwendungen nicht direkt miteinander oder mit aktiven Komponenten wie Servern, sondern sie tauschen Daten direkt und nach genau definierten Regeln aus. Die Umsetzung der Datenzentrierung ist äußerst komplex, da reale Systeme so viele verschiedene Herausforderungen aufweisen. Vom Konzept her ist es jedoch einfach und tiefgreifend. Datenzentrierung bedeutet einfach eine Umkehrung der Denkweise: erst die Daten, dann das System.

Hier trifft sich die Branche

Deutschlands Leitkongress der Embedded-Softwarebranche

Embedded Software Engineering Kongress

Das Programm des ESE Kongress bietet eine Vielzahl an Keynotes, Vorträgen und Seminaren. Seien Sie dabei, wenn sich die Embedded-Software-Community trifft, und nutzen Sie Diskussionen und Expertengespräche für einen ergiebigen Wissenstransfer und erfolgreiches Networken. Während der fünf Kongresstage erwartet Sie zudem eine große Fachausstellung mit den führenden Firmen der Branche. Erfahren Sie alles über die neuesten Trends, Herausforderungen und Lösungen im Embedded Software Engineering, von KI und Machine Learning bis hin zu Safety, Security und Ethik in der Technikschöpfung.

Es ist wichtig, sich darüber im Klaren zu sein, dass es sich bei der Datenzentrierung um eine völlig andere Art des Systemdesigns handelt. Traditionelle Systeme sind um Systemkomponenten wie Server, Verbindungen, Netzwerke und Topologien herum aufgebaut. Ein datenzentriertes System tut dies nicht; es baut auf den Daten auf. Anstatt Daten zu sammeln, ermöglicht ein datenzentriertes System beispielsweise eine hervorragende Kontrolle des Datenflusses. Anstatt sich mit einem Server zu verbinden, fordert ein datenzentriertes System die Lieferung nur einmal an. Anstatt ein Netzwerk zu sichern, sichert ein datenzentriertes System die Daten selbst. Natürlich sind die Systemkomponenten nach wie vor wichtig.

Aber ihre Aufgabe ist es, die Daten dorthin zu bringen, wo sie gebraucht werden. Diese Denkweise ermöglicht es der Datenzentrierung, die physische Implementierung vollständig von den funktionalen Elementen zu trennen: Es ist beispielsweise egal, wie die Daten dorthin gelangen, solange sie rechtzeitig ankommen. Dies vereinfacht die Organisation: Anstatt Code zu schreiben, der von Servern oder der Topologie abhängig ist, organisiert ein datenzentrisches Design unabhängige Module. Die einzige Schnittstelle zwischen den Modulen sind die gemeinsam genutzten Daten. Wenn diese Daten schnell, genau und zuverlässig genug ausgetauscht werden können, um die physische Realität zu steuern, können physische Systeme viel einfacher aufgebaut und gesteuert werden. Dies erleichtert insbesondere Mobilität, Integration, Skalierbarkeit, Sicherheit, Feedback und mehr - datenzentriertes Design ermöglicht die intelligente Welt.

Konzept der Datenzentrierung

Wenn Sie zuerst an die Daten denken, können Sie Ihre Software-Algorithmen, Gerätehandler und Schnittstellen als unabhängige Module schreiben und diese später miteinander verbinden.

Das ist alles. Zwei Kästchen. Das Diagramm in Bild 1 sieht vielleicht zu einfach aus, aber es ist im Wesentlichen richtig. Unterschätzen Sie das orange Kästchen nicht; es kann alle Daten eines intelligenten Autos mit Radar, Lidar, KI und autonomem Fahren enthalten. Oder alle Daten eines Krankenhaussystems mit 200.000 komplexen Instrumenten. Auch die grüne Box ist sehr allgemein. Er könnte für Tausende und Abertausende Zeilen hochentwickelten Codes stehen, die komplexe Aufgaben ausführen: Sensorprozessoren, KI-Algorithmen oder Konsolen in einem Operationszentrum. Die Stärke der Datenzentrierung liegt darin, dass sie diese Komplexität auf, nun ja, zwei Kästchen reduziert.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

In einem datenzentrierten System werden alle Daten logisch „innerhalb" der Anwendung gespeichert, als ob sie sich im lokalen Speicher befänden. Das klingt wie Zauberei, ist es aber nicht. Die Middleware weiß einfach, welche Daten die Anwendung braucht und wann sie sie braucht. Sie weiß auch, wo sie diese Daten herbekommt. Also „holt" sie sich die Daten (oder sorgt dafür, dass sie geschickt werden) und fügt sie zum richtigen Zeitpunkt in den Speicher der Anwendung ein. Alle Daten befinden sich nicht wirklich „in" der Anwendung, es handelt sich um eine virtuelle Abstraktion. Aber die Anwendungen können so tun, als ob alle Daten, die sie benötigen, einfach verfügbar wären.

Zoomen wir ein wenig heraus. Ein typisches reales System enthält Sensoren, Aktoren, Algorithmen und in der Regel Benutzerschnittstellen. In einer datenzentrierten Welt können die Teams, die den Code für diese Systeme schreiben, angeben, welche Daten sie benötigen und generieren. Zur Laufzeit stellt die Middleware jeder Komponente das zur Verfügung, was sie zur Ausführung benötigt.

Beachten Sie, dass dies auch Auswirkungen auf die Organisation von Software-Teams hat. Datenzentrierte Systeme bieten eine Datenarchitektur: Welche Daten werden gemeinsam genutzt, wie werden sie zusammengeführt und wann und wie werden sie gemeinsam genutzt? Sobald die Datenarchitektur definiert ist, können sich die Teams nur noch auf ihr Modul konzentrieren. Datenzentrierung bestimmt also nicht nur, wie Module zusammenarbeiten, sondern auch, wie Teams zusammenarbeiten.

Warum ist Data Centricity die richtige Basis für softwaredefinierte Systeme?

Datenzentrierung ist im Wesentlichen eine Technologie zur Softwareintegration. Das grundlegende Ziel besteht darin, eine Schnittstelle bereitzustellen, die tief genug ist, um das Problem in überschaubare Teile zu zerlegen, und dann das Wunder zu vollbringen, diese Teile zusammenarbeiten zu lassen.

Damit Anwendungen zusammenarbeiten können, müssen sie Daten gemeinsam nutzen. Um dies zu erreichen, müssen sie

a) sich darüber einig sein, was sie gemeinsam nutzen wollen,

b) eine Möglichkeit haben, der Gruppe beizutreten, und

c) in der Lage sein, Daten zu erhalten, wenn sie benötigt werden.

Etwas formeller ausgedrückt, benötigen sie eine Datenarchitektur, die definiert ist als: a) ein Datenmodell (was gemeinsam genutzt wird), b) Schnittstellen (wie Anwendungen miteinander verbunden werden) und c) ein Paradigma für den Datenaustausch (wann und wie Daten gemeinsam genutzt werden). Eine effektive Datenarchitektur implementiert auch starke Regeln, die diese Dinge mit Garantien klären. Die Datenarchitektur ist das Herzstück jedes Systems. Die Architektur muss zur Anwendung passen: Sie muss all diese Probleme auf eine Weise lösen, die dem Anwendungsfall angemessen ist.

Datenzentrierung für Unternehmen: die Datenbank

Sie kennen bereits die datenzentrierte Speicherung bzw. Datenbank. Der Grund für den Siegeszug von Datenbanken in Unternehmen ist, dass Datenbanken genau die Software-Integration bieten, die Geschäftsanwendungen benötigen. In einer relationalen Datenbank teilen sich Anwendungen Daten-„Tabellen", die Datenzeilen und Spalten mit Feldern enthalten. Sie sind über eine API verbunden, die normalerweise mit einem Server verbunden ist. Sie tauschen Daten bei Bedarf aus („pull"), indem sie eine einfache Abfragesprache (z. B. SQL) verwenden. Die Regeln („ACID-Eigenschaften") gewährleisten die Konsistenz; sie garantieren, dass die Daten nicht beschädigt werden und für alle gleich sind.

Diese Datenbankarchitektur eignet sich für Tausende von Anwendungsfällen, in denen Informationen gesammelt und an das System weitergeleitet werden müssen. Das Datenbankprogramm ist für jeden Anwendungsfall das gleiche, aber die Datentabelle ist für ein Personalsystem (Namen der Mitarbeiter, Funktionen und Gehälter) und ein Autoteilegeschäft (Teilenummern, Lagerbestände und Preise) sehr unterschiedlich. Wichtig ist: Die Informationen werden im Voraus gesammelt und gespeichert, um sie später den Anwendungen zur Verfügung zu stellen, die sie über die Suche finden. Der Zweck der Datenbank besteht darin, die richtigen gespeicherten Daten der richtigen Anwendung zur Verfügung zu stellen, wenn diese sie anfordert.

Dies ist eine großartige Architektur für die meisten Geschäftsanwendungen. Praktisch jedes Geschäftssystem auf der Welt läuft heute auf Datenbanken, von Personalverwaltungssystemen bis hin zu Ersatzteillagern. Sie würden nicht im Traum daran denken, ein Geschäftssystem ohne eine solche Datenbank zu bauen. Die Geschäftswelt basiert auf Daten, die in einer datenzentrierten Datenbank gespeichert sind.

Datenzentrierung für die softwaredefinierte Zukunft: der Datenbus

Allerdings eignet sich die Datenbankarchitektur nicht für die Steuerung der realen Welt. Datenbanken sind zwar Bestandteil vieler intelligenter Systeme in der realen Welt, arbeiten aber grundsätzlich mit gespeicherten (alten) Daten und stellen diese nur auf Anfrage zur Verfügung. Systeme der realen Welt müssen zukünftige Ereignisse modellieren. Um dann auf diese Ereignisse reagieren zu können, müssen sie die benötigten Daten proaktiv an die richtigen Subsysteme weiterleiten - all dies zum richtigen Zeitpunkt, der oft in Millisekunden gemessen wird. Die datenzentrierte Architektur, die diese Herausforderung meistert, wird als Datenbus bezeichnet.

Datenbusse erobern die softwaredefinierte Zukunft, weil sie genau die Softwareintegration bieten, die eine reale Infrastruktur benötigt. Wie eine Datenbank haben Datenbusse Datentabellen, die angeben, was gemeinsam genutzt wird („Topics"). Im Gegensatz zu einer Datenbank verbinden sich Anwendungen, indem sie eine lokale API aufrufen, die einen virtuellen, gemeinsam genutzten Speicherbereich („Datenbereich") erstellt und angibt, welche Topics die Anwendung in diesem Speicherbereich erzeugt oder verbraucht. Sie tauschen Daten während der Produktion aus („Push"), wobei die Daten an andere Anwendungen gesendet werden, die ein Interesse an der Nutzung der Daten angemeldet haben. Die Regeln für einen Datenbus („QoS-Parameter") betreffen hauptsächlich das Timing: Sie legen fest, wann und wie die Daten geliefert werden sollen.

Diese Datenbus-Architektur eignet sich für tausende von Anwendungsfällen, die Informationen rechtzeitig an andere Anwendungen senden müssen. Wie bei einer Datenbank ist die Datenbus-Middleware für jeden Anwendungsfall gleich, aber die Datentabelle und die QoS-Einstellungen sind sehr unterschiedlich. Mit unterschiedlichen Datenmodellen kann die gleiche Datenbus-Middleware verwendet werden, um ankommende Marschflugkörper zu verfolgen oder das EKG-Signal eines Herzpatienten zu überwachen. Wichtig ist, dass die Informationen sofort an die Anwendungen gesendet werden, die ein Interesse an ihnen angemeldet haben. Der Zweck des Datenbusses besteht darin, die richtige Information zur richtigen Zeit an die richtige Anwendung zu liefern.

Es gibt einen Standard, der all diese Begriffe klar definiert: den Data Distribution Service (DDS™).

Die Ära der sich entwickelnden KI in der realen Welt sollte besser als ‘Software-Defined’-Welt bezeichnet werden. Denn trotz der explosionsartigen Zunahme der Hardware-Fähigkeiten, die sie ermöglicht, ist es immer noch die Software, die bestimmt, wo und wie sie eingesetzt werden kann. Und die wichtigste Eigenschaft dieser Software ist, wie sie den Datenfluss steuert. Die richtigen Daten zur richtigen Zeit am richtigen Ort - das ist Edge Intelligence.

 (mbf)

(ID:49739910)