Jede LabVIEW-Version kam mit einem eigenen Schwerpunkt. Die unterschiedlichen Entwicklungsetappen der letzten 25 Jahren lassen sich sehr schön anhand eines Zeitstrahls chronologisch aufführen. Lassen Sie mich einige dieser Meilensteine exemplarisch herausgreifen. Die Einführung der Multithreading-Technologie vor etwa zehn Jahren legte beispielsweise den Grundstein für die heutige Multicore-Fähigkeit in LabVIEW, sprich die einfache Erstellung paralleler Anwendungen. Auch die Plattformunabhängigkeit ist seit der Version LabVIEW 3.0 eine herausragende Eigenschaft von LabVIEW. Das bedeutet, dass der Anwender einmal geschriebene Applikationen auf unterschiedlichen OS wie Windows, Apple, Linux und Echtzeit OS ausführen kann.
Darüber hinaus haben wir seit LabVIEW 1.0 nach einer Möglichkeit gesucht, grafische Programmierung auf Hardware abzubilden. Die Parallelität der Anwendungen und die inhärente Parallelität des Codes haben geradezu nach einem parallelen Ausführungssystem verlangt. Wir wurden auf die FPGA-Technologie aufmerksam und es schien uns beinahe, als ob FPGAs für LabVIEW erfunden wurden: Sie sind die ideale Hardware für LabVIEW, weil sie parallele Programme direkt genauso in Hardware ausführen, wie sie in LabVIEW dargestellt werden. Diese Symbiose war richtungsweisend für unsere gesamte Hardwareplattform: Waren die ersten FPGAs vereinzelt auf unserer Hardware zu finden, so sind mittlerweile nahezu alle unsere Hardwareplattformen mit FPGAs ausgestattet.
Und wo wollen Sie mit LabVIEW noch hin?
Programmiersprachen haben eine Lebenserwartung von über 50 Jahren – bei LabVIEW sind wir gerade erst bei der Hälfte. Unser Ideenkoffer quillt über, zumal unsere Anwender ein großes Mitspracherecht haben und jede neue Version mit ihren Ideen mitprägen. Vor 25 Jahren fingen wir mit Maus und Grafiken an. Heute sind wir bei universellen Touchscreen-Geräten wie Smartphones und Tablet-PCs angelangt. Eine neue Art der Bedienung über Handbewegungen entsteht gerade und LabVIEW ist bestens für eine Vorreiterrolle bei der revolutionären Touch-Technologie aufgestellt, da die Programmiersprache bereits jetzt sinnvolle Ansätze für eine Welt ohne Tastatur bietet.
Ein weiterer Bereich, in dem LabVIEW meiner Ansicht nach einen unschätzbaren Vorteil bietet, ist die Programmierung nahtlos integrierter Systeme mit mehreren heterogenen Verarbeitungseinheiten wie CPUs, GPUs und FPGAs. Jeder Prozessor leistet gute Arbeit bei der Lösung einer bestimmten Aufgabe. Die Schwierigkeit für den Programmierer besteht darin, die einzelnen Bereiche der Anwendung dem richtigen Teilsystem zuzuweisen und Timing und Kommunikation zwischen den Subsystemen abzustimmen. Wie erwähnt waren wir in diesem Bereich bereits sehr früh mit LabVIEW FPGA erfolgreich.
Heutzutage können viele Ausführungssysteme mit LabVIEW programmiert werden. Ich denke, dass wir in den nächsten 25 Jahren nicht nur diese Liste erweitern werden, sondern auch ein höheres Abstraktionsniveau und neue Möglichkeiten entwickeln werden, um Algorithmen grafisch auf mehrere Ausführungssysteme zu verteilen. Genauso, wie wir Pionierarbeit in der automatischen Speicherverwaltung und der Entwicklung grafischer Benutzeroberflächen geleistet haben, wollen wir künftig die automatische Kommunikation zwischen Teilsystemen und das Konzept des »Graphical System Design« weiter vorantreiben.
Die Fragen stellte Nicole Wörner.