1. Begriffsbestimmung

1.1. Operation, Operand, Operator

Ausgangspunkt unserer Überlegungen soll der Begriff des Prozesses sein. Dieser wird an verschiedenen Stellen unterschiedlich definiert:

Das philosophische Wörterbuch definiert Prozeß als "Beschreibung der Entwicklung und Bewegung als dynamische Aufeinanderfolge verschiedener Zustände der Gegenstände, Systeme usw., wobei ein Zustand aus dem anderen hervorgeht" (BUHR/KOSING).

In ENGELIEN/STAHN 1989 wird Prozeß als "eine Umformung und/oder ein Transport von Stoff, Energie und/oder Information" definiert.

Im ISO-Standard 2382/1-1984 (TGL 44 530/01) wird Prozeß (ISO Chiffre 01.01.11) als "unter gegebenen Bedingungen ausgeführte Folge von Operationen, die durch ihren Zweck und ihre Wirkung definiert ist" (EDV-aspekte 1/89 S.5) beschrieben. Diese Definition ist seit dem 1.1.1989 verbindlich und soll uns daher auch als Ausgangspunkt dienen. Da "die in diesem Standard gebotenen Definitionen ... den zur Zeit international abgestimmten Mindestumfang dieser Definitionen (repräsentieren)" (ebenda S.4) sind noch Ergänzungen und Erklärungen zu dieser Definition notwendig, um eindeutig darzustellen, was wir unter einem Prozeß verstehen wollen.

Der zentrale Begriff dieser Definition ist der der Operation. Diese ist (ohne ISO-Chiffre) als "zielgerichtete Einwirkung eines Operators auf Operanden, die zu einer definierten Zustandsänderung führt" (ebenda S.8) definiert.

Da m.E. keine Notwendigkeit besteht, die Anzahl der wirkenden Operatoren auf einen zu beschränken, wollen wir die Definition verallgemeinern und von einer "Einwirkung von Operatoren auf Operanden" sprechen.

Eine Zustandsänderung setzt voraus, daß es Zustände gibt. Die Definition impliziert, daß die Zustandsänderung nur den Operanden betreffen kann. Von den auftretenden Begriffen Operator und Operand können jedoch beide über einen Zustand verfügen. Sehen wir uns einmal zwei Operationen an:

Das erste Beispiel ist, strenggenommen, eine Irreführung. Denn hier ist nicht die Maschine der Operator für die Einrichteoperation, sondern ein spezieller Einrichteoperator (Mensch oder spezieller Teil der Maschine). Werkzeuge und Maschine sind Operanden. Im Anschluß an die Einrichteoperation befindet sich die Maschine in einem neuen Einrichtezustand. Sie wird damit als Operator neu definiert, d.h., sie ist jetzt in der Lage, andere Operationen auszuführen als vor der Einrichtung. Dabei müssen die Mengen der vor und der nach der Einrichtung ausführbaren Operationen nicht notwendig disjunkt sein.

Das zweite Beispiel ist schon etwas schwerer zu durchschauen. Worin liegt die zweite mögliche Zustandsänderung begründet, die hier auftreten kann? Hier hilft uns die Analyse der eigentlich durchzuführenden Operation weiter. Operationen an stofflichen und/oder energetischen Operanden haben stets eine physikalische Grundlage. Sie erfordern gegebenenfalls das Ausüben einer Kraft auf die Operanden. Eine Kraftausübung bedeutet aber, daß eine Gegenkraft existiert, die vom Operanden auf den Operator zurück wirkt. Damit führt der Operand am Operator eine Art "Gegenoperation" aus. Bezüglich dieser wird damit der Operand zum Operator und der Operator zum Operanden. Diese ist auch die Ursache dafür, daß ein Operator bei der Ausführung einer Operation seinen Zustand ändern kann.

Operationen an Operanden informationeller Natur wirken nicht auf den Operator zurück, solange nicht die physikalischen, chemischen oder biologischen Grundlagen der Informationsverarbeitung in die Betrachtung einbezogen werden. Solange also unter "Operation" eine "informationsverarbeitende Operation" verstanden wird, betrifft die "definierte Zustandsänderung" nur die Operanden.

Eine Zustandsänderung eines Operanden kann sowohl die Veränderungen der Werte von Zustandsvariablen des Operanden sein als auch die Erzeugung und Vernichtung des Operanden. Zustandsvariable eines Operanden sind alle die dem Operanden zugeordneten Informationen, die zur eindeutigen Bestimmung seines Zustandes notwendig sind.

