CellObs

Funktionsumfang der Software zur visuellen Programmierung

1 Das Erstellen und Öffnen eines Projekts

Nach Ausführung der Datei "CellObs.jar“ gelangt man zunächst in den WelcomeDialog. Hierbei kann der Benutzer auswählen, ob er ein neues Projekt erstellen oder ein bestehendes Projekt öffnen möchte. Die Auswahl geschieht über die beiden mit Icons hinterlegten Buttons.


Abbildung 17: Der Welcome-Dialog

1.1 Erstellen eines neuen Projekts

Betätigt man im WelcomeDialog den Button mit der Kennzeichnung new Project öffnet sich zunächst ein weiterer Dialog, in dem der jeweilige Projektname festgelegt wird. Im nächsten Schritt öffnet sich ein leeres Projekt mit einem Standard-Objekt, gekennzeichnet durch die ikonische Abbildung eines Affen.


Abbildung 18: Dialog zur Eingabe des Projektnamens


Abbildung 19: Das Hauptfenster nach Erstellung eines neuen Projekts

1.2 Öffnen eines bestehenden Projekts

Nach Betätigung des Buttons load Project erscheint ein Dialog zum Öffnen von Projektdateien. Mit dessen Hilfe kann der Benutzer die gewünschte Projektdatei aus einem spezifischen Unterordner des Verzeichnisses „./CellObs/Projects/“ auswählen. Nach Auswahl der Projektdatei im Unterordner Farm öffnet sich das dazugehörige Projekt.


Abbildung 20: JFileChooser zur Auswahl der Projektdatei


Abbildung 21: Das Hauptfenster nach dem Öffnen eines bestehenden Projekts

1.3 Verwendung des File-Menüs

Sobald das Hauptfenster nach dem Öffnen oder der Erstellung eines Projekts erscheint, besteht zusätzlich die Möglichkeit, Projekte über das File-Menü zu erzeugen, zu öffnen oder zu schließen. Zudem beinhaltet der Menüpunkt File die Funktionalität, die gesamte Anwendung zu beenden. Die einzelnen Auswahlmöglichkeiten werden weiterhin durch funktionssymbolisierende ikonische Abbildungen ergänzt.


Abbildung 22: Das File-Menü

2 Das Erstellen und Editieren eines semiautonomen Objekts

2.1 Erstellen semiautonomer Objekte im ObjectManager

Mit Hilfe des ObjectManager-Moduls lassen sich dem Projekt semiautonome Objekte hinzufügen und entfernen. Dies geschieht jeweils durch Betätigung der mit „+“ und „–“ gekennzeichneten Buttons. Weiterhin wird dem Nutzer durch ein Ob-spezifisches Kontextmenü die Möglichkeit geboten, das jeweilige Ob-Objekt zu editieren. Dieses erscheint, sobald der Benutzer auf den dazugehörigen Icon klickt. Zudem besteht die Möglichkeit, durch Betätigung des Buttons edit Behaviour das Verhalten eines Ob-Objekts zu programmieren. Die beiden letztgenannten Funktionen werden durch die Programmmodule ObjectEditor und BehaviourEditor umgesetzt.

2.2 Editieren semiautonomer Objekte im ObjectEditor

Unter Verwendung des Programmmoduls ObjectEditor lassen sich die Bezeichnung des Ob-Objekts und dessen Charakteristika editieren. Diese möglichen Ausprägungen eines semiautonomen Objekts sind jeweils durch eine Bezeichnung und einen relativen Iconpfad definiert

Abbildung 23: Der ObjectManager


Der ObjectEditor ist in drei, durch Trennlinien abgegrenzte, Bereiche gegliedert. Im Bereich mit der Kennzeichnung Object-Name kann die Bezeichnung des jeweiligen Ob-Objekts gesetzt bzw. verändert werden. Durch Betätigung des Apply-Buttons werden die durchgeführten Änderungen bestätigt und bei einem späteren Klick auf den Ok-Button übernommen. Der Characteristics-Bereich enthält die Liste aller Charakteristiken des jeweiligen semiautonomen Objekts. Durch Verwendung der mit „+“ und „–“ gekennzeichneten Buttons können diese hinzugefügt oder entfernt werden. Der „–“- Button wird ausgegraut, sobald nur noch eine Ausprägung vorhanden ist. Dies ist notwendig, da die oberste Charakteristik der Charakteristika-Liste, die sog. Standardausprägung, den Standardicon des dazugehörigen Ob-Objekts festlegt. Im Bereich mit der Bezeichnung Characteristic-Name können die Bezeichnungen, der in der Charakteristik-Liste ausgewählten Charakteristika, gesetzt werden. Durch Betätigung des Apply-Buttons werden die vom Benutzer durchgeführten Änderungen wiederum übernommen. Innerhalb des Bereichs Characteristic-Icon kann für die in der Charakteristik-Liste ausgewählte Ausprägung ein Icon festgelegt werden. Zu diesem Zweck erscheint bei Klick auf den load image-Button ein Dialog, mit dessen Hilfe eine beliebige Bilddatei ausgewählt und zugewiesen werden kann. In diesem Zusammenhang ist es wichtig, dass sich die ausgewählten Bilddateien innerhalb des „./CellObs/Icons“-Ordners befinden. Dies ist erforderlich, da relative Icon-Pfade gespeichert werden um die Projektdaten plattformunabhängig einsetzen zu können.
Nach Auswahl einer Bilddatei wird eine Vorschau links neben dem load image-Button angezeigt. Das jeweilige Icon muss nun mit dem jeweiligen Apply- Button bestätigt werden. Im Anschluss daran wird die Charakteristik-Liste aktualisiert.Mit Hilfe des Ok-Buttons werden alle durch Betätigung des jeweiligen Apply-Buttons festgelegten Änderungen am semiautonomen Objekt übernommen.


