1. Kapitel
Erfassung der Strukturen von Kooperationssystemen in grafischen Plänen
= Fundamental Modelling Concepts (FMC)



Home
1.1
Zwei
Probleme
1.2
Lösungs-
konzept
1.3
Aufbau-
pläne
1.4
Ablauf-
pläne
1.5
Daten-
pläne
1.6
Interpreter-
schichtung
1.7
Phasen-
trennung

1.6 Interpreterschichtung

Unterscheidung zwischen Rollensystem und Trägersystem

Software ist kein dynamisches System, sondern eine statische Struktur aus Symbolen. Damit ein softwarebestimmtes dynamisches System entsteht, muss die Software von einem Interpreter als Handlungsanweisung interpretiert und ausgeführt werden. Man kann sich diesen Interpreter als Schauspieler vorstellen, der eine bestimmte Rolle spielt. Die zu interpretierende und auszuführende Software ist die Beschreibung der Rolle, und indem der Schauspieler diese Rolle spielt, entsteht das Rollensystem. Der Schauspieler selbst, der die Rolle "trägt", ist das Trägersystem. So kommen beispielsweise in Goethes Faust die beiden Rollensysteme Faust und Mephisto vor, und in der wohl bekanntesten Verfilmung werden diese Rollen von den Trägersystemen Will Quadflieg und Gustaf Gründgens interpretiert.

Nun kann aber ein Interpreter selbst wieder als softwarebestimmtes System realisiert werden. In diesem Fall gibt es eine Interpretersoftware, die durch einen anderen Interpreter interpretiert und ausgeführt wird. Selbstverständlich kann auch dieser zusätzliche Interpreter wieder als softwarebestimmtes System realisiert werden, wodurch ein weiterer Interpreter hinzukommt. Auf diese Weise kann man eine Interpreterschichtung bauen, auf der ganz oben das ursprünglich gewollte Rollensystem sitzt. Ganz unten muss ein Trägersystem liegen, das echte "Hardware" - Mensch oder Maschine - ist. Auf den dazwischen liegenden Schichten befinden sich Systeme, die von unten her gesehen Rollensysteme und von oben her gesehen Trägersysteme sind.

Dass man derartige Interpreterschichtungen realisieren kann, ist vermutlich leicht einzusehen. Aber da bleibt immer noch die Frage, was der Nutzen solcher Schichtungen sein könnte. Um der Antwort näher zu kommen, soll ein anschauliches Beispiel einer Interpreterschichtung betrachtet werden.

In dem Beispiel geht es um die Verfilmung des Musicals "Kiss me Kate" von Cole Porter. Eine zentrale Person in diesem Musical ist Fred Graham, der im Film von Richard Burton gespielt wird. Fred Graham ist Schauspieler und leitet eine Theatergruppe, die in verschiedenen oberitalienischen Städten das Stück "Taming of the Shrew"(Der Widerspenstigen Zähmung) von William Shakespeare aufführt. In diesem Shakespeare-Stück kommt die Figur Petruccio vor, die auf der Bühne von Fred Graham gespielt wird. Es handelt sich hier also um eine Interpreterschichtung mit drei Schichten. Ganz unten liegt die "menschliche Hardware" Richard Burton als Trägersystem, darüber liegt Fred Graham, der als Rollensystem realisiert ist und als Trägersystem für das ganz oben liegende Rollensystem Petruccio dient.

In dem dargestellten Aufbauplan sieht man drei ineinander geschachtelte Akteure und drei ineinander geschachtelte Aktionsfelder, wobei die Schachtelungsreihenfolge der Akteure entgegengesetzt zur Reihenfolge der Aktionsfelder ist: Bei den Akteuren bildet Petruccio die äußere Schachtel und Richard Burton liegt innen, wogegen bei den Aktionsfeldern das Aktionsfeld des Richard Burton das umfassendste ist und das des Petruccio ganz innen liegt. Die Beschreibung der Rolle des Petruccio, also die von Shakespeare geschriebene "Software" liegt nicht nur im Aktionsfeld des Fred Graham, sondern auch im Aktionsfeld des Richard Burton. In dessen Aktionsfeld liegt auch die Beschreibung der Rolle des Fred Graham, also die von Cole Porter geschriebene "Software", denn Richard Burton musste beide Rollen auswendig lernen.


Wenn es nur darum gegangen wäre, den Petruccio zu spielen, hätte es keinen Grund gegeben, die Rolle des Fred Graham zu erfinden. Aber Fred Graham agiert nicht nur als Interpreter der Rolle des Petruccio, sondern hat als Leiter einer Theatergruppe auch ein für die Zuschauer interessantes Eigenleben. Eine Interpreterschichtung macht also nur Sinn, wenn die auf den untersten Interpreter aufgesetzten Interpreter nicht nur als Interpreter agieren, sondern Aktionen ausführen, die über das Agieren des obersten Rollensystems hinausgehen. Die Planung einer bestimmten Interpreterschichtung beginnt deshalb nicht mit dem Wunsch, das oberste Rollensystem zu realisieren, sondern sie beginnt mit der Bereitstellung des untersten Interpreters und seiner Nutzungsmöglichkeiten. Von da ausgehend wird die Schichtung von unten nach oben geplant, wobei jeweils festgelegt wird, welche Funktionen des Gesamtsystems in welcher Schicht realisiert werden sollen.

Das Beispiel macht es verständlich, dass man ein in Form einer Interpreterschichtung realisiertes System nicht als Ganzes beschreiben muss, sondern dass es genügt, jede Schicht unabhängig von den anderen zu beschreiben. So muss man bei der Beschreibung der Rolle des Petruccio nicht auf die Rolle des Fred Graham und auch nicht auf den Schauspieler Richard Burton Bezug nehmen. Und ebenso kann man die Rolle des Fred Graham beschreiben, ohne die Tatsache zu erwähnen, dass er irgendwann einmal von Richard Burton gespielt werden wird.

Nun wird ein Beispiel einer Interpreterschichtung betrachtet, bei der der unterste Interpreter tatsächlich ein Computer ist. Die Darstellung zeigt das System nicht in Form eines Aufbauplans sondern als einen Stapel übereinanderliegender Schichten. Es ist selbstverständlich, dass diejenigen, die den Computer entwerfen, nicht wissen müssen, welche Software später obendrauf gesetzt werden wird. Es wird lediglich die Sprache festgelegt, in der die Rolle, die der Computer später spielen soll, formuliert werden muss. Entsprechendes gilt auch für die beiden nächsten Schichten: Beim Entwurf des Betriebssystems muss man nicht schon wissen, dass später einmal die Software einer universellen Steuerungsplattform hinzukommen wird, und diejenigen, die diese Plattform entwerfen, brauchen nicht zu wissen, dass auf diese Plattform eine Seilbahnsteuerung aufgesetzt werden wird. Da es sich bei diesem Beispiel um ein System handelt, welches tatsächlich realisiert und in Betrieb genommen wurde, könnte ich die vier Unternehmen angeben, die unabhängig voneinander jeweils eine der vier Schichten realisiert haben. Das Unternehmen, welches die universelle Steuerungsplattform gebaut hat, konnte diese allen Unternehmen anbieten, die konkrete Steuerungen realisieren müssen. Weil diese ihre spezielle Steuerungssoftware jeweils nur noch auf den fertig gelieferten Stapel der drei unteren Schichten aufsetzen müssen, ist ihr zu erbringender Aufwand sehr viel geringer, als wenn sie die gesamte Software direkt auf den Computer aufsetzen müssten.


zum Seitenanfang