Suche Home Einstellungen Anmelden Hilfe  

Projekt "Game of Life" - Anforderungsdefinition


Istanalyse

Im Biologieunterricht steht innerhalb des Curriculums auch die Zellbiologie auf dem Plan. Der Unterricht ist hier oft ein Trockenkurs oder erfordert Experimente an lebenden Zellkulturen. Die entsprechenden Experimente benötigen Zeit, um das Zellwachstum zu beobachten, Arbeitsmittel und Kosten und einen erheblichen Betreuungsaufwand der Lehrkraft.
Zukünftig soll in Ergänzung zu den weiter verwendeten Experimenten im Biologieunterricht ein Programm eingesetzt werden, das in vereinfachter Form zentrale Elemente der Zellbiologie, speziell Wachstumsprozesse von Zellkulturen, simuliert.
Gesucht ist ein Programm, das zentrale Phänomene der Zellbiologie, die beim Wachstum von Zellkulturen auftreten, simuliert. Typisch für Zellkulturen ist ein zunächst stetig zunehmendes Wachstum bis zu einem bestimmten Wert, an dem sich ein Gleichgewicht einstellt, das durch Geburt und Absterben bestimmt wird. Eine Zelle kann tot sein oder leben. Sind zuviele Zellen an einem Ort kommt es zu Nahrungsmangel, so daß einige oder alle Zellen sterben. Befindet sie sich in einem Zellverband bestimmter Größe, kann sie überleben. Wird sie vom Zellverband gelöst, stirbt sie.
Gibt die Simulation das Verhalten von Zellkulturen in bestimmten Bereichen wieder, kann sie zur Vorhersage von Wachstumsprozessen verwendet werden. Zudem können vermutete Wachstumsregeln erhärtet werden.
Die Schüler sollen über eine leicht bedienbare Oberfläche Zellkulturen definieren, Wachstumsprozesse analysieren und mit unterschiedlichen Fortpflanzungsregeln experimentieren können. Das System soll auch in Präsentationsform allein von der Lehrkraft eingesetzt werden können.
Zum Einsatz des Systems steht das Schullabor mit 15 PCs zur Verfügung, in dem die Schüler jeweils zu zweit an einem Gerät arbeiten sollen.


Sollkonzept

1. Systemziele

Das System realisiert eines der ältesten Simulationen des Wachstums von Zellkulturen, das unter dem Namen "Game of Life" bekannt ist und von dem Mathematiker John H. Conway [Con71] vorgeschlagen wurde.
Zellkulturen werden durch schachbrettförmig angeordnete Plätze modelliert, die jeweils durch eine lebende oder tote Zelle besetzt sind. Der Wachstumsprozeß einer Zellkultur erfolgt nach festen Regeln in Generationen. Ob ein Platz in der nächsten Generation eine lebende oder tote Zelle enthält, hängt von aktuellen Zustand der Zelle und der Zahl ihrer lebenden unmittelbaren Nachbarn (max. acht Stück, sofern sich die Zelle nicht am Rande der Zellkultur befindet) in der aktuellen Generation ab. Dabei gelten folgende Regeln: Der Anfangszustand des Spielfelds, d.h. die Anfangsbelegung der Plätze mit lebenden oder toten Zellen, wird zufällig durch das Programm vorgegeben oder vom Benutzer bestimmt. Ferner kann der Benutzer zu beliebigen Zeiten den Berechnungslauf anhalten, um z.B. eine Generation genauer zu betrachten, oder ganz abbrechen. Die Nummer der aktuellen Generation wird durch das Programm angezeigt.

Anmerkung:

