Wikipedia · einfach zusammengefasst · Stand
EVA-Prinzip
Das EVA-Prinzip beschreibt ein Grundprinzip der Datenverarbeitung. Die Abkürzung leitet sich aus den ersten Buchstaben der Begriffe Eingabe – Verarbeitung …
Inhalt4 Abschnitte
Grundprinzip der Datenverarbeitung
Das EVA-Prinzip ist ein allgemeingültiges Grundschema der Datenverarbeitung. Es beschreibt die Reihenfolge, in der eine verarbeitende Einheit – auch ein Mensch – Daten bearbeitet: Eingabe, Verarbeitung und Ausgabe. Die Abkürzung steht für „Eingabe – Verarbeitung per Datenverarbeitungsanlage (DVA) – Ausgabe“. Im Englischen wird dasselbe Modell als IPO model („Input–Process–Output“) bezeichnet.
Bei der Eingabe werden Daten oder Parameter aufgenommen. In der Verarbeitung werden diese Daten nach einer festgelegten Berechnung oder Vorgehensweise bearbeitet. Bei der Ausgabe wird das Ergebnis in einer bestimmten Form bereitgestellt. Computer und Computerprogramme können deshalb als Funktionen betrachtet werden, die Parameter (E) entgegennehmen, mit ihnen eine Berechnung (V) durchführen und das Ergebnis (A) ausgeben.
Speicher und Zustandslosigkeit
Der Speicher gehört entgegen einer verbreiteten Auffassung nicht zur Verarbeitung. Im EVA-Prinzip nimmt er eine Sonderstellung ein und wird als vom eigentlichen Ablauf abgekapselt betrachtet. Diese Erweiterung wird als EVA(S)-Prinzip ausgedrückt.
Ein Gerät nach dem reinen EVA-Prinzip ist zustandslos. Es besitzt keinen internen Zustand, durch den dieselbe Eingabe bei zwei Verarbeitungen zu unterschiedlichen Ergebnissen führen könnte. Daher muss sich der Speicherinhalt beim Start einer Verarbeitung immer in einem gleichen Zustand befinden, zum Beispiel „leer“.
Die Abkehr vom reinen EVA-Prinzip führte zu zustandsbehafteten Logikschaltungen. Dazu zählen der Medwedew-Automat sowie der Moore-Automat und der Mealy-Automat. Diese Entwicklung ermöglichte den Übergang von einfachen Rechenmaschinen zur Entwicklung heutiger Computer.
Räumliche Sichtweise und technische Umsetzung
Räumlich betrachtet werden Eingabe, Verarbeitung und Ausgabe unterschiedlichen Bereichen zugeordnet. Das kann sich auf die Hardware, die Software oder ein EDV-System als Ganzes beziehen. In einer Datenverarbeitungsanlage kann beispielsweise ein Bereich für die Eingabe, ein anderer für die Verarbeitung und ein dritter für die Ausgabe vorgesehen sein. Die Trennung kann auch „logisch räumlich“ gemeint sein, etwa durch eine Programmbibliothek innerhalb eines Programms.
In der Hardware muss festgelegt sein, welche Eingangssignale empfangen werden, wie sie verarbeitet werden und in welcher Form die Ergebnisse ausgegeben werden. Beispiele für Eingaben sind Tastatur- oder Mauseingaben und Netzwerkverbindungen. Die Verarbeitung kann etwa eine Berechnung umfassen. Ausgaben können über einen Bildschirm, einen Drucker, ein Netzwerk oder Lautsprecher erfolgen. Bei Smartphones ist die Trennung von Eingabe und Ausgabe weniger eindeutig, weil derselbe Touchscreen für beides verwendet wird.
Auch bei Software muss klar sein, welche Eingangsdaten ein Programm erhält, was mit ihnen geschehen soll und wie die Ergebnisse ausgegeben werden. Eingangsdaten können beispielsweise Tastendrücke oder Dateien von einem Datenträger sein. Mögliche Verarbeitungen sind mathematische Berechnungen oder die Berechnung von Grafikelementen. Ausgaben können als Text oder Grafik auf dem Bildschirm erscheinen oder auf einem Datenträger gespeichert werden.
Andere Softwarekonzepte weichen von dieser funktionalen Trennung ab. In der Objektorientierung werden Funktionen nicht nach Eingabe, Verarbeitung und Ausgabe räumlich getrennt, sondern Objekten zugeordnet. Methoden zum Einlesen, Verarbeiten und Ausgeben eines Objekts sind dort Objektmethoden. Fuzzylogik versucht, aus unklaren Eingangssignalen eindeutige Entscheidungen zu gewinnen. Künstliche neuronale Netze erzeugen aus ungenauen Eingabedaten definierte Ausgaben; häufig ist dabei keine exakte Verarbeitungsvorschrift festgelegt, weil das Netz die Verarbeitung durch Training erlernt.
Zeitliche Sichtweise und Berechenbarkeit
Zeitlich betrachtet läuft das EVA-Prinzip in Zyklen ab. Zuerst werden alle Eingaben erfasst. Während der anschließenden Verarbeitung sind für die Dauer dieses Zyklus keine weiteren Eingaben möglich. Danach werden die Ergebnisse ausgegeben, und ein neuer Zyklus beginnt.
Das Gegenmodell ist Streaming. Dabei treffen kontinuierlich neue Eingaben ein, während die zuvor eingegangenen Daten gleichzeitig verarbeitet werden. Die noch früher eingegangenen Daten werden gerade an der Ausgabe-Schnittstelle ausgegeben. Eingabe, Verarbeitung und Ausgabe erfolgen dadurch fortlaufend und teilweise gleichzeitig.
Grundsätzlich kann jede Rechenmaschine, die sowohl das utm- als auch das smn-Theorem erfüllt, jede berechenbare Funktion ausrechnen. Das EVA-Prinzip lässt sich damit auch abstrakt verstehen: Eine Rechenmaschine oder ein Programm nimmt Eingabeparameter (E) entgegen, führt eine Verarbeitung beziehungsweise Berechnung (V) durch und liefert eine Ausgabe (A).