Ein Prozeß als "Folge von Operationen" ist eine Struktur auf Operationen. Seine Natur ist die einer komlexen Operation - auch ein Prozeß benötigt zu seiner Ausführung einen oder mehrere Operatoren, auch er führt zu Zustandsänderungen seiner Operanden. Somit kann jede Operation als elementarer Prozeß und jeder Prozeß als Operation betrachtet werden. Strukturen auf Prozessen können wieder wie Prozesse hantiert werden.

Operationen sind Elemente eines Prozesses, die in definierter Weise miteinander verbunden sind. Die Struktur des Prozesses wird als Prozeßstruktur bezeichnet. Sie dient zur Beschreibung des Prozesses. Ihre Trägermenge ist eine Menge von Operationen. Die (Kanten-)Bewertungsmenge kann zweiwertig sein, in diesem Fall wird lediglich die Reihenfolge der Operationen dargestellt. Sie kann aber auch die Menge der Operanden umfassen, wobei außer der Reihenfolge der Operationen auch die Art der hantierten Operanden beschrieben wird.

Eine Struktur auf Operatoren wird Systemstruktur genannt. Die Trägermenge dieser Struktur ist die Menge der Operatoren. Die Bewertungsmenge ist meist zweiwertig und drückt die Erreichbarkeit der Operatoren untereinander aus. Zwei Operatoren sind mit einander verbunden, wenn Operanden von einem Operator direkt zu einem anderen gelangen können.

Operandenstrukturen drücken die Abhängigkeit der Operanden untereinander aus. Mit ihnen kann dargestellt werden, welche Operanden für die Erzeugung anderer Operanden notwendig sind oder welche Operanden in anderen enthalten sind. Operandenstrukturen können in Prozeßstrukturen transformiert werden, indem jedem Operanden eindeutig eine Operation zugeordnet wird, die diesen Operanden erzeugt (vgl. Abschnitt 3.5.).

1.2. Zustände und Zustandsgraphen

Wir haben bereits gesehen, daß durch Operationen an Operanden Zustandsänderungen ausgeführt werden. Der Operand besitzt nach Ausführung einer Operation einen anderen Zustand als vorher.

Der Zustand eines Operanden wird durch die Werte aller Merkmale, die veränderliche wesentliche Eigenschaften des Operanden bezüglich eines bestimmten Prozesses beschreiben, bestimmt.

Ein Zustandsmerkmal kann verschiedene Werte annehmen. Die Gesamtheit dieser Werte stellt den Zustandsraum des Merkmals dar. Die Anzahl der Elemente eines Zustandsraumes kann klein, groß oder unendlich sein. Klein soll ein Zustandsraum dann heißen, wenn er weniger als zehn Elemente umfaßt.

Um eine Vereinheitlichung der Hantierung von Erzeugung, Veränderung und Vernichtung von Operanden zu erzielen, können wir die Zustände 'vor Erzeugung' und 'nach Vernichtung' einführen, die Element jedes Zustandsraumes sein dürfen. Häufig wird für beide Zustände auch die Bezeichnung 'nicht existent' verwendet. Diese kann aber zu Mißverständnissen bei der Interpretation von Zustandsgraphen führen.

Wir können die Zustände, die durch Operationen ineinander über gehen, miteinander in Relation setzen. Wir erhalten damit eine (vorerst noch unbewertete) Struktur auf Zuständen. Diese Struktur nennen wir Zustandsgraph. Während eine Operation in einer Prozeßstruktur die Beschreibung dessen ist, was an ihren Operanden auszuführen ist, stellt eine Kante im Zustandsgraphen eine konkrete Operation dar. Sie besteht nur, wenn bestimmte Eingangsoperanden der Operation über ganz bestimmte Zustandswerte verfügen. Solche konkreten Operationen bezeichnen wir als Transitionen. Eine Transition ist immer die Erscheinungsform einer bestimmten Operation.

Eine Transition kann eindeutig beschrieben werden durch die Zustände, die sie miteinander in Relation setzt, durch die Belegung der Eingangswerte und durch die Operation, die die Transition durchführt. Sie ist stets eindeutig einem Operanden zugeordnet.

Damit können wir alle Operationen, die an einem Operanden auszuführen sind, mit Hilfe von Zustandsgraphen beschreiben. Wir erhalten mit den Zustandsgraphen ein Hilfsmittel, einen Prozeß bezüglich eines Operanden darzustellen. Dabei berücksichtigt diese Darstellung die konkret zugrunde liegende Prozeßstruktur nur in geringem Maße.

Nun ist die Verwendung von Zustandsgraphen als Beschreibungsmittel für Prozesse an und für sich nichts Neues. Für die Be schreibung abstrakter Automaten haben sich Zustandsgraphen schon lange bewährt. Sie werden z.B. in speicherprogrammierbaren Steuerungen von Krauss-Maffay (Graphen-SPS) verwendet. Worin besteht nun die neue Qualität der Zustandsgraphen für Operanden gegenüber den Zustandsgraphen für abstrakte Automaten?