In der Informatik spricht man bei vielen gleichartigen, durch einfache nachbarschaftliche Kommunikation miteinander verbundenen und funktional einfachen Schaltelementen von zellulären Automaten. In diesem Sinne ist das Game of Life ein zellulärer Automat. Eine wesentliche Leistung der theoretischen Arbeiten von John Conway war es zu zeigen, daß das Game of Life berechnungsvollständig ist, das es also gleichmächtig zu Computern ist, sofern das Spielfeld unbeschränkt ist. Der zelluläre Automat "Game of Life" kann also Turingmaschinen simulieren und beliebige Programme ausführen, sofern sie und ihre Ein- und Ausgaben in Zellkulturen codiert werden. Trotz der einfachen Regeln ist das Verhalten der Zellkultur folglich hochkomplex und unüberschaubar.
Das System benötigt zum Ablauf nur das Java-Laufzeitsystem und kann daher auf nahezu jedem Rechner ausgeführt werden.

2. Kurzbeschreibung

Das System realisiert die unter der Bezeichnung "Game of Life" von John H. Conway [Con71] bekannte Simulation des Wachstums von Zellkulturen.
Zellkulturen werden durch schachbrettförmig angeordnete Plätze modelliert, die jeweils durch eine lebende oder tote Zelle besetzt sind. Der Wachstumsprozeß erfolgt nach festen Regeln in Generationen, wobei sich die Eigenschaft "tot" oder "lebendig" einer Zelle von Generation zu Generation in Abhängigkeit von der Zahl der lebenden unmittelbaren Nachbarn ändern kann. Der Benutzer kann Zellkulturen vorgeben, Zellkulturen zufällig erzeugen lassen und den Simulationsvorgang zu beliebigen Zeiten unterbrechen.
Aus Sicht der Informatik handelt es sich beim Game of Life um einen zellulären Automaten, dessen Arbeitsweise durch das System simuliert wird.
Das System benötigt zum Ablauf nur das Java-Laufzeitsystem und kann daher auf nahezu jedem Rechner ausgeführt werden.

3. Benutzermodell

Der Benutzer ist in der Lage, auf dem vorliegenden Rechner das Java-Laufzeitsystem zu starten und die Datei mit den Namen "starteGame.class" zu öffnen, ferner kann er Eingaben gemäß den Angaben der Benutzungsschnittstelle vornehmen. Weiter wird vorausgesetzt, daß der Benutzer die üblichen Funktionen der Bedienung eines Rechners beherrscht, darunter das Ein- und Ausschalten des Rechners, das Anlegen von Dateien und Verzeichnissen, das Starten von Java-Programmen, das Verschieben oder Kopieren von Dateien.
Weitergehende Kenntnisse des Betriebssystems oder der verwendeten Programmiersprache sind nicht erforderlich.

4. Basismaschine

Das System arbeitet im Dialog und benötigt zum Ablauf neben Zentraleinheit (PC oder Mac) eine Tastatur, eine Maus und einen Bildschirm sowie das Java-Laufzeitsystem. Die Anforderungen an Intern- und Externspeicher und Prozessorleistung werden nur durch die Hardwareanforderungen des Java-Laufzeitsystems bestimmt. Weitere spezielle Hard- oder Softwareanforderungen bestehen nicht.

5. Benutzungsschnittstelle

Das Programm berechnet nacheinander alle Generationen von Zellkulturen auf der Grundlage von drei Regeln, die Leben und Sterben von Zellen beschreiben, und zeigt sie auf dem Bildschirm an.
Zellkulturen werden durch schachbrettförmig angeordnete Plätze modelliert, die jeweils durch eine lebende oder tote Zelle besetzt sind. Lebende Zellen werden durch einen roten, tote Zellen durch einen schwarzen Punkt angezeigt.
Der Wachstumsprozeß einer Zellkultur erfolgt nach festen Regeln in Generationen. Ob ein Platz in der nächsten Generation eine lebende oder tote Zelle enthält, hängt von aktuellen Zustand der Zelle und der Zahl ihrer lebenden unmittelbaren Nachbarn (max. acht Stück, sofern sich die Zelle nicht am Rande der Zellkultur befindet) in der aktuellen Generation ab. Dabei gelten folgende Regeln: Das Programm erlaubt die Analyse von Zellkulturen der maximalen Größe 200x200 Zellen.

