Datenflussarchitektur
In der Datenflussarchitektur wird das gesamte Softwaresystem als eine Reihe von Transformationen auf aufeinanderfolgenden Teilen oder Eingabedatensätzen betrachtet, bei denen Daten und Operationen unabhängig voneinander sind. Bei diesem Ansatz werden die Daten in das System eingegeben und fließen dann einzeln durch die Module, bis sie einem endgültigen Ziel (Ausgabe oder Datenspeicher) zugewiesen werden.
Die Verbindungen zwischen den Komponenten oder Modulen können als E / A-Stream, E / A-Puffer, Rohrleitungen oder andere Arten von Verbindungen implementiert werden. Die Daten können in der Graphentopologie mit Zyklen, in einer linearen Struktur ohne Zyklen oder in einer Baumstruktur geflogen werden.
Das Hauptziel dieses Ansatzes besteht darin, die Eigenschaften der Wiederverwendung und Modifizierbarkeit zu erreichen. Es eignet sich für Anwendungen, die eine genau definierte Reihe unabhängiger Datentransformationen oder Berechnungen für ordnungsgemäß definierte Ein- und Ausgaben umfassen, z. B. Compiler und Geschäftsdatenverarbeitungsanwendungen. Es gibt drei Arten von Ausführungssequenzen zwischen Modulen
- Batch sequentiell
- Pipe and Filter oder nicht sequentieller Pipeline-Modus
- Prozesssteuerung
Batch Sequential
Batch Sequential ist ein klassisches Datenverarbeitungsmodell, bei dem ein Datentransformations-Subsystem seinen Prozess erst initiieren kann, nachdem sein vorheriges Subsystem vollständig durchlaufen hat -
Der Datenfluss überträgt einen Datenstapel als Ganzes von einem Subsystem zum anderen.
Die Kommunikation zwischen den Modulen erfolgt über temporäre Zwischendateien, die von aufeinanderfolgenden Subsystemen entfernt werden können.
Dies gilt für Anwendungen, bei denen Daten gestapelt werden und jedes Subsystem verwandte Eingabedateien liest und Ausgabedateien schreibt.
Eine typische Anwendung dieser Architektur umfasst die Verarbeitung von Geschäftsdaten wie Bankgeschäfte und Abrechnungen von Versorgungsunternehmen.
Vorteile
Bietet einfachere Unterteilungen in Subsysteme.
Jedes Subsystem kann ein unabhängiges Programm sein, das an Eingabedaten arbeitet und Ausgabedaten erzeugt.
Nachteile
Bietet hohe Latenz und geringen Durchsatz.
Bietet keine Parallelität und interaktive Schnittstelle.
Für die Implementierung ist eine externe Steuerung erforderlich.
Rohr- und Filterarchitektur
Dieser Ansatz legt den Schwerpunkt auf die inkrementelle Transformation von Daten nach aufeinanderfolgenden Komponenten. Bei diesem Ansatz wird der Datenfluss von Daten gesteuert und das gesamte System wird in Komponenten von Datenquellen, Filtern, Pipes und Datensenken zerlegt.
Die Verbindungen zwischen Modulen sind Datenströme, bei denen es sich um First-In / First-Out-Puffer handelt, bei denen es sich um Streams von Bytes, Zeichen oder anderen Arten dieser Art handeln kann. Das Hauptmerkmal dieser Architektur ist die gleichzeitige und inkrementelle Ausführung.
Filter
Ein Filter ist ein unabhängiger Datenstromtransformator oder Stromwandler. Es transformiert die Daten des Eingabedatenstroms, verarbeitet sie und schreibt den transformierten Datenstrom über eine Pipe, damit der nächste Filter verarbeitet werden kann. Es arbeitet in einem inkrementellen Modus, in dem es zu arbeiten beginnt, sobald Daten über die angeschlossene Pipe eingehen. Es gibt zwei Arten von Filtern -active filter und passive filter.
Active filter
Mit dem aktiven Filter können verbundene Pipes Daten in die transformierten Daten hinein- und herausschieben. Es arbeitet mit einem passiven Rohr, das Lese- / Schreibmechanismen zum Ziehen und Drücken bietet. Dieser Modus wird im UNIX-Pipe- und Filtermechanismus verwendet.
Passive filter
Mit dem passiven Filter können angeschlossene Rohre Daten ein- und ausziehen. Es arbeitet mit einer aktiven Pipe, die Daten aus einem Filter zieht und Daten in den nächsten Filter überträgt. Es muss einen Lese- / Schreibmechanismus bieten.
Vorteile
Bietet Parallelität und hohen Durchsatz für übermäßige Datenverarbeitung.
Bietet Wiederverwendbarkeit und vereinfacht die Systemwartung.
Bietet Modifizierbarkeit und geringe Kopplung zwischen Filtern.
Bietet Einfachheit, indem klare Trennlinien zwischen zwei durch ein Rohr verbundenen Filtern angeboten werden.
Bietet Flexibilität durch Unterstützung sowohl der sequentiellen als auch der parallelen Ausführung.
Nachteile
Nicht für dynamische Interaktionen geeignet.
Für die Übertragung von Daten in ASCII-Formaten wird ein kleiner gemeinsamer Nenner benötigt.
Overhead der Datentransformation zwischen Filtern.
Bietet keine Möglichkeit für Filter, kooperativ zu interagieren, um ein Problem zu lösen.
Es ist schwierig, diese Architektur dynamisch zu konfigurieren.
Rohr
Pipes sind zustandslos und tragen Binär- oder Zeichenströme, die zwischen zwei Filtern existieren. Es kann einen Datenstrom von einem Filter zu einem anderen verschieben. Pipes verwenden ein wenig Kontextinformationen und behalten zwischen den Instanziierungen keine Statusinformationen bei.
Prozesssteuerungsarchitektur
Es handelt sich um eine Art Datenflussarchitektur, bei der Daten weder sequentiell als auch per Pipeline übertragen werden. Der Datenfluss stammt aus einer Reihe von Variablen, die die Ausführung des Prozesses steuern. Es zerlegt das gesamte System in Subsysteme oder Module und verbindet diese.
Arten von Subsystemen
Eine Prozesssteuerungsarchitektur hätte eine processing unit zum Ändern der Prozesssteuerungsvariablen und a controller unit zur Berechnung der Änderungsmenge.
Eine Steuereinheit muss die folgenden Elemente aufweisen:
Controlled Variable- Die gesteuerte Variable liefert Werte für das zugrunde liegende System und sollte von Sensoren gemessen werden. Zum Beispiel Geschwindigkeit im Tempomatsystem.
Input Variable- Misst eine Eingabe in den Prozess. Zum Beispiel die Temperatur der Rückluft im Temperaturregelsystem
Manipulated Variable - Der Wert der Stellgröße wird von der Steuerung angepasst oder geändert.
Process Definition - Es enthält Mechanismen zur Manipulation einiger Prozessvariablen.
Sensor - Ermittelt Werte von Prozessvariablen, die für die Steuerung relevant sind, und kann als Rückkopplungsreferenz zur Neuberechnung manipulierter Variablen verwendet werden.
Set Point - Dies ist der gewünschte Wert für eine Regelgröße.
Control Algorithm - Hiermit wird entschieden, wie Prozessvariablen bearbeitet werden sollen.
Anwendungsbereiche
Die Prozesssteuerungsarchitektur eignet sich für die folgenden Bereiche:
Entwurf einer eingebetteten Systemsoftware, bei der das System durch Prozesssteuerungsvariablendaten manipuliert wird.
Anwendungen, deren Ziel es ist, bestimmte Eigenschaften der Prozessausgaben bei vorgegebenen Referenzwerten zu halten.
Anwendbar für Tempomat- und Gebäudetemperaturregelungssysteme.
Echtzeit-Systemsoftware zur Steuerung von Antiblockiersystemen, Kernkraftwerken usw.