DVM - Datenverarbeitungsmodell

Rekursion

by Dr. M. Halfpap

Zurück zur Hauptseite



Vorgegeben :

Prozessorteam ( Meister, Ableser u. Zuweiser ), Arbeitsraum, Variab- lenkästchen, Methoden- und Methodenunterräume

Ausstattung eines Methodenraumes :

Eingang mit Namenskennzeichnung an der Tür, Variablenregal für lokale Variable und "mitgebrachte" Variablenparameter, ein Schreib- tisch für den Meister

Verfahren bei Methodenaufruf :

- Bei Aufruf einer Methode sucht das Prozessorteam den nächsten erreichbaren Raum des entsprechenden Namens auf, d.h. sie suchen zunächst im aktuellen Raum, dann ggf. in übergeordneten Räumen - Das Team betritt den Raum ( ggf. unter Mitnahme von Variablenpa- rametern sowie von Wertezetteln für Ausgabeparameter ) - Im Raum werden entsprechend dem lokalen Vereinbarungsteil Varia- blenkästen aufgestellt, ebenso für die Ausgabeparameter - Das Team arbeitet entsprechend den Anweisungen des Algorithmus ( Programmlisting ) - Nach Erfüllung der Arbeit im Methodenraum räumt das Team alle lokalen Variablenkästen ab - unter ordentlichen Leuten gehört sich das so - und verläßt den Raum um im übergeordneten Raum weiterzuarbeiten

Rekursiver Aufruf einer Prozedur ( -> STACK ):

- Wenn ein rekursiver Aufruf der Methode ( d.h. auf dem Listing inner- halb des Methodenraumes ) erfolgt, sucht das Team einen Methoden- raum dieses Namens, findet ihn lokal nicht und verläßt den Raum, um draußen weiterzusuchen. Dabei werden die lokalen Variablen natürlich nicht weggeräumt, da das Team zur Weiterarbeit demnächst zurück- kehren will - Von draußen entdeckt man den "alten" Methodenraum und betritt ihn erneut in der Absicht, diese Prozedur komplett abzuarbeiten. - Beim Aufstellen der entsprechenden Variablenkästen ( s.o. ) stellt man fest, daß noch herren- bzw. damenlose Kästen herumstehen. Um niemandem zu schaden, werden diese Kästen nach hinten in das Regal geschoben in der Absicht, sie beim Verlassen des Raumes am Ende der Bearbeitung wieder hervorzuholen ( > PUSH auf den STACK < ). Bei mehrfach rekursivem Aufruf stapeln sich die noch nicht erledigten Kästen im Hintergrund. Ist ein Aufruf komplett abgearbeitet, so ver- läßt man den Raum natürlich unter Aufräumen, d.h. die alten Kästen des übergeordneten Aufrufs stehen dann wieder vorne im Regal.