5.1 Vorbereitungen

Das Programm besteht aus drei Dateien mit den Namen "starteGame.class", "GameFenster.class" und "Game.class". Vor dem Start des Programms ist sicherzustellen, daß sich die drei Dateien im gleichen Verzeichnis auf der Festplatte des Rechners befinden.

5.2 Start des Programms

Zum Start des Programms wird mit dem Java-Laufzeitsystem die Klasse mit dem Namen "starteGame.class" geöffnet. Der Startvorgang ist damit abgeschlossen, das Programm ist betriebsbereit, zeigt ein schwarzes Feld ("alle Zellen sind tot") und wartet auf Eingaben des Benutzers.

5.3 Eingaben

Nach Start des Programms hat der Benutzer zwei Möglichkeiten, den Ablauf des Programms zu beeinflussen: Alle genannten Eingabemöglichkeiten sind auch kombinierbar und können zu beliebiger Zeit während des Programmlaufs wiederholt werden.
Eingaben in die Eingabefelder werden erst wirksam, nachdem die return-Taste gedrückt wurde.
5.3.1 Größe des Spielfelds
Durch Eingabe zweier Werte in die entsprechend gekennzeichneten Felder kann der Benutzer die Größe des Spielfelds festlegen. Das erste Feld legt die Zahl der Zellen in der Senkrechten, das zweite in der Waagerechten fest. Als Eingabewerte sind für beide Eingebafelder jeweils Werte zwischen 5 und 200 zugelassen.
Die Voreinstellung bei Start des Programms beträgt 50x50 Zellen.
5.3.2 Zufällige Anfangskonfiguration
Durch Anklicken der Schaltfläche "Zufall" erzeugt das Programm eine zufällige Verteilung von lebenden und toten Zellen. Mit dem gekennzeichneten Eingabefeld kann zuvor festgelegt werden, wieviele lebende Zellen zufällig erzeugt werden sollen. Geeignete Werte liegen im Bereich von 10-50% der Spielfeldgröße. Bei Änderung der Spielfeldgröße wird die Zahl der zufällig erzeugten zellen in sinnvoller Weise angepaßt.
Die Voreinstellung bei Start des Programms beträgt 400 Zellen, d.h. bei Wahl der zufälligen Anfangskonfiguration werden 400 lebende Zellen erzeugt.
5.3.3 Frei gewählte Anfangskonfiguration
Alternativ hat der Benutzer die Möglichkeit, das Programm auf beliebige Anfangsgenerationen anzusetzen. Dazu klickt er mit der Maus auf ausgewählte Plätze des schachbrettartigen - anfangs schwarzen - Feldes und definiert die entsprechenden Zellen als "lebend" (roter Punkt). Ein Klick auf einen lebende Zelle (roter Punkt) löscht die Zelle.
5.3.4 Leere Anfangskonfiguration - Löschen des Spielfelds
Durch Druck auf die Schaltfläche "Löschen" können alle Belegungen des Feldes gelöscht werden. Danach sind also alle Zellen tot und das Spielfeld schwarz.
5.3.5 Vergrößerungsfaktor
Durch Markieren eines der drei Schalter mit der Bezeichnung "klein", "mittel" oder "groß" kann eine vergrößerte Anzeige des Spielfelds gewählt werden. Der Vergrößerungsfaktor bei der Wahl von "mittel" bzw. "groß" gegenüber "klein" beträgt 2 bzw. 4. Die Größe des Spielfelds (=Zellenzahl in der Waagerechten und Senkrechten) ändert sich durch Vergrößerung nicht.
Beim Start des Programms ist eine mittlere Vergrößerung voreingestellt.
Bei zu großer Vergrößerung können möglicherweise je nach Größe des Bildschirms Teile des Spielfelds sowie die Schalt- und Eingabefelder nicht mehr angezeigt werden.
5.3.6 Geschwindigkeit der Generationswechsel
Mit der in das vorgesehene Feld eingegebenen natürlichen Zahl kann der Benutzer festlegen, in welcher Zeitspanne das Programm eine neue Generation berechnet. Eine eingegebene Zahl n bestimmt, daß jede Generation ca. n/1000-Sekunden angezeigt wird, bevor zur Folgegeneration übergegangen wird. Die Voreinstellung bei Start des Programms beträgt 1000, d.h. jede Generation wird ungefähr eine Sekunde lang angezeigt.
5.3.7 Eingabehilfen
Die Eingabemöglichkeiten werden im Programm zum einen durch Beschriftungen von Schaltflächen verdeutlicht. Zum anderen wird ein kurzer Hilfetext zur Funktion einer Schaltfläche oder eines Eingabefeldes oberhalb des Spielfelds angezeigt, sobald der Benutzer den Mauszeiger in die Umgebung einer Schaltfläche oder eines Eingabefeldes bewegt.

