EVA-Prinzip

Aus besserwiki.de

Das EVA-Prinzip beschreibt ein Grundprinzip der Datenverarbeitung. Die Abkürzung leitet sich aus den ersten Buchstaben der Begriffe Eingabe, Verarbeitung und Ausgabe ab (englisch IPO model: Input-Process-Output). Diese drei Begriffe beschreiben die Reihenfolge, in der Daten verarbeitet werden. Das Prinzip ist aus der Sicht der verarbeitenden Einheit zu sehen (das kann auch ein Mensch sein) und ist somit unabhängig von elektronischen Maschinen. Es ist daher allgemeingültig für den Vorgang der Verarbeitung von Daten.

EVA-Prinzip bildlich dargestellt

Das EVA-Prinzip im EDV-Bereich kann so beschrieben werden: Eingabe – Verarbeitung per Datenverarbeitungsanlage (DVA) – Ausgabe. Es gilt als Grundschema der Datenverarbeitung. Entgegen der allgemeinen Meinung gehört der Speicher nicht zur Verarbeitung, sondern er hat im EVA-Prinzip eine Art Sonderstellung, er kapselt sich ab. Das wird als EVA (S)-Prinzip ausgedrückt. Ein Gerät nach reinem EVA-Prinzip ist zustandslos, es besitzt keinen internen Zustand, der dazu führen könnte, dass dieselbe Eingabe bei zwei Verarbeitungen zu verschiedenen Ergebnissen führen könnte. Daher muss sich der Speicherinhalt bei Verarbeitungsstart in einem immer gleichen Zustand befinden (z. B. „leer“ sein).

Erst das Abweichen vom reinen EVA-Prinzip zu zustandsbehafteten Logikschaltungen (siehe Medwedew-Automat, sowie Moore-Automat und Mealy-Automat) führte von den einfachen Rechenmaschinen zur Entwicklung heutiger Computer.

Das Input-Process-Output-Modell

Das Input-Process-Output-Modell (IPO) oder Input-Process-Output-Muster ist ein in der Systemanalyse und im Software-Engineering weit verbreiteter Ansatz zur Beschreibung der Struktur eines Informationsverarbeitungsprogramms oder eines anderen Prozesses. In vielen einführenden Texten zur Programmierung und Systemanalyse wird dieses Modell als die grundlegendste Struktur zur Beschreibung eines Prozesses eingeführt.

Überblick

Ein Computerprogramm eignet sich für eine andere Art von Prozess, der das Input-Process-Output-Modell verwendet. Es empfängt Eingaben von einem Benutzer oder einer anderen Quelle, führt einige Berechnungen mit den Eingaben durch und gibt die Ergebnisse der Berechnungen zurück. Im Wesentlichen trennt das System sich selbst von der Umgebung, so dass sowohl Eingaben als auch Ausgaben als ein einheitlicher Mechanismus definiert werden. Das System würde die Arbeit in drei Kategorien unterteilen:

  • Eine Anforderung aus der Umwelt (Eingabe)
  • Eine Berechnung auf der Grundlage der Anforderung (Prozess)
  • Eine Bereitstellung für die Umwelt (Output)

Mit anderen Worten, solche Inputs können Materialien, Humanressourcen, Geld oder Informationen sein, die in Outputs wie Verbrauchsgüter, Dienstleistungen, neue Informationen oder Geld umgewandelt werden.

Das hat zur Folge, dass ein Input-Prozess-Output-System sehr anfällig für Fehlinterpretationen ist. Das liegt daran, dass es theoretisch alle Daten in Bezug auf die Umwelt außerhalb des Systems enthält. In der Praxis enthält die Umwelt jedoch eine Vielzahl von Objekten, die ein System nicht erfassen kann, da sie sich außerhalb der Kontrolle des Systems befinden. Daher ist es sehr wichtig zu verstehen, wo die Grenze zwischen dem System und der Umwelt liegt, die sich dem Verständnis des Systems entzieht. Verschiedene Analytiker legen oft ihre eigenen Grenzen fest und bevorzugen ihre Sichtweise, was zu großer Verwirrung führt.

Systeme bei der Arbeit

In Bezug auf das Systemdenken gibt es unterschiedliche Auffassungen. Eine dieser Definitionen würde das Input-Prozess-Output-System als eine Struktur umreißen: "Systemdenken ist die Kunst und Wissenschaft, zuverlässige Rückschlüsse auf das Verhalten zu ziehen, indem man ein immer tieferes Verständnis der zugrunde liegenden Struktur entwickelt".

Alternativ wurde auch vorgeschlagen, dass Systeme nicht "ganzheitlich" im Sinne einer Verbindung mit entfernten Objekten sind (z. B. der Versuch, eine Krabbe, die Ozonschicht und den Lebenszyklus eines Kapitals miteinander zu verbinden).

Arten von Systemen

Es gibt fünf Hauptkategorien, die in der Literatur über Informationssysteme am häufigsten zitiert werden:

Natürliche Systeme

Ein System, das nicht durch menschliche Eingriffe entstanden ist. Beispiele hierfür wären das Sonnensystem und der menschliche Körper, der sich zu seiner heutigen Form entwickelt hat.