Der wesentliche Unterschied besteht in der Interpretation der Transitionsregel:


____________ ____________ | | x/y | | | Zustand z1 |------------------->| Zustand z2 | |____________| |____________| Transition in einem Zustandsgraphen

Bei Automatengraphen wird die Transition wie folgt gelesen: "Befindet sich der Automat im Zustand z1 und liegen die Eingangswerte x an, so geht der Automat in den Zustand z2 über und gibt die Werte y aus." Dabei werden die Eingangsoperanden x stets vernichtet und die Ausgangsoperanden y erzeugt. Die Zustandsänderung wird auf den Automaten, also auf den Prozeß bezogen, d.h., wenn derselbe Prozeß wieder durch Eingangswerte aktiviert wird, ändert sich das Antwortverhalten.

In den Zustandsgraphen für Operanden wird die Transitionsregel in der Form "Befindet sich ein Operand im Zustand z1 und sind die mit x beschriebenen Bedingungen erfüllt, so geht der Operand durch Ausführung der Operation y in den Zustand z2 über." interpretiert. Die Bedingungen enthalten die Prüfung von Eigenschaften des Operanden oder mit ihm in Relation stehender anderer Operanden. Die gegebenenfalls erforderliche Aktion kann Eigenschaften des Operanden verändern. Diese Operationen führen zu Zustandsänderungen des Operanden, ohne ihn unbedingt zu erzeugen oder zu vernichten.

Sowohl Automatengraphen als auch Zustandsgraphen für Operanden beschreiben Prozesse ohne innere Parallelität.


Prinzipiell können wir die Prozesse, die an Operanden auszuführen sind, mit Zustandsgraphen beschreiben. Der praktischen Anwendbarkeit dieses Mittels sind jedoch Grenzen gesetzt.

Besitzt der Zustandsraum unendlich viele Elemente, können wir zwar formal die Transitionen beschreiben, eine vollständige Aufzählung aller Transitionen ist jedoch nicht möglich. Hier ist es notwendig, die auszuführende Operation mit anderen Beschreibungsmitteln darzustellen. Meist wird dazu die algorithmische Beschreibung der Operation genutzt.

Wenn der Zustandsraum groß ist, ist es ebenfalls nicht vorteilhaft, alle Transitionen aufzuzählen. Nicht die prinzipielle Unmöglichkeit, sondern die Einbuße an Übersichtlichkeit und Verständlichkeit dieser Darstellung ist die Ursache dafür. Außerdem erhöht sich die Gefahr, Fehler zu begehen. Auch hier sollte die algorithmische Beschreibung der Operationen genutzt werden.

Zustandsgraphen sind als Beschreibung für Operanden geeignet, deren Zustandsraum klein ist. Ist damit aber die Darstellungsform "Zustandsgraph" noch sinnvoll? Meist werden durch die Prozesse doch umfangreiche Änderungen von Zustandswerten vorgenommen?

Jeder Prozeß stellt eine Struktur auf Operationen dar. Wenn es uns gelingt, diese Struktur zu finden, können wir den Gesamtprozeß durch eine Menge von verketteten Zustandsgraphen beschreiben. Diese Graphen sind einfacher als der ursprüngliche Zustandsgraph, ihre parallele Existenz erlaubt auch ihre parallele Abarbeitung und damit die Beschreibung und Ausführung des gegebenen Prozesses mit maximaler Parallelität. Nicht der Zustandsgraph an sich bewirkt ein derartiges Multiprocessing, sondern mehrere nebeneinander existierende, voneinander relativ unabhängige Zustandsgraphen. Um diese zu erarbeiten, ist es notwendig, neben der Struktur des Prozesses auch eine Struktur seiner Operanden zu finden.

Viele Operanden, die bei der Steuerung diskreter Prozesse berücksichtigt werden müssen, können durch kleine Zustandsgraphen beschrieben werden. Hier sind Zustandsgraphen ein mächtiges Beschreibungsmittel. Die wichtigsten Zustandsmerkmale dieser Operanden besitzen in der Tat nur einen kleinen Zustandsraum. Zustandsmerkmale, die einen größeren Zustandsraum umfassen, können analytisch beschrieben werden. Es besteht auch die Möglichkeit, die Zustandsänderungen dieser Merkmale mit den Zustandsänderungen anderer Merkmale zu kombinieren und die entsprechenden Algorithmen bei der Ausführung einer anderen Transition abzuarbeiten.


voriger Abschnitt Inhalt der Dissertation


  Copyright © 1997 by
Dr. Uwe Doetzkies

<F>-soft
Homepage
nächster Abschnitt

Original © 1990 by Dresden University of Technology; Dept. of Information Science; Applied Computer Science