Abbildung 24: Der ObjectEditor

2.3 Programmierung der Ob-Behaviour im BehaviourEditor

Wie im Entwurfskapitel beschrieben, besteht die Behaviour eines Ob-Objekts aus einer beliebigen Anzahl von Methoden. Diese enthalten wiederum eine beliebige Anzahl von Regeln. Die Regeln bestehen hingegen aus einer frei wählbaren Kette von Bedingungen und Aktionen, repräsentiert durch die verschiedenen Syntaxbausteine der visuellen Programmierumgebung. Das Programmmodul BehaviourEditor offeriert dem Nutzer die Funktionalität, das Verhalten eines semiatonomen Objekts aus verschiedenen Methoden, Regeln und darin enthalten Condition- und Action-Syntaxbausteinen zusammenzusetzen. Links oben im Dialog befindet sich eine ikonische Abbildung und die Bezeichnung des jeweiligen Ob-Objekts, dessen Verhalten gerade programmiert wird. Im Dialogbereich gekennzeichnet durch Behaviour ist Platz für die Methoden des aktuellen semiautonomen Objekts vorgesehen. Diese können durch die mit „+“ und „–“ beschrifteten Buttons entfernt und hinzugefügt werden. Fügt man mehr als eine Methode ein, werden automatisch Scrollbars zum Durchlaufen sämtlicher Methoden zur Verfügung gestellt. Innerhalb einer Methode können mit Hilfe der „+“- und „–“-Buttons gekennzeichnet durch add / remove Rule einzelne Regelbausteine in eine Methode eingebettet werden. Werden mehr als zwei Regelbausteine hinzugefügt, werden wiederum innere Scrollbars zur Traversierung der einzelnen Regeln zur Verfügung gestellt.
Innerhalb der jeweiligen Regelbausteine lassen sich durch zusätzliche „+“- und „–“-Buttons Condition- und Action - Syntaxbausteine einfügen. Zu diesem Zweck erscheint ein spezifischer Condition- oder Action - Auswahldialog. Die mögliche Anzahl von Condition- oder Actionbausteinen innerhalb eines Regelbausteins ist wiederum von beliebiger Größe und wird ggf. um zwei innere Scrollbars ergänzt.


Abbildung 25: Der BehaviourEditor

3 Die bestehenden Syntaxbausteine zur visuellen Programmierung

3.1 Die Condition-Bausteine

Die Condition-Syntaxbausteine verkörpern Voraussetzungen, die die Ausführung der Action-Bausteine der jeweiligen Regel bedingen. Damit die Aktionen ausgeführt werden können, müssen folglich alle Bedingungen, verkörpert durch die Condition-Syntaxbausteine, erfüllt sein.

  • CHANCE
Die CHANCE_Condition ist mit einer zuvor vom Benutzer festgelegten Wahrscheinlichkeit erfüllt. Diese wird durch Eingabe in das im Baustein enthaltene JTextfield festgelegt. Die Eingabe muss anschließend durch Betätigung der Eingabe-Taste bestätigt werden
.
  • NEXT_TO
Die NEXT_TO_Condition ist erfüllt, wenn sich das jeweilige semiautonome Objekt in einer Nachbarzelle der in dem Baustein ausgewählten Ob-Charakteristik befindet. Um die gesuchte Charakeristik festzulegen, klickt der Benutzer auf das weiße Quadrat oder das ggf. schon vorhandene Icon. Infolgedessen erscheint der SelectCharDialog, der dem Nutzer die Möglichkeit bietet, eine andere Charakteristik auszuwählen.
  • SEE