5.4 Programmablauf

Nach Fertigstellung der Anfangskonfiguration kann der Berechnungsvorgang mittels Druck auf den Start- bzw. Stop-Knopf gestartet bzw. angehalten werden. Durch abwechselnden Druck auf den Stop- bzw. Start-Knopf kann eine Berechnung auch zu beliebigen Zeitpunkten angehalten und anschließend erneut gestartet werden.
Während der Berechnung einer Generationenfolge wird die Nummer der jeweiligen Generation im unteren Bereich des Fensters angezeigt.

5.5 Beendigung des Programms

Das Programm wird durch Schließen des Fensters des Java-Laufzeitsystems endgültig beendet.

5.6 Fehlersituationen

In jedes der vier Eingabefelder dürfen nur Ziffern eingegeben werden. Bei fehlerhafter Eingabe erfolgt die Fehlermeldung "Nur Ziffern bitte" oberhalb des Spielfelds.
Weitere Fehlersituationen oder -meldungen sind vorgesehen. Andere icht zulässige Eingaben werden ohne Ausgabe einer Meldung ignoriert oder durch sinnvolle zulässige Werte ersetzt.
Weitere evtl. auftretende Fehlermeldungen stammen entweder vom Betriebssystem des vorliegenden Rechners oder anderen auf dem Rechner ablaufenden Programmen. Erforderliche Gegenmaßnahmen des Benutzers auf solche Fehlermeldungen können den zugehörigen Handbüchern oder Hilfefunktionen entnommen werden.

6. Erweiterungsmöglichkeiten

Folgende Ausbaumöglichkeiten des Produkts sind denkbar:

7. Grobstruktur

Das Programm setzt sich näherungsweise aus folgenden Komponenten zusammen:
  1. Initialisierung
  2. Eingaberoutine für Benutzereingaben
  3. Erzeugung einer Folgegeneration
  4. Ausgabe einer Generation
Die Komponenten 3 und 4 werden zyklisch wiederholt.

8. Literatur

[Con71] M. Gardner: The fantastic combinations of John Conway's new solitaire game "life". Scientific American 223 (1971) 120-123


Durchführbarkeitsstudie


Projektplanung

Für die Bearbeitung der Aufgabe werden drei Personen veranschlagt. Bei mehr als vier interessierten Teilnehmern werden mehrere Arbeitsgruppen zu je 3-4 Teilnehmern gebildet.
Folgende Planungsdetails sind vorgesehen.

1. Zeitplanung

2. Personelle Planung

3. Technische Planung

Es stehen drei Rechnersysteme zur Verfügung. Die Zahl ist auch bei vier Teilnehmern noch ausreichend. Eine zeitliche Planung der Rechnernutzung durch die Teilnehmer erübrigt sich daher.

Benutzer: gast • Besitzer: schwill • Zuletzt geändert am: