- Kategorie: Softwareentwicklung
Die vorliegende Java Applikation entstand als Informatikprojekt an der Berner Fachhochschule für Technik und Architektur zwischen Mai und September 2001. Der Simulator hat zum Ziel, die im Buch Künstliche Wesen, Verhalten kybernetischer Vehikel, von Valentin Braitenberg beschriebenen Wesen zu simulieren. Möglich ist die Simulation der Wesen, welche im Buch als Wesen 1, 2a, 2b, 3a und 3b vorgestellt werden. Es wurde nur ein Sensortyp (Lichtsensor) implementiert, d.h. Wesen 3c ist nur mit verschiedenen Lichtsensoren simulierbar. Mein Beitrag war die Entwicklung des GUIs der Simulation.
Bedienung des Simulators
Nach dem Starten des Simulators erscheint ein Java-Fenster mit dem Simulator.
Simulationswelt beleben
Unterhalb der Symbolleiste befindet sich die weisse und noch unbevölkerte Simulationswelt. Mittels rechtem Mausklick erscheint ein Popupmenü (Objektauswahl), aus welchem man Wesen oder Aktoren (Stein, Licht) auswählen kann. Durch Einfaches anklicken eines Objekts mit der Maus wird das Objekt aktiv. Es kann nun bearbeitet werden. Zum verschieben eines Objektes reicht es, ein angeklicktes Objekt bei gedrückter Maustaste an seinen neuen Standort zu verschieben.
Menüleiste
In der Menüleiste befinden sich die Funktionen:
Datei | Neu | Neue Simulationswelt |
Öffnen... | Öffnet bestehende Simulationswelt mit Fileendung .ser | |
Speichern / Speichern unter... | Speichert Simulationswelt mit Fileendung .ser | |
Beenden | Beendet den Simulator | |
Bearbeiten | Löschen | Ein angewähltes Objekt wird gelöscht |
Kopieren | Ein angewähltes Objekt wird kopiert | |
Einfügen | Ein kopiertes Objekt wird im Simulator oben links eingefügt | |
Aktion | Zurückstellen | Alle Wesen kehren in ihre Ursprungspositionen zurück, die Reizungen werden beibehalten |
Einzelschritt | Alle Wesen führen einen nächsten Schritt aus | |
Start | Eine fortlaufende Simulation aller Wesen wir gestartet | |
Stop | Eine fortlaufende Simulation aller Wesen wir gestoppt |
Symbolleiste
Die Symbolleiste hat zusätzlich noch die beiden Funktionen:
- Bewegungsspur: Die Bewegungsspur der Wesen kann während einer Simulation mit diesem Schalter ein- und ausgeschaltet werden
- Winkel: Die Ausrichtung eines angewählten Wesens kann verändert werden. 0 Grad ergibt eine Ausrichtung nach Osten (default), grössere Winkel drehen das Wesen in Gegenuhrzeigersinn. So ergibt ein Winkel von 90 Grad eine Ausrichtung nach Norden, 180 Grad eine nach Westen usw.
Erstellen von eigenen Wesen mittels XML
Mittels eines selbst erstellten XML-File kann ein eigenes Wesen kreiert werden. Im Unterverzeichnis .\Wesen18\wesen\Java\RobotData (Windows) oder ./Wesen18/wesen/Java/RobotData (Linux) befinden sich alle Wesen, welche zur Startzeit vom Simulator eingelesen werden. Ein in diesem Verzeichnis erstelltes Wesen (mit Dateiendung .xml) erscheint nach dem Start des Simulators im Popupmenü zur Objektauswahl.
Folgende Elemente müssen im XML-File definiert werden:
Roboter
Attribute | Beschreibung |
reference | Selbstgewählter, eindeutiger Identifier bestehend aus einem einzelnen Grossbuchstaben von A-Z |
Text | Selbstgewählter Name des Wesens, welcher in der Objektauswahl erscheint |
Farbe | Farbe des Wesens. Zur Verfügung stehen red, green, blue, yellow, black, ... |
Motor
Vmax
Geschwindigkeitsmaximum, zwischen 0 und 1 wählbar
Vmin
Geschwindigkeitsminimum, zwischen 0 und 1 wählbar
Vstart
Startgeschwindigkeit, zwischen 0.1 und 1 wählbar
SensorLicht
Position
Position des Sensors, mögliche Werte 'R' (rechts vorne), 'L' (links Vorne)
Weite
Sichtweite des Sensors in Bildpunkten, ca. 100 ist empfohlen
Blickwinkel
Öffnungswinkel des Sensors in Grad, ca. 30 Grad sind empfohlen
MotorLinks
Art der Ansteuerung des linken Motors, mögliche Werte sind '+' (aktiver Sensor beschleunigt Wesen) oder '-' (aktiver Sensor bremst Wesen)
MotorRechts
Art der Ansteuerung des rechten Motors, mögliche Werte sind '+'(aktiver Sensor beschleunigt Wesen) oder '-' (aktiver Sensor bremst Wesen)Starten mit Java Web Start
Mit der Verknüpfung "Wesen" können Sie die Anwendung herunterladen und starten. Java Web Start ist seit der Java-Version 5.0 in Java Runtime Environment (JRE) enthalten. Das heisst, wenn Sie Java installiert haben, wurde Java Web Start automatisch mit installiert.Javadoc betrachten und Quellencode herunterladen
- Anzeige von Javadoc mit zusätzlichen UML-Diagrammen, benötigt Webbrowser mit aktiviertem Java.
- Der gezippten Quellencode herunterladen.
- Kategorie: Softwareentwicklung
Ich arbeite schon über 2 Jahrzehnte als Softwareentwickler, dabei habe ich vorwiegend auf Unix, MS-DOS, OS/2 und Microsoft Windows gearbeitet. Im laufe der Zeit benutzte ich die Programmiersprachen TI Basic (TI99/4A), GW-Basic, Turbo-Pascal ab Version 3.0, Progress 4GL, Modula-2, Shell-Skript, Informix-4GL, dBase, C, C++, Foxpro, Perl und Java. Ich werde in meinem Wikipedia über meine Erfahrungen berichten, dabei wird ich mich auch kritisch gegenüber gewissen Technologien äussern.
Java Software Projekte
Die beiden Projekte FlowworkJ und Grafiosch GUI wurden um die Jahrtausendwende erstellt, aber nicht mehr weiter entwickelt.
- FlowworkJ ist ein Workflow-System auf der Basis von J2EE.
- Grafiosch Swing GUI ist ein genereisches Framework für die Verwaltung von Daten aus einer Datenbank.