Entworfene physikalische Systeme

Ein System, das durch menschliches Eingreifen geschaffen wurde und physikalisch identifizierbar ist. Beispiele hierfür wären verschiedene Computermaschinen, die vom menschlichen Geist für einen bestimmten Zweck geschaffen wurden.

Abstrakte Systeme

Ein System, das durch menschliches Eingreifen geschaffen wurde und nicht physikalisch identifizierbar ist. Beispiele hierfür wären mathematische und philosophische Systeme, die vom menschlichen Geist zu einem bestimmten Zweck geschaffen wurden.

Es gibt auch einige soziale Systeme, die es den Menschen ermöglichen, gemeinsam ein bestimmtes Ziel zu erreichen.

Soziale Systeme

Ein von Menschen geschaffenes System, das sich aus immateriellen Zwecken ableitet. Ein Beispiel: eine Familie, die eine Hierarchie menschlicher Beziehungen darstellt, die im Wesentlichen die Grenze zwischen natürlichen und menschlichen Systemen bilden.

Systeme menschlicher Aktivitäten

Eine Organisation mit Hierarchie, die von Menschen zu einem bestimmten Zweck geschaffen wurde. Beispiel: ein Unternehmen, das Menschen zusammenbringt, um zusammenzuarbeiten und einen bestimmten Zweck zu erreichen. Das Ergebnis dieses Systems ist physisch identifizierbar. Es gibt jedoch einige signifikante Verbindungen zu den vorherigen Typen. Es liegt auf der Hand, dass die Idee eines Systems menschlicher Aktivitäten (HAS) aus einer Vielzahl kleinerer sozialer Systeme besteht, die sich in ihrer Entwicklung und Organisation unterscheiden. Darüber hinaus können HAS wohl auch konstruierte Systeme - Computer und Maschinen - umfassen. Die Mehrzahl der bisherigen Systeme würde sich überschneiden.

Systemmerkmale

Es gibt mehrere Schlüsseleigenschaften, wenn es um das grundsätzliche Verhalten eines jeden Systems geht.

  1. Systeme können als offen oder geschlossen klassifiziert werden geschlossen:'
    • Systeme, die mit ihrer Umwelt in Form von Geld, Daten, Energie oder Materialaustausch interagieren, werden allgemein als offen bezeichnet. Die Offenheit eines Systems kann sehr unterschiedlich sein. Denn ein System wird als offen eingestuft, wenn es auch nur einen einzigen Input aus der Umwelt erhält, während ein System, das lediglich mit der Umwelt interagiert, ebenfalls als offen eingestuft wird. Je offener ein System ist, desto komplexer ist es in der Regel, da seine Komponenten weniger vorhersehbar sind.
    • Systeme, die überhaupt keine Wechselwirkungen mit der Umwelt haben, sind geschlossen. In der Praxis ist ein vollständig geschlossenes System jedoch nur bedingt lebensfähig, da der Output nicht mehr sinnvoll genutzt werden kann. Infolgedessen sind die meisten Systeme offen oder bis zu einem gewissen Grad offen.
  2. Systeme können klassifiziert werden als deterministisch oder stochastisch:
    • Ein gut definiertes und klar strukturiertes System wird in Bezug auf Verhaltensmuster vorhersehbar und damit deterministisch. Mit anderen Worten, es würde nur empirische Daten verwenden. Ein Beispiel: Mathematik oder Physik beruhen auf bestimmten Gesetzen, die die Ergebnisse von Berechnungen vorhersehbar machen. Deterministische Systeme würden vereinfachte Wechselwirkungen zwischen den inneren Komponenten aufweisen.
    • Komplexere und oft offenere Systeme haben ein relativ geringeres Maß an Vorhersagbarkeit, da es keine klar strukturierten Verhaltensmuster gibt. Die Analyse solcher Systeme ist daher viel schwieriger. Solche Systeme wären stochastisch oder probabilistisch, was auf die stochastische Natur des Menschen bei der Ausübung verschiedener Tätigkeiten zurückzuführen ist. Dennoch würden entworfene Systeme aufgrund einer starren Struktur von Regeln, die in den Entwurf integriert sind, als deterministisch angesehen werden.
  3. Systeme können als statisch oder dynamisch klassifiziert werden
    • Die meisten Systeme sind aufgrund der ständigen Weiterentwicklung der Rechenleistung als dynamisch zu bezeichnen, doch bei einigen Systemen ist es schwierig, das Gleichgewicht zwischen der Entstehung und dem Verschwinden zu halten. Ein Beispiel hierfür wäre eine gedruckte Karte, die sich nicht weiterentwickelt, im Gegensatz zu einer dynamischen Karte, die von ständig aktualisierenden Entwicklern bereitgestellt wird.
  4. Systeme können als selbstregulierend oder nicht selbstregulierend klassifiziert werden
    • Je größer das Ausmaß der Selbstkontrolle der Systemaktivität ist, desto größer ist die Lebensfähigkeit des endgültigen Systems. Es ist für jedes System von entscheidender Bedeutung, dass es seine Aktivitäten kontrollieren kann, um stabil zu bleiben.

