- Datenstromorientierte Programmiersprachen
-
Datenstromorienterte Programmierung geht von einem kontinuierlichen Datenfluss aus, meist Signaldaten, der in Echtzeit verändert und ausgegeben wird. Bekannte Beispiele sind Simulink, Pure Data oder LabVIEW.
Inhaltsverzeichnis
Objekte
Die einzelnen Elemente, die den Datenstrom erzeugen und verändern, werden als Objekte bezeichnet. Man kann sie grob in folgende Kategorien einteilen. Ihr Verhalten kann durch Parameter beeinflusst werden.
Quelle
Als Quelle wird ein Objekt bezeichnet, das einen Datenstrom erzeugt. Es hat mindestens einen Ausgang, der einem anderen Objekt als Eingang dienen kann.
- Externe Quellen: Externe Quellen beziehen ihre Daten von außerhalb des Programms, meist aus Daten oder von Eingabegeräten (z.B.: Mikrofon oder Videokamera).
- Interne Quellen: Interne Quellen erzeugen einen bestimmten, vordefinierten Datenstrom. Dies kann ein konstanter Wert sein, aber auch Sinus-Kurven oder ähnliches.
Knoten
Knoten haben mindestens einen Eingang, an denen ein Datenstrom angelegt werden kann. Sie führen auf dem Datenstrom festgelegte Operationen durch (z.B. Addition der Eingangssignale). Das Ergebnis ist an dem oder den Ausgängen verfügbar und kann weiterverarbeitet werden.
Senken
Senken sind für die Ausgabe des Datenstroms verantwortlich, sie haben daher zwar Eingänge, jedoch keine Ausgänge. Sie können entweder für eine Datei stehen, in die geschrieben wird oder für ein Ausgabegerät, also z.B. ein Lautsprecher oder Bildschirm.
Datenstrom
Beim Datenstrom handelt es sich meist um Audio- oder Videodaten, seltener auch um reine Zahlenwerte. Er fließt immer vom Ausgang eines Objektes zu allen damit verbundenen Eingängen von Objekten bis er in eine Senke gelangt.
Anwendungsgebiete
Wegen ihrer schwer auf klassische Programmierkonzepte abbildbaren Struktur, ist es in der datenstromorientierten Programmierung schwerer, "normale" Anwendungen zu entwickeln. Hier wird mangels Möglichkeiten stattdessen meist die in vielen Punkten ähnliche funktionale Programmierung verwendet. Zum Beispiel lassen sich in Haskell Quellen und Senken als Monaden und Knoten als Funktionen implementieren, wobei die Ein-/Ausgänge dann den Funktionsparametern und -rückgaben entsprechen.
Die reine datenstromorientierte Programmierung wird zur Zeit einerseits von Multimedia-Künstlern verwendet, um interaktive und verteilte Werke zu gestalten. (Siehe auch: Digitale Kunst)
Andererseits ist unter Künstlern der elektronischen Musikrichtungen die Musiksoftware Reaktor beliebt, die rein grafisch eine Pure-Data-ähnliche, jedoch mehr auf die Erstellung von virtuellen Musikgeräten zugeschnittene, Funktionalität bietet.Seit langem etabliert ist diese Art der Programmierung in der Regelungstechnik und zunehmend auch in der Entwicklung eingebetteter Systeme.
(Siehe auch: Programmiersprachen)
Wikimedia Foundation.