Pipes und Filter

Pipes und Filter

Das Pipes und Filter (engl pipes-and-filters)-Muster ist ein Architekturmuster aus dem Bereich der Softwareentwicklung. Es beschreibt die Struktur für Systeme, die Datenströme verarbeiten.

Schematischer Aufbau des Pipes und Filter Musters

Aufbau

Das Bild stellt schematisch ein System dar, das auf dem Muster Pipes und Filter basiert. Das System wird durch mehrere unabhängige Einheiten strukturiert:

  • Filter: Ein Filter ist ein Verarbeitungsschritt. Jeder Filter hat eine Dateneingabe und eine Datenausgabe. In jedem Verarbeitungsschritt werden die einkommenden Daten umgewandelt. Bei der Umwandlung können den Daten Teile entnommen, hinzugefügt oder auch vollständig ersetzt werden. Die Art der Umwandlung wird durch den Filter bestimmt.
  • Pipes: Eine Pipe stellt eine Verbindung zwischen den einzelnen Verarbeitungsschritten dar. Der Name lässt sich durch den englischen Begriff für Kanäle (pipes) herleiten.

Im dargestellten Bild ist ein System schematisch dargestellt, bei dem die Daten links ankommen (Dateneingabe) und in mehreren Schritten verarbeitet werden. Das Ergebnis des Gesamtsystems wird rechts wieder ausgegeben (Datenausgabe). Der Ausgang eines Verarbeitungsschrittes ist gleichzeitig der Eingang des nachfolgenden Verarbeitungsschrittes. Das Ergebnis des Systems ist somit abhängig von der Eingabe; der Abhängigkeitsgraph ist linear.

Die Verarbeitungsschritte können immer wieder neu angeordnet werden. Stehen beispielsweise 3 verschiedene Filter zur Verfügung, so können daraus 15 verschiedene Systeme gebildet werden:

  • 3-Schrittsysteme: {1,2,3} {1,3,2} {2,1,3} {2,3,1} {3,1,2} {3,2,1}
  • 2-Schrittsysteme: {1,2} {1,3} {2,1} {2,3} {3,1} {3,2}
  • 1-Schrittsysteme: {1} {2} {3}

Diese 15 Systeme können auch als eine „Familie“ verwandter Systeme bezeichnet werden.

Durch diese Architektur ergeben sich einige Vorteile:

  • Systemerweiterungen sind durch Austausch oder Erneuerung von Filtern möglich.
  • Wird ein Filter als Komponente eines Systems betrachtet, so ist das System leichter an unterschiedliche Kontexte anzupassen, als wenn das System aus einer einzigen großen Komponente bestünde.

Varianten

Eine Variante des Pipes und Filter Musters ist das Tee-and-join-Pipeline-System.[1] Hier einige Unterschiede:

  • Es sind mehrere Ein- und Ausgabekanäle pro Filter erlaubt. Dadurch können auch verschiedene unabhängige Datenströme in Abhängigkeit zueinander verarbeitet werden.
  • T-Filter oder auch T-Pipes ermöglichen das Aufteilen eines Datenstroms, oder umgekehrt, das Zusammenführen zweier Datenströme. Die zwei Datenströme können daraufhin in unterschiedlicher Weise parallel weiter verarbeitet werden.
  • Datenschleifen sind erlaubt: Die Ausgabe eines Filters kann wieder zurückgeführt werden als Eingabe einer vorhergehenden Filtereinheit. Informationen, die in den Eingabedaten enthalten sind, können somit erneut verarbeitet werden. Dadurch ist es insbesondere möglich, nichtlineare Systeme zu bilden.

Einzelnachweise

  1. Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal; Addison-Wesley (Hrsg.): Pattern-orientierte Softwarearchitektur. Ein Pattern System. 2 Auflage. 15. Januar 1998) (Originaltitel: Pattern-Oriented Software Architecture, übersetzt von Christiane Löckenhoff), ISBN 978-3827312822.

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Filter (Unix) — Filter sind Befehle in Betriebssystemen, die Eingaben vom Gerät stdin aufnehmen, weiterverarbeiten und ihr Ergebnis auf das Gerät stdout schreiben. Der Begriff des Filters stammt ursprünglich vom Betriebssystem Unix, wurde aber von Microsoft im… …   Deutsch Wikipedia

  • Pipes — steht für: Pipes und Filter, Architekturmuster in der Softwareentwicklung Uilleann Pipes, irischer Dudelsack Pipes ist der Familienname folgender Personen: Daniel Pipes (* 1949), amerikanischer Autor Richard Pipes (* 1923), amerikanischer… …   Deutsch Wikipedia

  • Pipes and Filters — Das Pipes and filters Muster ist ein Architekturmuster aus dem Bereich der Softwareentwicklung. Es beschreibt die Struktur für Systeme, die Datenströme verarbeiten. Schematischer Aufbau des Pipes and filters Musters Aufbau Das Bild stellt… …   Deutsch Wikipedia

  • Architekturmuster — Im Bereich der Softwareentwicklung sind Architekturmuster (auch: Architekturstil, engl. architectural style) in den Arten von Mustern auf oberster Ebene einzuordnen. Im Gegensatz zu Idiomen oder Entwurfsmustern bestimmen sie nicht ein konkretes… …   Deutsch Wikipedia

  • Doug McIlroy — Douglas McIlroy (* 1932) ist Professor der Informatik, Mathematiker, Ingenieur und ein berühmter Programmierer. Er ist bekannt für das Erfinden: der Pipes und Filter Architektur von Unix des gesamten Software Baugruppen Konzeptes etlicher Unix… …   Deutsch Wikipedia

  • Douglas McIlroy — (* 1932) ist ein US amerikanischer Informatiker, Mathematiker, Ingenieur und Programmierer. Er ist bekannt für das Erfinden: der Pipes und Filter Architektur von Unix des gesamten Software Baugruppen Konzeptes etlicher Unix Kommandos wie spell,… …   Deutsch Wikipedia

  • Unix-Kommandos — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

  • Chgrp — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

  • Linux-Kommandos — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

  • Passwd — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”