Anwendungen im wirklichen Leben

Unternehmen

  • Ein Herstellungsprozess, der Rohstoffe als Input nimmt, einen Herstellungsprozess anwendet und hergestellte Waren als Output produziert. Der Einsatz solcher Systeme könnte dazu beitragen, dass in jeder Abteilung des Unternehmens, unabhängig von der Größe, stärkere menschliche Organisationen in Bezug auf die Unternehmensabläufe entstehen. IPOs können auch bestehende statische und nicht selbstregulierende Systeme umstrukturieren, die in der realen Welt in Form von Outsourcing der Produkterfüllung aufgrund der Ineffizienz der derzeitigen Erfüllung verwendet werden.

Programmierung

  • Die meisten bestehenden Programme für die Codierung, wie Java, Python, C++, würden auf einem deterministischen IPO-Modell basieren, mit klaren Eingaben, die vom Codierer kommen und in Ausgaben, wie Anwendungen, umgewandelt werden.
  • Ein Batch-Transaktionsverarbeitungssystem, das große Mengen homogener Transaktionen annimmt, sie verarbeitet (möglicherweise durch Aktualisierung einer Datenbank) und Ausgaben wie Berichte oder Berechnungen erzeugt.
  • Ein interaktives Computerprogramm, das einfache Anfragen von einem Benutzer entgegennimmt und nach einigen Verarbeitungen und/oder Datenbankzugriffen darauf antwortet.

Wissenschaftlich

  • Ein Taschenrechner, der vom Benutzer bereitgestellte Eingaben verwendet und diese in Ausgaben umwandelt, die vom Benutzer verwendet werden können.
  • Ein Thermostat, der die Temperatur misst (Eingabe), eine Aktion beschließt (Heizung ein/aus) und diese Aktion ausführt (Ausgabe).

Sichtweisen

Das EVA-Prinzip kann sowohl „räumlich“ (im weitesten Sinne) als auch zeitlich gesehen werden:

  • räumlich: Ein Bereich der DV-Anlage ist für Dateneingabe vorgesehen (z. B. eine Seite einer Platine; Tastatur, Maus; aber auch „logisch räumlich“: eine Programmbibliothek eines Programms), ein weiterer Bereich für die Verarbeitung, und der dritte Teil für die Ausgabe. Das kann sich sowohl auf die Organisation der Hardware als auch auf die Software oder auch auf das EDV-System (Hard- und Software) als Ganzes beziehen:
    • In der Hardware muss klar sein, welche Eingangssignale empfangen werden sollen (Tastatur- oder Mauseingaben, Netzwerkverbindungen, …), wie sie verarbeitet werden sollen (z. B. eine Berechnung durchführen) und in welcher Form die Daten ausgegeben werden sollen (Bildschirmausgang, Drucker-, Netzwerk-, Ton-Ausgänge, …). Gegenteilige Entwicklungen sind z. B. Smartphones, bei denen Eingabe (Touchscreen) und Ausgabe (derselbe Bildschirm) keine explizite, klare Trennung besitzen.
    • In der Software muss klar sein, welche Eingangsdaten ein Programm erhält (Tastendrücke und/oder Dateien von einem Datenträger, …), was es damit machen soll (mathematische Berechnungen, Berechnung von Grafikelementen, …) und was in welcher Form ausgegeben werden soll (Bildschirmausgaben in Text oder Grafik, Abspeicherung auf einen Datenträger, …). Gegenteiliges Prinzip ist hier z. B. die Objektorientierung, bei der nicht funktional getrennt wird, sondern objektbezogen: Sowohl Methoden zum Einlesen, als auch zum Verarbeiten und Ausgeben eines Objekts sind Objektmethoden, also nicht „räumlich getrennt“; zweites Beispiel: die Fuzzylogik versucht, aus unklaren Eingangssignalen dennoch eindeutige Entscheidungen zu treffen; Künstliche neuronale Netze versuchen, aus ungenauen Eingabedaten definierte Ausgaben zu erzeugen, wobei oft keine exakte Verarbeitungsvorschrift festgelegt werden kann – das Netz soll es „irgendwie“ durchführen und durch Training erlernen.
  • zeitlich: zuerst werden alle Eingaben erfasst (danach sind keine weiteren Eingaben mehr möglich), dann wird verarbeitet (solange sind noch keine Ergebnisse verfügbar), zuletzt werden die Ergebnisse ausgegeben. Das hierzu gegenteilige Prinzip nennt sich Streaming, bei dem kontinuierlich neue Eingaben eintreffen, gleichzeitig die vorigen verarbeitet werden, und die vor-vorigen an der Ausgabe-Schnittstelle gerade abgegeben werden.
Grundsätzlich kann jede Rechenmaschine, die sowohl das utm-, als auch das smn-Theorem erfüllt, jede berechenbare Funktion auch ausrechnen. Sowohl Computer als auch Computerprogramme können somit als Funktionen angesehen werden, die Parameter (E) entgegennehmen, mit diesen Parametern eine Berechnung (V) anstellen und das Ergebnis der Berechnung ausgeben (A).