Die SEE_Condition ist erfüllt, wenn sich die im Baustein festgelegte Charakteristik in einer Nachbarzelle in zuvor fixierter Richtung befindet. Die gesuchte Charakteristik lässt sich wiederum durch Klick auf das dafür vorgesehene Feld ändern. Hierzu erscheint wiederum der Select-CharDialog.
Die Richtung lässt sich analog durch Klick in das kleine weiße Quadrat ändern. Hierbei erscheint der SelectDirectionDialog, welcher dem Benutzer die Auswahl der jeweiligen Richtung ermöglicht. Falls bereits eine Richtung gewählt wurde, lässt sich diese durch einen weiteren Klick in das Feld ändern.

3.2 Die Action-Bausteine

Die Action-Syntaxbausteine verkörpern die Aktionen, die bei Erfüllung sämtlicher Bedingungen ausgeführt werden. Die einzelnen Actions werden von oben nach unten nacheinander ausgeführt.

  • CHANGE
Die CHANGE_Action fügt die im Baustein gewählte Characteristic in eine zuvor definierte Grid-Zelle ein. Diese wird durch die im Baustein ausgewählte Richtung, ausgehend von der aktuellen Position, festgelegt. Die Auswahl von Charakteristik und Richtung erfolgt analog zu den bereits beschriebenen Syntaxbausteinen.
  • ERASE
Die ERASE_Action bewirkt, dass der Inhalt einer Zelle in ausgewählter Richtung gelöscht wird. Somit wird eine ggf. darin enthaltene Charakteristik entfernt.
  • MOVE_RANDOM
Die MOVE_RANDOM_Action veranlasst, dass sich das jeweilige semiautonome Objekt einen Schritt in eine zufällige Richtung bewegt.
  • MOVE
Die MOVE_Action bewirkt, dass sich das jeweilige semiautonome Objekt einen Schritt in eine vom Benutzer festgelegte Richtung bewegt.
  • NEW
Die NEW_Action fügt eine vom Benutzer ausgewählte Charakteristik in zuvor festgelegter Richtung in die zelluläre Ebene. Falls sich innerhalb der jeweiligen Zelle bereits eine Charaktersistik befindet, hat diese Aktion keinerlei Wirkung.

3.3 Verwendete Auswahldialoge

Abbildung 26: Dialoge zur Auswahl der jeweiligen Conditions und Actions


Abbildung 27: Dialoge zur Auswahl der Charakteristik und Richtung innerhalb eines Syntaxbausteins

4 Die Platzierung und Simulation semiautonomer Objekte

4.1 Die Platzierung innerhalb der zellulären Ebene

Mit Hilfe des Moduls WorkSheetEditor lassen sich zuvor erstellte semiautonome Objekte in die zelluläre Ebene einbetten. Diese wird innerhalb der visuellen Benutzerschnittstelle als gitterähnliche Komponente dargestellt. Im linken Bereich des WorkSheetEditor befinden sich Buttons, mit deren Hilfe bestimmte Editierungsmodi auswählbar sind. Betätigt der Benutzer den Button mit der Bezeichnung Paint, wird er zunächst aufgefordert, eine bestimmte Charakteristik auszuwählen und kann diese in beliebiger Anzahl in die Zellen der Ebene zeichnen. Unterhalb des Paint-Buttons wird jeweils die aktuell gewählte Charakteristik ikonisch dargestellt. Bei Betätigung des mit Delete gekennzeichneten Buttons, können einzelne Zellen wiederum geleert werden.

4.2 Die Simulation semiautonomer Objekte

Im unteren Bereich des WorksheetEditors befinden sich einige gruppierte Komponenten, gekennzeichnet durch Worksheet-Control. Diese ermöglichen dem Benutzer, das zuvor programmierte Verhalten der einzelnen semiautonomen Objekte zu simulieren.
Weiterhin ist es durch Betätigung der Buttons load und save möglich, das aktuelle Worksheet zu speichern oder ein bereits bestehendes zu laden. Der Button mit der Bezeichnung reset stellt den Zustand des Worksheets, vor Beginn der jeweiligen Simulation, wieder her. Der mit einem roten Dreieck hinterlegte Button veranlasst den Start sämtlicher Behaviour-Interpreter. Somit werden die einzelnen semiautonomen Objekte augenscheinlich zum Leben erweckt.

Abbildung 28: Das WorkSheetEditor / Simulator-Modul


Der Button, gekennzeichnet durch das rote Quadrat, erzwingt den Stopp sämtlicher Behaviour-Intepreter. Mit Hilfe des JSlider ist es dem Benutzer (auch während der Simulation) möglich, eine stufenlose Einstellung der Simulationsgeschwindigkeit vorzunehmen.


Abbildung 29: Das WorkSheet-Control-Panel

Impressum | Webmaster | Letzte Änderungen am : 04.04.2008