Zum Inhalt springen

Adventskalender 2007: Türchen 6

Aus Wikibooks

Magst du Märchen? Magst du Rotkäppchen? Wahrscheinlich können hier die wenigsten im Brustton der Überzeugung mit Ja antworten. Aber Märchen müssen nicht immer abgedroschen und längst bekannt sein. Es gibt zahllose unbekanntere Märchen. Und auch die, die jeder aufzählen kann, können interessant sein, wenn man sie neu verpackt. Wenn du Informatiker bist, interessiert dich vielleicht diese Version.

Rotkäppchen objektorientiert.

Aber mach dir nichts draus, wenn du kein Wort verstehst.

Rotkäppchen

Zur Entwicklungszeit wurde ein von der Klasse ‚Mensch‘ abgeleitetes Objekt vom Typ ‚Mädchen‘ von einer künstlichen Intelligenz namens ‚Mutter‘ deklariert und als ‚Rotkäppchen‘ initialisiert. Zu Beginn der Laufzeit determinierte der Konstruktor von ‚Rotkäppchen‘ das Objekt als zu ‚Mutter‘ gehörig, so dass ‚Mutter‘ gemäß der vorgegebenen Syntax eine Methode von ‚Rotkäppchen‘ aufrufen und ihr als Parameter einen Zeiger auf ein imaginäres Behältnis in Form eines eindimensionalen Vektors, der die eindeutige Bezeichnung ‚Korb‘ trug, übergeben konnte. Damit wurde ‚Korb‘ an ‚Rotkäppchen‘ angehängt. ‚Rotkäppchens‘ Eigenschaft ‚Gedächtnis‘ wurde um eine Zeichenfolge verlängert, die das Verlassen des Bus als direkte Verknüpfung zwischen ‚Haus‘[0] und ‚Haus‘[1] unterband. Den Elementen des an ‚Rotkäppchen‘ angehängten Vektors ‚Korb‘ wurden iterativ diverse Instanzen nicht näher spezifizierter Klassen zugewiesen. ‚Mutter‘ lud eine Kopie von ‚Rotkäppchen‘ in den Bus und löschte umgehend das in ‚Haus‘[0] zurückgebliebene Original, um eine Inkonsistenz zu vermeiden. Die aktuellen Koordinaten in den Strom entlassener Objekte konnten leider nicht abgefragt werden. Also konnte ‚Mutter‘ keine Behandlungsroutine einleiten, als ein Wurm mit der Bezeichnung ‚Wolf‘ ‚Rotkäppchen‘ in eine Endlosschleife umleitete und ihm den Auftrag gab, alle Vorkommnisse einer ‚Blume‘ dem Vektor ‚Korb‘ hinzuzufügen. Er las ihre Eigenschaft ‚Ziel‘ aus und legte sich an dieser Adresse ab. Das ‚Mutter‘ übergeordnete Objekt ‚Großmutter‘ befand sich erwartungsgemäß an diesem Speicherplatz und wurde von ‚Wolf‘ überschrieben. ‚Rotkäppchen‘ konnte sich, nachdem es alle ‚Blumen‘ rekursiv eliminiert hatte, aus seiner Schleife befreien und seine ursprüngliche Destination rekonstruieren. Dort fand es die erwartete ‚Großmutter‘ in stark modifizierter Form vor und fragte zunächst einige Eigenschaften derselben ab. Es erhielt wenig relevante Daten über die Ausdehnung ihrer Eingabe-/Ausgabe-Methoden, wobei es derart viel Rechenzeit beanspruchte, dass es sich nicht duplizieren konnte, bevor ‚Wolf‘ ‚Rotkäppchens‘ Speicheradresse infizierte und selbiges ebenfalls überschrieb. Der intelligente Wurm entwickelte sich selbst zur nächsthöheren Version weiter und musste währenddessen in einer Ruhephase verharren. ‚Wolf‘ war somit leicht vom zuständigen Anti-Viren-Tool ausfindig zu machen. Der Systemadministrator gab den Befehl, ‚Rotkäppchen‘ und ‚Großmutter‘ zu rekonstruieren und an ihre vorherigen Positionen zu verschieben und ‚Wolf‘ durch Löschung und mehrfache Überschreibung bis auf Weiteres unschädlich zu machen. Und wenn niemand den Server abgeschaltet hat, dann wurden die Speicherbereiche von ‚Rotkäppchen‘, ‚Mutter‘ und ‚Großmutter‘ noch nicht wieder freigegeben.


Das Türchen vom 5 Dez. Das Türchen vom 7 Dez.