Hamster-Simulator-Plugin für das Eclipse SDK

Hamster-Simulator-Plugin für das Eclipse SDK
Dr. Dietrich Boles, Matthias Mertens
Hamster-Simulator-Plugin fu
¨ r das Eclipse SDK
Version 1.0
Benutzerhandbuch
01.08.2006
Inhaltsverzeichnis
1 Einleitung
1.1 Das Hamster Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Der Hamster Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
¨
1.3 Anderungen
gegen¨
uber des Hamster-Simulators . . . . . . . . . . . . . . . . . .
1
1
2
2
2 Installation und Starten des Hamster-Simulator-Plugins
2.1 Vorraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Installation des Hamster-Simluator-Plugins . . . . . . . . . . . . . . . . . . . .
2.3 Starten des Hamster-Simluator-Plugins . . . . . . . . . . . . . . . . . . . . . . .
6
6
6
7
3 Ihr erstes Hamster-Programm
3.1 Erstellen eines Hamster-Projekts . . .
3.2 Gestalten eines Hamster-Territoriums
3.3 Eingeben eines Hamster-Programms .
3.4 Ausf¨
uhren eines Hamster-Programms .
3.5 Debuggen eines Hamster-Programms .
3.6 Zusammenfassung . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
12
14
15
17
4 Bedienung des Hamster-Simulator-Plugins
4.1 Die Bestandteile des Hamster-Simulator-Plugins . . . .
4.1.1 Globale Toolbar . . . . . . . . . . . . . . . . . .
4.1.2 Die Hamster-Wizards . . . . . . . . . . . . . . .
4.1.3 Der Navigator View . . . . . . . . . . . . . . . .
4.1.4 Der Territorium-Editor . . . . . . . . . . . . . .
4.1.5 Der Hamster-Editor . . . . . . . . . . . . . . . .
4.1.6 Der Outline View . . . . . . . . . . . . . . . . . .
4.1.7 Der Problems View . . . . . . . . . . . . . . . . .
4.1.8 Debug View . . . . . . . . . . . . . . . . . . . . .
4.1.9 Variables View . . . . . . . . . . . . . . . . . . .
4.2 Verwalten von Hamster-Projekten . . . . . . . . . . . .
4.2.1 Erzeugen von Hamster-Projekten . . . . . . . . .
¨
4.2.2 Schließen und Offnen
von Hamster-Projekten . .
4.2.3 Unterordner in Hamster-Projekten . . . . . . . .
4.2.4 Probleme mit Hamster-Projekten . . . . . . . . .
4.3 Verwalten und Editieren von Hamster-Dateien . . . . .
4.3.1 Schreiben eines neuen Hamster-Programms . . .
¨
4.3.2 Andern
eines existierenden Hamster-Programms
4.3.3 Speichern eines Hamster-Programms . . . . . . .
4.3.4 L¨oschen eines existierenden Hamster-Programms
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
18
18
19
19
20
22
23
24
25
26
26
27
28
28
29
30
30
31
32
33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.4
4.5
4.6
4.7
4.8
4.9
4.3.5 Umbenennen eines existierenden Hamster-Programms . . . . . . . . . .
4.3.6 Verschieben eines existierenden Hamster-Programms . . . . . . . . . . .
4.3.7 Kopieren eines existierenden Hamster-Programms . . . . . . . . . . . .
4.3.8 Drucken eines Hamster-Programms . . . . . . . . . . . . . . . . . . . . .
4.3.9 Schließen eines ge¨offneten Hamster-Programms . . . . . . . . . . . . . .
4.3.10 Editor-Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten und Editieren von Hamster-Territorien . . . . . . . . . . . . . . . . .
4.4.1 Ver¨andern der Gr¨oße des Hamster-Territoriums . . . . . . . . . . . . . .
4.4.2 Platzieren des Standard-Hamsters im Hamster-Territorium . . . . . . .
4.4.3 Setzen der Blickrichtung des Standard-Hamsters . . . . . . . . . . . . .
4.4.4 Abfragen und Festlegen der K¨orneranzahl im Maul des Standard-Hamsters
4.4.5 Platzieren von K¨ornern auf Kacheln des Hamster-Territorium . . . . . .
4.4.6 Platzieren von Mauern auf Kacheln des Hamster-Territorium . . . . . .
4.4.7 L¨oschen von Kacheln des Hamster-Territorium . . . . . . . . . . . . . .
4.4.8 Abspeichern eines Hamster-Territoriums . . . . . . . . . . . . . . . . . .
4.4.9 Wiederherstellen eines abgespeicherten Hamster-Territoriums . . . . . .
4.4.10 Umbenennen eines abgespeicherten Hamster-Territoriums . . . . . . . .
4.4.11 L¨oschen und Verschieben und Kopieren von Hamster-Territorien . . . .
4.4.12 Ver¨andern der Gr¨oßendarstellung des Hamster-Territoriums . . . . . . .
Kompilieren von Hamster-Programmen . . . . . . . . . . . . . . . . . . . . . .
Ausf¨
uhren von Hamster-Programmen . . . . . . . . . . . . . . . . . . . . . . . .
Debuggen von Hamster-Programmen . . . . . . . . . . . . . . . . . . . . . . . .
sonstige Funktionen des Hamster-Simulator-Pugins . . . . . . . . . . . . . . . .
4.8.1 Umwandeln von Hamsterdateien ins *.ham“-Format . . . . . . . . . . .
”
4.8.2 Umwandeln von *.ham“-Dateien in Hamsterdateien . . . . . . . . . . .
”
4.8.3 Umwandeln von *.cham“-Dateien in *.oham“-Dateien . . . . . . . . .
”
”
4.8.4 Explizites Kompilieren von Hamsterdateien . . . . . . . . . . . . . . . .
Sonstige Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9.1 Out of sync Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
33
34
34
34
35
40
40
41
41
41
42
42
43
43
44
44
45
45
45
45
49
52
52
52
53
53
53
53
5 Noch Fragen?
54
A Anhang
55
Abbildungsverzeichnis
58
1 Einleitung
Programmieranf¨anger haben h¨aufig Schwierigkeiten damit, dass sie beim Programmieren ihre
normale Gedankenwelt verlassen und in eher technisch-orientierten Kategorien denken m¨
ussen, die ihnen von den Programmiersprachen vorgegeben werden. Gerade am Anfang str¨omen
oft so viele inhaltliche und methodische Neuigkeiten auf sie ein, dass sie das Wesentliche der
Programmierung, n¨amlich das L¨osen von Problemen, aus den Augen verlieren. 1
1.1 Das Hamster Modell
Das Hamster-Modell ist mit dem Ziel entwickelt worden, dieses Problem zu l¨osen. Mit dem
Hamster-Modell wird Programmieranf¨angern ein einfaches, aber m¨achtiges Modell zur Verf¨
ugung gestellt, mit dessen Hilfe Grundkonzepte der imperativen und objektorientierten Programmierung auf spielerische Art und Weise erlernt werden k¨onnen. Programmierer entwickeln so genannte Hamster-Programme, mit denen sie virtuelle Hamster durch eine virtuelle
Landschaft steuern und bestimmte Aufgaben l¨osen lassen. Die Anzahl der gleichzeitig zu ber¨
ucksichtigenden Konzepte wird im Hamster-Modell stark eingeschr¨ankt und nach und nach
erweitert. Prinzipiell ist das Hamster-Modell programmiersprachenunabh¨angig. Zum praktischen Umgang mit dem Modell wurde jedoch bewusst die Programmiersprache Java als
Grundlage gew¨ahlt. Java - auch als Sprache des Internet“ bezeichnet - ist eine moderne
”
Programmiersprache, die sich in den letzten Jahren sowohl im Ausbildungsbereich als auch
im industriellen Umfeld durchgesetzt hat. Zum Hamster-Modell existieren zwei B¨
ucher. In
dem ersten Buch Programmieren spielend gelernt mit dem Java-Hamster-Modell“ werden
”
allgemeine Grundlagen der Programmierung erl¨autert sowie Konzepte der imperativen Programmierung (Anweisungen, Schleifen, Prozeduren, Typen, Variablen, Parameter, Rekursion,
...) eingef¨
uhrt. Darauf aufbauend behandelt das zweite Buch Objektorientierte Programmie”
rung spielend gelernt mit dem Java-Hamster-Modell“ alle wichtigen Konzepte der objektorientierten Programmierung (Objekte, Klassen, Vererbung, Polymorphie, Interfaces, Exceptions, Zugriffsrechte, Pakete, ...). Beide B¨
ucher sind insbesondere f¨
ur Sch¨
uler und Studierende
ohne Programmiererfahrung empfehlenswert. F¨
ur Programmierer mit Grundkenntnissen der
imperativen Programmierung werden im zweiten Buch die Inhalte des ersten Buches kurz
zusammengefasst. Die B¨
ucher sind als Grundlage f¨
ur Programmierkurse sowie zum Selbststu¨
dium geeignet. Dazu enthalten sie viele Beispielprogramme und Ubungsaufgaben.
Erg¨anzende
Materialien werden im Internet unter www.java-hamster-modell.de bereitgestellt.2
1
2
Text aus dem Benutzerhandbuch des Hamster-Simulators u
¨bernommen
Text aus dem Benutzerhandbuch des Hamster-Simulators u
¨bernommen
1
¨
1.3 Anderungen
gegen¨
uber des Hamster-Simulators
1.2 Der Hamster Simulator
Auf der Website www.java-hamster-modell.de steht auch der Hamster-Simulator“ kostenlos
”
zur Verf¨
ugung; ein Programm, mit dem Hamster-Programme erstellt und ausgef¨
uhrt werden
k¨onnen. Neben den beiden B¨
uchern kommt dem Hamster- -Simulator dabei eine ganz wichtige
Bedeutung zu, denn Programmieren lernt man nicht durch lesen. Man muss u
¨ben, u
¨ben, u
¨ben.
Und genau dazu dient der Simulator.3
Das Hamster-Simulator-Plugin f¨
ur das Eclipse SDK“ ist eine Weiterentwicklung des Hamster”
”
Simulators“ (Version 2.2), wobei diese Version nur in Verbindung mit dem Open Source Framework Eclipse SDK“ lauff¨ahig ist. Dabei wird diese Version des Hamster Simulators“ als
”
”
Plugin in das Eclipse SDK“ eingebunden (sh. 2).
”
Dieses Plugin des Hamster Simulators“ wurde aus verschiedenen Gr¨
unden entwickelt. Zum
”
einen wird der Hamster-Simulator“ durch die Verwendung des Eclipse SDK“ um zahlreiche
”
”
Funktionen erweitert und zum anderen wird die Benutzung insgesamt komfortabler. Dies betrifft insbesondere Probleme, die bei der Installation von fr¨
uheren Versionen aufgetreten sind,
aber auch die Dateiverwaltung oder das Schreiben von Hamster-Programmen. Eine detaillier¨
te Ubersicht
wird im n¨achsten Abschnitt 1.3 gegeben. Ein weiterer Grund f¨
ur die Entwicklung
eines Hamster-Simulator-Plugins besteht in der Verwendung des Eclipse SDK“ selbst, da es
”
sich dabei um eine vollwertige Java-Entwicklungsumgebung handelt. Das bedeutet, das man
mit Eclipse reine“ Java-Programme schreiben kann, was mit dem Hamster-Simulator“ (Ver”
”
sion 2.2) nicht m¨oglich ist. Eine Umgew¨ohnung in eine andere Programmierumgebung ist
beim Umstieg von Hamster-Programmen auf Java-Programme somit nicht mehr n¨otig. Sollte man sich dennoch entscheiden, auf eine andere Programmierumgebung, wie beispielsweise
Netbeans“ oder Borland JBuilder“, zu wechseln, so wird der Umstieg leichter fallen, denn
”
”
viele bekannte Funktionen des Eclipse SDK“ lassen sich in gleicher oder ¨ahnlicher Form in
”
diesen Programmierumgebungen wiederfinden.
Dieses Handbuch Hamster-Simulator-Plugin f¨
ur das Eclipse SDK“ ist als eine Erg¨anzung
”
zum Benutzerhanbuch des Hamster-Simulators“ (Version 2.2) zu sehen und beschreibt die
”
Benutzung des Hamster-Simulator-Plugins. Die wesentlichen Konzepte ¨andern sich nicht, jedoch wird der Funktionsumfang des Hamster-Simulators durch die Integration in Eclipse stark
erweitert, so das empfohlen wird, sich vorher mit den Grundlagen des Hamster Simulators“
”
vertraut zu machen. Alle wesentlichen Konzepte zum Umgang mit dem Java-Hamster-Plugin
werden in diesem Handbuch vermittelt, da dieses aber zu großen Teilen auf den Funktionen
des Eclipse SDK“ aufbaut und durch dessen enormen Funktionsumfang nicht alle Konzepte
”
bis ins Detail hier erl¨autert werden k¨onnen, sei bei Fragen zus¨atzlich auf die Hilfe des Eclipse
”
SDK“ verwiesen.
¨
1.3 Anderungen
gegen¨
uber des Hamster-Simulators
Mit Hilfe des Hamster-Simulator-Plugins wird der Hamster Simulator“ in die Programmier”
umgebung Eclipse SDK“ integriert. Dadurch werden im Hamster Simulator“ alle Funktionen
”
”
die Eclipse bietet nutzbar. Da jedoch nicht alle Funktionen im Alltag eines Hamsterprogrammierers ben¨otigt werden, werden hier nur die wesentlichen Funktionen kurz erl¨autert, die es
3
Text aus dem Benutzerhanbuch des Hamster-Simulators u
¨bernommen
2
¨
1.3 Anderungen
gegen¨
uber des Hamster-Simulators
im bisherigen Hamster Simulator“ so nicht gab.
”
• Variables Fensterkonzept
Anders als Im Hamster Simulator“ (Version 2.2) sind die Komponenten (Editor, Datei”
verwaltung, Debugger, Simulation, Toolbars) nicht fest miteinander verbunden, sondern
sind in jeweils eigenen Fenstern (Views bzw. Editoren) untergebracht. Diese Fenster k¨onnen maximiert, minimiert, geschlossen und in einem beliebigen Layout angeordnet werden. Das anf¨angliche Layout der einzelnen Komponenten ist in der Hamster-Perspektive
abgespeichert, welches sich am Layout des bisherigen Hamster Simulators“ orientiert.
”
Daneben gibt es eine Hamster-Debug-Perspektive, welches ein bestimmtes Layout f¨
ur
das Debuggen von Hamster-Programmen vorgibt. Der Benutzer kann das Layout jederzeit ¨andern und eigene Perspektiven definieren.
• Workspace
Teil des Eclipse-Konzeptes ist die Verwendung eines Workspaces, zu deutsch Arbeitsbereich, in welchem alle Dateien die man anlegt, nach Projekten gruppiert, aufbewahrt werden. Das Workspace-Verzeichnis wird beim ersten Start des Eclipse SDK“ angelegt und
”
bei zuk¨
unftigen Starts verwendet, sofern man dieses als Standard-Workspace-Verzeichnis
gew¨
ahlt hat. Ansonsten wird bei jedem Start nach dem Workspace-Verzeichnis gefragt.
• Hamster-Projekte
Da es in Eclipse m¨oglich ist neben Hamster-Programmen auch Java-Programme oder
Programme anderer Programmiersprachen zu schreiben, ist es erforderlich HamsterProjekte innerhalb des Workspaces anzulegen. Hamster-Projekte werden direkt als Verzeichnis in der Dateiverwaltung angelegt und angezeigt und in ihnen k¨onnen neue
Ordner und Hamster-Programme erzeugt werden. Durch das Speichern von HamsterProgrammen in Hamster-Projekten entf¨allt zum einen das explizite Setzen eines Classpath, wie es im bisherigen Hamster Simulator“ der Fall war. Zum anderen entf¨allt das
”
explizite Kompilieren von Hamster-Programmen. Dies wird automatisch beim Speichern
des jeweiligen Hamster-Programms durchgef¨
uhrt.
• Dateiendungen
Im Hamster Simulator“ (Version 2.2) haben Hamsterdateien die Dateiendung *.ham“.
”
”
Im Hamster-Simulator-Plugin werden die Dateiendungen nach der Art des HamsterProgramms unterschieden, so dass imperative Hamster-Programme die Dateiendung
*.iham“, objekt-orientierte Hamster-Programme die Dateiendung *.oham“ und Hamster”
”
Klassen die Dateiendung *.cham“ haben. Hamsterdateien mit der Dateiendung *.ham“
”
”
werden vom Hamster-Simulator-Plugin unterst¨
utzt und k¨onnen ganz normal im HamsterEditor ge¨offnet werden. Diese werden dann in das entsprechende Format des HamsterSimulator-Plugins umgewandelt und die *.ham“-Datei wird gel¨oscht. Um Dateien des
”
Hamster-Simulator-Plugins auch im Hamster-Simulator verwenden zu k¨onnen, kann
man diese in *.ham“-Dateien zur¨
uckwandeln (sh. 4.8).
”
• Unterstu
¨ tzung beim Schreiben von Hamster-Programmen
Das Schreiben von Hamster-Programmen erfolgt im Hamster-Simulator-Plugin im HamsterEditor. Dieser verf¨
ugt u
¨ber eine Reihe zus¨atzlicher Funktionen die es im Editor des
bisherigen Hamster Simulators“ nicht gab:
”
– Automatische Erg¨anzung von Hamster-Befehlen (Code-Assistenz)
¨
– Syntax-Uberpr¨
ufung zur Laufzeit
– Hervorheben von markierten Bezeichnern
3
¨
1.3 Anderungen
gegen¨
uber des Hamster-Simulators
– Code Formatierung
– Anzeigen von Kommentaren (Javadoc) wenn man auf einem Hamsterbefehl mit
der Maus verweilt
– Suche von Referenzen oder Deklarationen von markierten Bezeichnern
– Automatisches generieren der geerbten Methoden die man in einer abgeleiteten
Klasse u
¨berschreiben m¨ochte
– Automatisches generieren von Getter - und Setter -Methoden
– Verwendung von Templates zur Erzeugung von h¨aufig genutzten Programmierkonzepten (z.B. Schleifen)
Alle anderen Funktionen wie Schritt zur¨
uck“ (undo), Schritt vorw¨arts“ (redo), Ko”
”
”
pieren“, Ausschneiden“, Einf¨
ugen“, Markieren, Alles markieren“, Speichern“ und
”
”
”
”
”
Speichern unter“ sowie Hervorheben von Schl¨
usselw¨ortern“ werden weiterhin unter”
”
st¨
utzt.
• Unterstu
¨ tzung beim Debuggen von Hamster-Programmen
Neben dem aus dem bisherigen Hamster Simulator“ bekannten Debug-Fenster und
”
Variablen-Fenster, kann beim Debuggen von Hamster-Programmen der von Eclipse bereitgestellte Expressions View“ verwendet werden. Dieser erlaubt das Angeben von
”
beliebigen Ausdr¨
ucken, die bei angehaltener Programmausf¨
uhrung ausgewertet werden
k¨onnen und somit neben den jeweiligen Variablenwerten n¨
utzliche Informationen beim
Debuggen liefern. Des Weiteren wird von Hamster-Programmen, die im debug“-Modus
”
ausgef¨
uhrt werden die Hot Swap“- bzw. Hot Code Replace“-Funktion unterst¨
utzt.
Ӭ
”
Das bedeutet, das man Anderungen am Source-Code vornehmen kann, w¨ahrend das
Hamster-Programm im debug“-Modus angehalten wurde. Die Ausf¨
uhrung wird dann
”
mit dem ver¨anderten Code fortgesetzt ohne das ein Neustart des Hamster-Programms
notwendig ist.
• Die Simulation
Die Simulationskomponente des Hamster Simulators“ (Version 2.2) wird im Hamster”
Simulator-Plugin durch den Territorium-Editor ersetzt. Dieser visualisiert das Territorium und annimiert die Simulation. Anderes als in der bisherigen Simulationskomponente befinden sich die Buttons f¨
ur die verschiedenen Funktionen und Werkzeuge,
wie beispielsweise Mauern setzen“ oder K¨orner im Maul des Hamsters festlegen“ in
”
”
der globalen Toolbar und sind nur sichtbar, wenn der Territorium-Editor sichtbar und
aktiviert ist.
• Neue Hamster-Befehle
In der Simulationskomponente ist ein neues Log-Panel“ (unterhalb des Simulationsfens”
ters) zu finden, in welchem die Ausgaben der neuen Hamster-Befehle visualisiert werden.
Dabei handelt es sich um den Befehl print("text") und println("text") mit welchen
beliebige Textausgaben w¨ahrend der Ausf¨
uhrung des Hamster-Programms geschrieben
werden k¨onnen. Dabei unterscheidet sich println("text") von print("text") durch
seinen automatischen Zeilenumbruch. Mit Hilfe von "\n" im Text k¨onnen zus¨atzlich explizite Zeilenumbr¨
uche erzwungen werden. Bsp.: print("text \n text"). Durch die
Verwendung von "\t" im Text k¨onnen zus¨atzlich Tabulatoren“ eingebaut werden. Bsp.:
”
print("text \t text").
4
¨
1.3 Anderungen
gegen¨
uber des Hamster-Simulators
Das Hamster-Simulator-Plugin bietet jedoch nicht nur Vorteile gegen¨
uber dem Hamster Si”
mulator“ in der Version 2.2, sondern hat auch einige Nachteile. Dazu geh¨ort, dass durch den
gestiegenen Funktionsumfang die intuitive Bedienbarkeit des Hamster Simulators“ vermin”
dert wird. Des Weiteren ist das Hamster-Simulator-Plugin nicht in der Lage mit der Entwicklungsumgebung BlueJ“ zusammenzuarbeiten.
”
5
2 Installation und Starten des
Hamster-Simulator-Plugins
In diesem Kapitel wird nun zun¨achst darauf eingegangen, welche Software bereits installiert
sein muss, um das Hamster-Simulator-Plugin zu installieren. Anschließend wird auf die Installation selbst eingegangen und welche verschiedenen M¨oglichkeiten es gibt und abschließend
wird erl¨autert, wie man das Hamster-Simulator-Plugin startet.
2.1 Vorraussetzungen
Um das Hamster-Simulator-Plugin installieren zu k¨onnen muss bereits bestimmte Software im
System installiert worden sein. Dies ist zu einen die Java-Laufzeit-Umgebung in der Version
5.0 oder h¨oher und das Eclipse SDK“ in der Version 3.1.2 oder h¨oher.
”
Die Java Laufzeitumgebung, in der Version J2SE(TM) Development Kit 5.0“ kann von
”
folgenden Webseite bezogen werden: http://java.sun.com/javase/downloads/index.jsp
Das Eclipse SDK“ kann von der folgenden Seite bezogen werden: http://www.eclipse.org/downloads/
”
2.2 Installation des Hamster-Simluator-Plugins
Die Installation des Java-Hamster-Plugins kann auf zwei verschiedene Arten erfolgen. Zum
einen kann dies mit Hilfe des Update Managers“ von Eclipse erfolgen und zum anderen
”
durch das explizite entpacken der Plugin-Archivdatei in das Plugin-Verzeichnis von Eclipse.
Im folgenden werden beide M¨oglichkeiten mit ihren Vor- und Nachteilen erl¨autert:
• Installation mit Hilfe des Update Managers“ von Eclipse
”
1. Starten Sie Eclipse und achten Sie dabei auf die eingeblendete Versionsnummer!
2. W¨ahlen Sie im Men¨
u Help → Software Updates → Find and Install. . .“.
”
3. Es o¨ffnet sich das Fenster Feature Updates“, wo Sie den Radio Button Search for
”
”
new features to install“ selektieren und anschließend Next“-Button bet¨atigen.
”
4. Es o¨ffnet sich nun das Fenster Update sites to visit“. Dort w¨ahlen Sie den Button
”
New Remote Site“ und geben in dem folgenden Dialog f¨
ur Name-Feld HamsterUp”
”
dateSite“ ein. Im URL-Feld geben Sie http://www-is.informatik.uni-oldenburg.de/∼
”
dibo/hamster/HamstersimulatorPlugin/“ ein, was der Adresse der Hamster-UpdateSite entspricht. Anschließend w¨ahlen Sie den OK“-Button des Dialog Felds um die”
ses zu schließen. Im Fenster Update sites to visit“ selektieren Sie nun nur Hams”
”
terUpdateSite“ und w¨ahlen anschließend den Finish“-Button.
”
6
2.3 Starten des Hamster-Simluator-Plugins
5. Es ¨offnet sich wiederum ein Fenster mit den Search Results“. In diesem steht unter
”
Select the features to install“ HamsterUpdateSite. Klappen Sie dieses auf, indem
”
Sie auf das Plus“ Symbol klicken. Als n¨achstes w¨ahlen Sie HamstersimulatorPlu”
”
gin X“, wobei X f¨
ur ihre Eclipse Version steht. Sollte ihre Eclipse Version nicht
aufgef¨
uhrt sein, so w¨ahlen Sie bitte die Eclipse Version, welche ihrer am n¨achsten
kommt. Dabei m¨
ussen Sie darauf achten, das Sie abrunden und nicht aufrunden.
Das bedeutet, wenn Sie beispielsweise Version 3.2.3 oder 3.3.5 verwenden und 3.2
und 3.4 zur Auswahl stehen, w¨ahlen Sie 3.2 aus. Fahren Sie fort, indem Sie den
Next“-Button dr¨
ucken.
”
6. In dem nun folgenden Fenster wird ihnen die Lizenz des Hamster-Simulator-Plugins
angezeigt. Lesen Sie diese sorgf¨altig durch und entscheiden Sie sich dann, ob Sie
diese akzeptieren wollen. Sie k¨onnen nur fortfahren, wenn Sie die Lizenz akzeptieren. Durch den Next“-Button gelangen Sie zum Fenster Installation“.
”
”
7. Im Fenster Installation“ k¨onnen Sie w¨ahlen, wo das Plugin installiert werden soll.
”
Es wird dringend empfohlen das angegebene Verzeichnis, welches in der Regel ihrem
Eclipse-Installationsverzeichnis entspricht beizubehalten, da es sonst bei der Ausf¨
uhrung des Plugins zu Problemen kommen kann. Durch Bet¨atigen des Finish“”
Buttons schließen Sie die Installation ab.
8. Das Plugin wird nun heruntergeladen und es erscheint eine Meldung das Sie ein
unsigned feature“ installieren. Dies ist richtig. Fahren Sie durch Bet¨atigen install“”
”
Buttons mit der Installation fort.
9. Zum Schluss erscheint eine Meldung, das die Workbench“ neu gestartet werden
”
¨
sollte, um die Anderungen
am Eclipse SDK“ zu u
¨bernehmen. Best¨atigen Sie diesen
”
Dialog mit yes“. Eclipse wird nun neu gestartet und Sie k¨onnen das Hamster”
Simulator-Plugin verwenden.
• Installation durch Entpacken der Archivdatei
1. Als erstes m¨
ussen Sie ihre Eclipse-Version ermitteln. Dies K¨onnen Sie tun indem
Sie Eclipse starten und auf die eingeblendete Versions-Nummer im Startbildschirm
achten.
2. Als n¨achstes Laden Sie sich das Hamster-Simulator-Plugin von der Seite http://www.javahamster-modell.de/HamstersimulatorPlugin/plugins herunter. Die Plugin Archivdatei beginnt mit org.uni ol.hamstersimulator x.x.y.jar, wobei die x.x der Versionsnummer von Eclipse entspricht und y der Versionsnummer des Plugins. Achten Sie
beim Download darauf, das die Eclipse-Versionsnummer der Plugin-Archivdatei
ihrer Eclipse-Version entspricht.
3. Entpacken Sie die *.jar“-Archivdatei in den Plugin-Ordner ihres Eclipse, beispiels”
weise mit dem Programm Winrar“.
”
4. Starten Sie Eclipse neu, sofern Eclipse noch lief.
2.3 Starten des Hamster-Simluator-Plugins
Um das Hamster-Simulator-Plugin zu Starten muss das Java JDK“,
”
das Hamster-Simulator-Plugin wie oben beschrieben installiert worden
Simulator-Plugin wird nun automatisch beim Start des Eclipse SDK“
”
7
Eclipse SDK“ und
”
sein. Das Hamstergeladen und dessen
2.3 Starten des Hamster-Simluator-Plugins
Funktionen sind verf¨
ugbar.
8
3 Ihr erstes Hamster-Programm
Haben Sie das Eclipse SDK“ mit dem Hamster-Simulator-Plugin gestartet, so werden Sie
”
sich zun¨achst in der Java-Perspektive oder in der Resources-Perspektive befinden. In diesen Perspektiven sind nicht nur die Funktionen des Hamster-Simulators, sondern auch eine
Vielzahl anderer Funktionen des Eclipse SDK“, verf¨
ugbar. Um diesen Funktionsumfang zu
”
minimieren, gibt es eine spezielle Hamster-Perspektive und eine Hamster-Debug-Perspektive,
welche den Schwerpunkt auf Funktionen des Hamster Simulators“ legen. Daher ist es ratsam
”
in die Hamster-Perspektive zu wechseln. Dies erreichen Sie, indem Sie im Men¨
u Window“
”
auf Open Perspektive → Other“ klicken und in dem nun erscheinenden Dialogfeld Hamster
”
”
Perspektive“ w¨ahlen.
Im folgenden wird Ihnen nun gezeigt, wie Sie Ihr erstes Hamster-Programm im HamsterSimulator-Plugin schreiben k¨onnen. Dabei werden ¨ahnlich wie im bisherigen Hamster-Simulator
verschiedene Stationen durchlaufen. Dazu geh¨oren:
• Erstellen eines Hamster-Projekts
• Gestalten eines Hamster-Territoriums
• Eingeben eines Hamster-Programms
• Ausf¨
uhren eines Hamster-Programms
• Debuggen eines Hamster-Programms
Dabei werden im folgenden die einzelnen Szenarien kurz skizziert, jedoch nicht alle Funktionen des Hamster-Simulator-Plugins im Detail erkl¨art. Dies erfolgt in dem folgenden Kapitel
Bedienung des Hamster-Simulator-Plugins“ (sh. 4).
”
3.1 Erstellen eines Hamster-Projekts
Anders als im bisherigen Hamster Simulator“ m¨
ussen nun Hamster-Projekte im Workspace
”
erstellt werden. Dadurch wird es m¨oglich, Hamster-Projekte klar von anderen Projekten,
wie beispielsweise Java-Projekten, abzugrenzen und spezifische Einstellungen f¨
ur HamsterProjekte vorzunehmen, wie z.B. das Setzen des Classpath“.
”
Um nun ein Hamster-Projekt zu Erstellen w¨ahlen Sie im Men¨
u File“ den Eintrag New →
”
”
Hamster Project“ aus. Es ¨offnet sich der Hamster Projekt Wizard“ welcher die Erzeugung des
”
Hamster-Projekts vornimmt. Sie m¨
ussen an dieser Stelle den Namen des Hamster-Projekts
eingeben und den Finish“-Button bet¨atigen. Es wird nun ein neues Hamster-Projekt mit dem
”
gew¨ahlten Namen im Workspace-Verzeichnis angelegt und erscheint im Navigator-View“ (sh.
”
4.1.3), welcher sich am linken Rand des Bildschirms in der Hamster-Perspektive befindet.
Sollten Sie im Problems View (sh. 4.1.7) nun eine Fehlermeldung der Art: Project ’Projekt”
”
”
name’ is missing required library: ’library-Name’“, so wurde der Build Path“ bzw. Classpath
”
9
3.2 Gestalten eines Hamster-Territoriums
in ihrem System nicht richtig gesetzt. Bitte befolgenden Sie in diesem Fall die Anweisungen
im Abschnitt 4.2.4.
3.2 Gestalten eines Hamster-Territoriums
Im bisherigen Hamster Simulator“ wurde das Territorium im Simulations-Fenster des Hams”
”
ter Simulators“ angezeigt. Dies ist im Hamster-Simulator-Plugin nicht der Fall. Das Territorium wird im Territorium-Editor (sh. 4.1.4) angezeigt, welcher sich in der Editor-Area“
”
befindet.
Um ein Territorium zu Erstellen bzw. Anzuzeigen gibt es im Hamster-Simulator-Plugin verschiedene M¨oglichkeiten:
• Die erste M¨oglichkeit ist das Erstellen eines Territoriums mit Hilfe des Hamster Terrain
”
Wizards“. Diesen ¨offnen Sie durch w¨ahlen des Eintrags New → Hamster Terrain“ im
”
Men¨
u File“. Im Hamster Terrain Wizard“ muss das Hamster-Projekt, der Dateiname
”
”
sowie die Gr¨oße des Territoriums angegeben werden. Durch bet¨atigen des Finish“”
Buttons wird ein neues Territorium im gew¨ahlten Hamster-Projekt erzeugt und im
Territorium-Editor angezeigt.
• Die zweite M¨oglichkeit ist die Verwendung des Standard-Territoriums, welches im Territorium-Editor ge¨offnet wird, sobald eine neue Hamsterdatei erstellt oder eine bestehende
Hamsterdatei ge¨offnet wird. Das Standard-Territorium zeigt initial ein Territorium der
Gr¨oße 14x10 Kacheln. Allerdings verh¨alt sich das Standard-Territorium so, dass immer
das zuletzt bearbeitete Territorium angezeigt wird. Das bedeutet, wurde ein anderes
Territorium erstellt und bearbeitet, so wird beim Aufruf des Standard-Territoriums
dieses angezeigt.
• Die dritte M¨oglichkeit ist die Verwendung eines bereits bestehenden Territoriums. Diese werden im Navigator-View“ angezeigt (Mauer-Symbol) und lassen sich durch Dop”
pelklick (Windows) oder u
u (rechte Maustaste) und den Eintrag
¨ber dessen Kontextmen¨
open“ ¨offnen.
”
Haben Sie ein Territorium im Territorium-Editor ge¨offnet, so erscheint in der globalen Toolbar
(sh.4.1.1) eine Reihe von Buttons zum Bearbeiten des Territoriums. Diese sind bereits aus
bisherigen Hamster Simulator“ bekannt und erlauben unter anderem das:
”
• Heinein- und Hinaus-Zoomen - Vergr¨oßert und verkleinert die dargestellte Gr¨oße des
Territoriums
• Setzen des Standard-Hamsters - W¨ahlen Sie dieses Werkzeug aus, um den StandardHamster im Territorium auf einer anderen Kachel zu positionieren. Dazu klicken Sie mit
einer Maustaste die Kachel an, auf der der Standard-Hamster sitzen soll. Die Kachel
darf nicht durch Mauern versperrt sein.
• Setzen der K¨orner im Maul des Hamsters - Mit diesem Werkzeug k¨onnen Sie die Anzahl
der K¨orner im Maul des Hamsters ver¨andern. Dabei ist die initiale K¨ornermenge gleich
null (0). Negative Werte sind nicht zul¨assig.
• Drehen des Standard-Hamsters um 90◦ nach links - Dieser Button dient dem Drehen
des Standard-Hamsters um 90◦ nach links.
• Setzen von W¨anden - Mit diesem Werkzeug k¨onnen W¨ande im Territorium positioniert
10
3.2 Gestalten eines Hamster-Territoriums
werden. Dazu klicken Sie mit einer Maustaste auf das Feld, auf dem eine Mauer erscheinen soll. Sollen mehrere Mauern auf einmal gesetzt werden, so w¨ahlen Sie mit einer
Maustaste die Startkachel und halten Sie die Maustaste gedr¨
uckt, w¨ahrend Sie mit der
Maus zur Zielkachel gehen. Lassen Sie dort die Maustaste los. Auf allen u
¨berdeckten
Kacheln wird eine Mauer gesetzt. Es wird keine Mauer gesetzt, wenn die Kachel durch
den Standard-Hamster verdeckt ist.
• Setzen von K¨ornern - Das Setzen von K¨ornern funktioniert analog zum Setzen von
Mauern, jedoch erscheint nach loslassen der Maustaste eine Dialogbox, in welcher Sie
die Anzahl der K¨orner auf der Kachel festlegen m¨
ussen. Negative Werte sind dabei nicht
erlaubt.
• L¨oschen von W¨anden und K¨ornern - Um W¨ande und K¨orner auf den Kacheln zu l¨oschen
selektieren Sie das L¨osch-Werkzeug und klicken auf die Kachel dessen Inhalt gel¨oscht
werden soll. Auch das L¨oschen mehrerer Kacheln ist m¨oglich. Dazu selektieren Sie eine
Startkachel und halten die Maustaste gedr¨
uckt und gehen mit der Maus zur Zielkachel.
Dort lassen Sie die Maustaste los. Alle u
berdeckten
Felder werden gel¨oscht.
¨
• Zur¨
ucksetzen des Territorium nach einer Simulation - Dieser Button dient dem Zur¨
ucksetzen des Territoriums in den Zustand, wie er vor dem Starten der Simulation gewesen
ist.
• Erh¨ohen der Simulationsgeschwindigkeit - Mit diesem Button kann die Simulationsgeschwindigkeit erh¨oht werden. Wird der Button deaktiviert so ist keine weitere Erh¨ohung
der Geschwindigkeit m¨oglich.
• Verringern der Simulationsgeschwindigkeit - Mit diesem Button kann die Simulationsgeschwindigkeit verringert werden. Wird der Button deaktiviert so ist keine weitere
Verringerung der Geschwindigkeit m¨oglich.
• L¨oschen der Logausgaben nach einer Simulation - Beim Ablaufen von Simulationen
werden in den Logfenstern Ausgaben des Hamster-Programms visualisiert. Diese k¨onnen
durch dr¨
ucken dieses Buttons gel¨oscht werden.
Alle Buttons verf¨
ugen u
¨ber eine Tooltip“-Text, welcher bei verweilen mit der Maus u
¨ber
”
dem Button angezeigt wird und Informationen u
¨ber die Funktion des Buttons liefert. Des
Weiteren bedingen sich die Werkzeuge gegenseitig, was bedeutet das nur ein Werkzeug zur
Zeit aktiviert sein kann. Die Werkzeuge funktionieren auch, w¨ahrend eine Simulation abl¨auft.
Mit diesen Werkzeugen“ und Funktionen k¨onnen Sie das Territorium nun so modellieren,
”
dass spezifische Aufgaben damit gel¨
ost werden k¨onnen. Wenn Sie das Territorium zu einem
sp¨ateren Zeitpunkt wieder verwenden wollen, so m¨
ussen Sie dieses explizit abspeichern. Dazu
w¨ahlen Sie im Men¨
u File“ den Eintrag Save As . . .“. Es erscheint der Save As“-Dialog in
”
”
”
welchem Sie das Hamster-Projekt w¨ahlen und den Namen des Territoriums eingeben, unter
dem Sie das Territorium speichern wollen. Durch Bet¨atigen des OK“-Buttons beenden Sie
”
den Vorgang.
Versuchen Sie nun das in 3.1 dargestellte Territorium zu modellieren. Dies wird f¨
ur das sp¨atere
Hamster-Programm ben¨otigt.
11
3.3 Eingeben eines Hamster-Programms
Abbildung 3.1: Hamster-Territorium
3.3 Eingeben eines Hamster-Programms
Um ein neues Hamster-Programm einzugeben ist es zun¨achst erforderlich, dass Sie eine neue
Hamsterdatei im Workspace erstellen, in welcher das Hamster-Programm gespeichert wird.
Dazu rufen Sie den Hamster File Wizard“ u
u File“ New → Hamster File“ auf.
¨ber das Men¨
”
”
”
In diesem Wizard m¨
ussen Sie zun¨achst das Hamster-Projekt und den Namen der Hamsterdatei angeben. Dabei ist beim Name der Hamsterdatei darauf zu achten, dass der Name ein
g¨
ultiger Java-Bezeichner ist, was bedeutet, dass der Name nur ein Wort sein darf! Am besten
w¨ahlen Sie hier MeinErstesProgramm“. Anschließend m¨
ussen Sie die Art der Hamsterda”
tei w¨ahlen. Dabei k¨onnen imperative Hamsterdateien von objektorientierten Hamsterdateien und Klassen-Hamsterdateien unterschieden werden. Dabei speichern imperative Hamsterdateien imperative Hamster-Programme, objektorientierte Hamsterdateien objektorientierte
Hamster-Programme und Klassen-Hamsterdateien Hamster-Klassen ab.
Im Folgenden soll nun ein imperatives Hamsterprogramm eingegeben werden. Dazu w¨ahlen Sie
imperativ“ im Hamster File Wizard“ aus und bet¨atigen den Finish“-Button zum Beenden
”
”
”
des Wizards. Es wird eine neue imperative Hamsterdatei im angegebenen Hamster-Projekt
erzeugt und diese Hamsterdatei im Hamster-Editor ge¨offnet. Der Hamster-Editor ist der zentrale Editor zum Schreiben von Hamsterdateien und bietet eine Reihe von Funktionen, die
beim Schreiben von Hamster-Programmen n¨
utzlich sind. Auf diese wird im Kapitel HamsterEditor (sh. 4.1.5) n¨aher eingegangen. Hamster-Programme k¨onnen nat¨
urlich auch mit jedem
anderen in Eclipse verf¨
ugbaren Editor geschrieben werden, jedoch fallen dann die speziellen
Unterst¨
utzungfunktionen weg.
Im Hamster-Editor steht nun:
//Die Import-Anweisungen - nicht editieren
import de.hamster.model.client.Hamster;
import de.hamster.model.client.Territorium;
import de.hamster.model.client.HamsterInitialisierungsException;
import de.hamster.model.client.HamsterNichtInitialisiertException;
import de.hamster.model.client.KachelLeerException;
import de.hamster.model.client.MauerDaException;
import de.hamster.model.client.MaulLeerException;
12
3.3 Eingeben eines Hamster-Programms
import de.hamster.model.client.HamsterException;
import de.hamster.model.client.HamsterProgram;
public class MeinErstesProgramm extends Hamster implements HamsterProgram {
public void main(){
}
}
Die import“-Anweisungen werden im Hamster-Editor in der Regel minimiert dargestellt und
”
m¨
ussen von Ihnen nicht weiter beachtet werden. Allerdings d¨
urfen Sie diese Anweisungen auch
nicht l¨oschen oder editieren! Auch der Klassenrumpf (public class ’gew¨ahlter Name’ extends
. . . ) darf nicht ge¨andert werden und muss von ihnen nicht weiter beachtet werden.
Das eigentliche Hamster-Programm geben Sie zwischen public void main(){ und } ein. Im
Folgenden sollen Sie ein Programm schreiben, dass den Standard-Hamster bef¨ahigt, zwei der
K¨orner in seiner N¨ahe im Territorium 3.1 aufzunehmen. Dazu geben Sie folgendes ein:
public class MeinErstesProgramm extends Hamster implements HamsterProgram {
public void main() {
vor();
vor();
nimm();
rechtsUm();
vor();
vor();
nimm();
}
void rechtsUm() {
linksUm();
linksUm();
linksUm();
}
}
Um die Datei abzuspeichern klicken Sie das Speichern-Symbol (Diskette) in der globalen Toolbar oder w¨ahlen Sie im Men¨
u File“ den Eintrag Save“. Durch das Speichern wird die Datei
”
”
kompiliert und m¨ogliche Fehler werden im Problems View“ angezeigt. Allerdings verf¨
ugt der
”
Hamster-Editor u
¨ber die M¨oglichkeit syntaktische Fehler auch schon bei der Eingabe des
Hamster-Programms zu erkennen und Ihnen Vorschl¨age zu unterbreiten. Um die Datei unter
einem anderen Namen zu speichern kann im Men¨
u File“ der Eintrag Save As“ gew¨ahlt wer”
”
den, welcher den Save As“-Dialog ¨offnet. In diesem m¨
ussen Sie das Projekt sowie den Namen
”
der Hamsterdatei mit Dateiendung eingeben.
Drucken k¨onnen Sie das Hamster-Programm, indem Sie in der globalen Toolbar das Drucker”
Symbol“ bet¨atigen. Alternativ k¨onnen Sie auch im Men¨
u File“ den Eintrag Print“.
”
”
Nachdem Sie das Hamster-Programm nun eingegeben haben, pr¨
ufen Sie bitte, dass keine syntaktischen Fehler mehr vorhanden sind. Syntaktische Fehler k¨onnen Sie an rot unterschl¨an-
13
3.4 Ausf¨
uhren eines Hamster-Programms
gelten Ausdr¨
ucken im Programmcode erkennen, an einem roten Kreis mit weißem Kreuz
(Marker) am linken Rand des Editors oder an einer Error-Meldung im Problems View“. Sind
”
noch Fehler vorhanden, so lesen Sie sich den Tooltip durch, der erscheint wenn Sie u
¨ber dem
Fehler/Marker mit der Maus verweilen. In einigen Fehlerf¨allen kann Eclipse auch direkt den
Fehler f¨
ur Sie beheben. In diesem Fall hat der Marker die Form einer Gl¨
uhlampe mit einem
Roten Kreis und einem weißen Kreuz. Sie k¨onnen dann mit der linken Maustaste auf diesen
Marker klicken, um die Quick Fix“ Hilfe zu erhalten.
”
3.4 Ausf¨
uhren eines Hamster-Programms
Nachdem Sie das Programm nun eingegeben haben und alle syntaktischen Fehler beseitigt
sind k¨onnen Sie das Hamsterprogramm starten. Dazu gehen Sie ins Kontexmen¨
u (rechte
Maustaste) des Editors mit dem Hamster-Programm und w¨ahlen dort den Eintrag Run As
”
→ Hamsterprogramm“. Der Territorium-Editor wird automatisch in den Vordergrund geholt
bzw. neu ge¨offnet wenn er geschlossen worden ist. Das Hamster-Programm l¨auft nun ab. Das
Hamster-Programm stoppt automatisch, wenn der Programm-Code vollst¨andig abgearbeitet
ist. Als Benutzer haben Sie die M¨oglichkeit das Hamster-Programm auch explizit zu stoppen,
indem Sie in der globalen Toolbar den Stopp“-Button (rotes Quadrat) dr¨
ucken. Alternativ
”
finden Sie den Stopp“-Button auch im Debug View“ und im Men¨
u Hamstersimulator“. Das
”
”
”
Pausieren und Fortf¨
uhren von Hamster-Programmen ist, anders als im bisherigen Hamster
”
Simulator“, im run“-Modus nicht mehr m¨oglich, sondern nur im debug“-Modus. Dies liegt
”
”
daran, dass sp¨atere“ Java-Programme auch nur im debug“-Modus angehalten werden k¨onnen
”
”
und somit das Verhalten einheitlich ist.
W¨ahrend der Ausf¨
uhrung des Hamster-Programms werden Logausgaben in den Log-Panel“(rechts
”
vom Simulationsfenster) im Territorium-Editor angezeigt. Dabei handelt es sich um die HamsterBefehle, die von den Hamstern ausgef¨
uhrt werden, aber auch um Exceptions oder Informationen u
uhrungsgeschwindigkeit.
¨ber die aktuelle Ausf¨
Der Log-Panel“ unterhalb des Simulationsfensters wurde im Hamster-Simulator-Plugin neu
”
eingef¨
uhrt und zeigt die Ausgaben, die mittels der neuen Hamster-Befehle print("text")
und println("text") geschrieben werden (sh. 1.3).
Mit Hilfe der Buttons Simulationsgeschwindigkeit erh¨ohen“ und Simulationsgeschwindig”
”
keit verringern“ in der globalen Toolbar ( Pfeil hoch“- und Pfeil runter“-Symbol) l¨asst sich
”
”
auch w¨ahrend der Ausf¨
uhrung des Hamster-Programms dessen Simulationsgeschwindigkeit
beeinflussen. Mit dem Zur¨
ucksetzen“-Button l¨asst sich das Territorium nach der Simulation
”
zur¨
ucksetzen.
Nach erfolgreicher Ausf¨
uhrung ihres Hamster-Programms sollte der Standard-Hamster nun
das in Abbildung 3.1 zu sehende Korn auf der Position (6/3) und eins der K¨orner auf Position (6/5) gefressen haben. Bet¨atigen Sie den Zur¨
ucksetzen-Button, um die Ausgangsposition
wiederherzustellen.
14
3.5 Debuggen eines Hamster-Programms
3.5 Debuggen eines Hamster-Programms
Das Debuggen eines Hamster-Programms l¨auft prinzipiell ¨ahnlich zum Ausf¨
uhren eines HamsterProgramms ab, jedoch werden zus¨atzliche Funktionen bereitgestellt, die Ihnen helfen ihr
Hamster-Programm auf semantische Korrektheit zu u
ufen. Wechseln Sie in die Hamster¨berpr¨
Debug-Perspektive, indem Sie im Men¨
u Window“ den Eintrag Open Perspective → Hamster
”
”
Debug Perspektive“ w¨ahlen. Das Layout der Komponenten hat sich nun ge¨andert, so dass Sie
oben links den Debug View“ und oben rechts den Variables View“ sowie den Breakpoints
”
”
”
View“ sehen. Darunter befinden sich der Hamster-Editor, sowie der Territorium-Editor, die
nebeneinander angeordnet sind. Sollten Sie den Territorium-Editor nicht sehen, so selektieren
Sie den Hamster-Editor und w¨ahlen in der globalen Toolbar das Mauer“-Symbol, welches
”
automatisch das Standard-Territorium ¨offnet.
Um ein Hamster-Programm im debug“-Modus zu starten w¨ahlen Sie im Kontextmen¨
u des
”
Hamster-Editors den Eintrag Debug As → Hamsterprogramm“. Die Ausf¨
uhrung des Hamster”
Programms wird nun gestartet und verh¨alt sich wie die Ausf¨
uhrung im run“-Modus. Sie haben
”
aber nun zus¨atzlich die M¨oglichkeit, u
¨ber das Pause- und Fortfahren-Symbol in der globalen
Toolbar, das Hamster-Programm zu Pausieren und Fortzufahren .
Abbildung 3.2: Debug View: Callstack
W¨ahrend der Ausf¨
uhrung im debug“-Modus werden im Debug View“ die einzelnen Threads“
”
”
”
angezeigt. Dabei entspricht der Thread“ mit der Aufschrift main“ der Ausf¨
uhrung des
”
”
Hamster-Programms. Pausiert man nun den main-Thread“ und klappt die Baumstruktur
”
mit Hilfe des Plus-Symbols auf , so wird der Callstack“ des Threads sichtbar. Dies ist in
”
15
3.5 Debuggen eines Hamster-Programms
Abbildung 3.2 zu sehen, wobei es sich beim Callstack“ um die Aufrufhierachie der einzelnen
”
Methoden handelt. Wie man in der Abbildung 3.2 sieht steht im Callstack zuerst die Klasse,
zu welcher die aufgerufene Methode geh¨ort, dann die Methode die aufgerufen wurde und anschließend die Zeile, in welcher die Methode sich im Hamster-Editor befindet. Von Interesse
ist f¨
ur Sie nur ihre eigene Hamster-Klasse. Selektieren Sie wie in Abbildung 3.2 zu sehen die
oberste Methode in der Aufrufhirarchie, die noch zu ihrer Hamster-Klasse geh¨ort. Eclipse
zeigt Ihnen nun im Editor die Zeile, die der Selektion entspricht und die gerade ausgef¨
uhrt
wird. Sie haben nun die M¨oglichkeit ihr Hamster-Programm schrittweise auszuf¨
uhren, indem
Sie die drei Pfeiltasten der lokalen Toolbar des Debug Views“ verwenden. Dabei bedeutet
”
die linke Pfeiltaste Schritt hinein“, die mittlere Schritt hin¨
uber“ und die rechte Schritt hin”
”
”
aus“. Mit Schritt hinein“ k¨onnen Sie in die der Aufrufherachie nach oben gehen, dass heißt
”
in die aufzurufende Methode hineinspringen. Mit Schritt hin¨
uber“ k¨onnen Sie die Methode
”
ausf¨
uhren ohne in Sie hinein zu springen und mit Schritt hinaus“ verlassen Sie die aktuelle
”
Methode und gehen zur Methode zur¨
uck, welche die Methode in der Sie sich gerade befanden,
aufgerufen hat. Das bedeutet Sie gehen in der Aufrufhierarchie runter.
Versuchen Sie nun zun¨achst die Pfeiltaste Schritt hin¨
uber“ (Step Over) um zum n¨achsten
”
Hamster-Befehl ihrer Klasse zu springen. Sind Sie bei dem Aufruf der Methode rechtsUm()“
”
angekommen, so k¨onnen Sie auch die Pfeiltaste Schritt hinein“ (Step Into) und die Pfeil”
taste Schritt hinaus“ (Step Return) versuchen, da es sich dabei um eine Methode ihres
”
Hamster-Proramms handelt. F¨
ur die anderen Befehle machen die Pfeiltasten Schritt hin”
ein“ und Schritt hinaus“ noch keinen Sinn, da Sie Methoden aufrufen, die nicht zu ihrem
”
Hamster-Programm geh¨oren. Allerdings werden diese Funktionen bei komplexeren HamsterProgrammen als n¨
utzlich erweisen.
Wenn Sie ein Hamster-Programm pausiert haben und schrittweise ausf¨
uhren k¨onnen Sie im
Variables View“ die Variablen ihres Hamster-Programms und deren Werte die Sie zu dieser
”
Zeit haben ablesen. Bei unserem einfachen Hamster-Programm werden aber noch keine Variablen verwendet, so dass nur die Variable this“ angezeigt wird, welche dem Hamster-Programm
”
entspricht.
Anders als im bisherigen Hamster-Simulator wird vom Hamster-Simulator-Plugin das Konzept
der Breakpoints“ unterst¨
utzt. Dies sind Marker“ die man am linken Rand des Hamster”
”
Editors setzen kann und die Eclipse sagen, dass man die Ausf¨
uhrung des Hamster-Programms
an dieser Stelle pausieren m¨ochte, um beispielsweise schrittweise fortzufahren. Dies wollen wir
im Folgenden nun u
uhrung des Hamster-Programms
¨ben. Dazu brechen Sie die aktuelle Ausf¨
bitte ab und versetzen das Territorium wieder in die Ausgangssituation. Setzen Sie nun im
Hamster-Editor in der Zeile mit dem Hamster-Befehl rechtsUm() einen Breakpoint, indem
Sie am linken Seitenrand (links von der Zeilennummer) das Kontextmen¨
u (rechte Maustaste)
aufrufen und den Eintrag Toggle Breakpoint“ w¨ahlen. Es erscheint nun ein blauer Punkt im
”
linken Rand des Hamster-Editors. F¨
uhren Sie nun ihr Hamster-Programm im debug“-Modus
”
aus. Wie Sie sehen pausiert Eclipse automatisch die Ausf¨
uhrung des Hamster-Programms in
der Zeile mit dem Breakpoint. Sie k¨
onnen nun die Ausf¨
uhrung durch den Fortfahren-Button
fortsetzen oder auch mit Hilfe der Pfeiltasten das Programm Zeilenweise ausf¨
uhren. L¨oschen
k¨onnen Sie den Breakpoint auf die gleiche Art und Weise, wie sie ihn erzeugt haben, indem
Sie Toggle Breakpoint“ im Kontextmen¨
u w¨ahlen. Wollen Sie den Breakpoint nur abschalten,
”
so k¨onnen Sie auch Disable Breakpoint“ im Kontextmen¨
u w¨ahlen. Der Breakpoint View“
”
”
gibt Aufschluss u
¨ber alle Breakpoints die in s¨amtlichen Programmen gesetzt wurden. Diese
16
3.6 Zusammenfassung
k¨onnen dort gel¨oscht und abgeschaltet werden.
3.6 Zusammenfassung
Herzlichen Gl¨
uckwunsch! Sie haben nun ihr erstes Hamster-Programm mit dem HamsterSimulator-Plugin f¨
ur das Eclipse SDK“ geschrieben, ausgef¨
uhrt und gedebuggt. Sie haben
”
sich nun die grundlegenden Kenntnisse angeeignet um mit dem Hamster-Simulator-Plugin zu
arbeiten. Da dieser Hamster Simulator“ in Verbindung von Eclipse noch eine Reihe weiterer
”
zus¨atzlicher und n¨
utzlicher Funktionen bietet, k¨onnen Sie diese entweder nun selbst erkunden
oder im n¨
achsten Kapitel nachlesen.
17
4 Bedienung des Hamster-Simulator-Plugins
In diesem Kapitel wird das Hamster-Simulator-Plugin nun auf einer detailierteren Ebene
besprochen und weitere n¨
utzliche Funktionen aufgezeigt. Dazu werden nun im Folgenden
die einzelnen Bestandteile kurz erl¨autert und anschließend auf die Funktionen des HamsterSimulator-Plugins im Detail eingegangen.
4.1 Die Bestandteile des Hamster-Simulator-Plugins
4.1.1 Globale Toolbar
Abbildung 4.1: Globale Toolbar
Wie in Abbildung 4.1 und A.1 zu sehen, beherbergt die globale Toolbar eine Reihe von Actionsets (Gruppe von Buttons), welche je nach Perspektive und aktivierten Fenstern variieren
kann. Die globale Toolbar verf¨
ugt in der Hamster-Perspektive u
¨ber den New“-Button welcher
”
den Select a Wizard“-Dialog aufruft, in welchem man verschiedene Wizards ausf¨
uhren kann.
”
Klickt man nicht direkt auf den New“-Button, sondern auf das Drop DownMen¨
u des But”
”
tons, so werden einem direkt die drei Hamster-Wizards zur Auswahl angeboten. Rechts neben
dem New“-Button befindet sich der Speichern“-Button, welcher es erlaubt nicht gespeicher”
”
te Dokumente eines selektierten Editors zu speichern. Daneben befindet sich der Drucken“”
Button um den Inhalt eines selektierten Editors zu drucken.
Rechts daneben beginnt das Launch-Actionset, welches die Buttons zum Starten von Programmen im debug“- und run“-Modus bereitstellt. Klickt man auf die Buttons, so wird immer das
”
”
zuletzt ausgef¨
uhrte Programm im gew¨ahlten Modus gestartet. W¨ahlt man hingegen das Drop
”
Down“-Men¨
u des Buttons so bekommt man die Historie der letzten ausgef¨
uhrten Programme
aufgelistet und kann davon eins w¨ahlen. Daneben kann man auch Run As“ oder Debug As“
”
”
und dann beispielsweise Hamsterprogramm w¨ahlen. Dies ist eine Shortcut“ Funktion und
”
f¨
uhrt die aktuelle Selektion beispielsweise als Hamster-Programm aus. Dabei k¨onnen m¨ogliche Selektionen ein Hamster-Editor mit einem Hamster-Programm sein oder eine selektierte
Hamster-Datei im Navigator View“. Neben der Shortcut Funktion gibt es im Drop Down“”
”
Men¨
u dieser Buttons auch den Eintrag Run. . .“ und Debug. . .“. Dies o¨ffnet das Dialogfeld
”
”
Create, manage, and run Configrations“, welches n¨aher im Abschnitt 4.6 erl¨autert wird.
”
Rechts neben dem Launch-Actionset befindet sich der Search“-Button, welcher den Search“”
”
Dialog ¨offnet. Dieser erlaubt das eine Datei-spezifische, Java-Spezifische und Plugin-spezifische
Suche wobei je nach installierten Plugins im Eclipse SDK“ auch noch andere Suchtypen
”
m¨oglich sind und in diesem Dialog angezeigt werden. F¨
ur weiterf¨
uhrende Hilfe sei auf die
18
4.1 Die Bestandteile des Hamster-Simulator-Plugins
Eclipse Hilfe verwiesen.
Wiederum rechts daneben beginnt der Hamster-Debug-Actionset, welcher die Buttons zum
Fortfahren, Pausieren und Stoppen von Hamster-Programmen beherbergt. Dabei sind die
Funktionen Pausieren“ und Fortfahren“ nur bei der Ausf¨
uhrung von Hamster-Programmen
”
”
im debug“-Modus aktiviert und der Stopp-Button ist sowohl im run“- als auch im debug“”
”
”
Modus aktiviert. Dabei sind die Buttons unabh¨angig von der Perspektive, in der man sich
gerade befindet.
Daneben befindet sich schließlich das Hamster-Territorium-Actionset, welches die Werkzeuge
zum Modellieren des Territoriums bereitstellt (sh. 3.2). Dieses Actionset ist im Gegensatz
zu den anderen nur bedienbar, wenn man den Territorium-Editor selektiert hat. Verliert der
Territorium Editor den Fokus, so ist das Actionset zwar sichtbar aber dessen Funktionen
werden deaktiviert (grau dargestellt). Wird der Territorium-Editor von einem anderen Editor
u
¨berdeckt oder wird er geschlossen, so verschwindet auch das Hamster-Territorium-Actionset.
Hat man den Hamster-Editor ge¨offnet und diesen selektiert, so wird der Standard-TerritoriumButton (Mauer Symbol) in der globalen Toolbar verf¨
ugbar, welcher das Standard-Territorium
im Territorium-Editor anzeigt.
Die restlichen Buttons werden hier nicht behandelt, da sie nicht f¨
ur das Arbeiten mit dem
Hamster-Simulator-Plugin notwendig sind. Des Weiteren k¨onnen einzelne Actionsets auch
deaktiviert werden, andere zus¨atzlich aktiviert werden und in ihrer Reihenfolge beliebig angeordnet werden, so das nicht zwangsl¨aufig die oben beschriebene Reihenfolge von Actionsets
eingehalten werden muss.
4.1.2 Die Hamster-Wizards
Die Hamster-Wizards sind hilfreiche Programme die den Benutzer dabei unterst¨
utzen neue
Hamster-Projekte, Hamster-Dateien und Hamster-Territorien anzulegen. Um einen der drei
Wizards zu ¨offnen, muss das Men¨
u New“ ge¨offnet werden, welches von den verschiedensten
”
Stellen aus erreichbar ist. Dies geht z.B. u
u File“ den New“-Button und des¨ber das Men¨
”
”
sen Drop-Down“-Men¨
u oder u
u des Navigator-Views. Im Men¨
u New“
¨ber das Kontextmen¨
”
”
k¨onnen Sie den gew¨
unschten Hamster-Wizard w¨ahlen. Die einzelnen Wizards werden n¨aher
in den Abschnitten 4.2.1, 4.3.1 und 4.4.1 beschrieben.
4.1.3 Der Navigator View
Der Navigator View“ (sh. Abbildung 4.2) stellt die zentrale Dateiverwaltung im Hamster”
Simulator-Plugin dar und ist als Gegenst¨
uck zum Dateibaum des Hamster Simulators“ in der
”
Version 2.2 zu sehen. Der Navigator View“ zeigt den Inhalt des Workspace-Verzeichnisses,
”
welches beim ersten Start festgelegt wurde. In diesem Verzeichnis werden alle Dateien die in
Eclipse erstellt werden gespeichert, wobei diese in Projekten gruppiert werden, welche wiederum Verzeichnisse im Workspace-Verzeichnis darstellen. In Projekten k¨onnen Dateien und
Ordner in einer gewissen“ Schachtelungstiefe angelegt werden, wobei diese im Navigator
”
”
View“ als Baumstruktur dargestellt werden. Hamsterdateien werden im Hamster-SimulatorPlugin im Workspace in so genannten Hamster-Projekten angelegt. Diese werden im Naviga”
tor View“ als Ordner-Symbol mit der Aufschrift HAM“ visualisiert. Es gibt f¨
unf verschiedene
”
19
4.1 Die Bestandteile des Hamster-Simulator-Plugins
Abbildung 4.2: Navigator View
Arten von Hamsterdateien im Hamster-Simulator-Plugin, welche in Hamster-Projekten angezeigt werden. Dies sind die imperativen und objektorientierten Hamster-Programme, die
Hamster-Klassen, die Hamsterdateien aus dem bisherigen Hamster Simulator“ mit der Da”
teiendung *.ham“ sowie die Territoriendateien. Zus¨atzlich befinden sich in Hamster-Projekten
”
noch zu jedem Hamster-Programm und jeder Hamster-Klasse Dateien mit der Endung *.java
und *.class. Diese werden aber gefiltert, so dass Sie nicht angezeigt werden. Der Navigator
”
View“ verf¨
ugt u
ugbar sind. Diese
¨ber eine lokale Toolbar, in welcher weitere Funktionen verf¨
werden ausf¨
uhrlich in der Eclipse Hilfe erl¨autert. In Abbildung A.1 ist der Navigator View“
”
mit den verschiedenen Hamster-Dateitypen dargestellt.
Als zentrale Dateiverwaltung ist es im Navigator View“ m¨oglich Dateien und Ordner um”
zubenennen, zu verschieben, zu kopieren und zu l¨oschen. Dies Kann durch Shortcuts“, per
”
Drag and Drop“ oder u
u erfolgen. Ferner ist es m¨oglich Dateien per Dop¨ber das Kontextmen¨
”
pelklick oder u
u (open) zu ¨offnen. Im Kontextmen¨
u besteht zus¨atzlich
¨ber das Kontextmen¨
die M¨oglichkeit die selektierte Hamster- oder Territoriendateien mit dem Eintrag open with“
”
mit einem anderen als dem jeweiligen Standard-Editor zu ¨offnen. Dabei ist darauf zu achten,
dass diese Datei zuk¨
unftig immer mit dem gew¨ahlten Editor ge¨offnet wird, sofern nicht u
¨ber
den open with“ Eintrag im Kontextmen¨
u der Standard-Editor wieder ausgew¨ahlt wird.
”
Selektiert Hamster-Programme k¨onnen u
u im Navigator View “ im run“
¨ber ihr Kontextmen¨
”
”
oder debug“-Modus ausgef¨
uhrt werden, wenn man Run/Debug As→Hamsterprogramm“
”
”
w¨ahlt.
4.1.4 Der Territorium-Editor
Der Territorium-Editor (sh. Abbildung 4.3) stellt das Gegenst¨
uck zum Simulationsfenster im
bisherigen Hamster Simulator“ dar und hat zum einen die Aufgabe das Territorium darzu”
20
4.1 Die Bestandteile des Hamster-Simulator-Plugins
Abbildung 4.3: Territorium-Editor
stellen und dessen Modellierung zu unterst¨
utzen und es hat zum anderen die Aufgabe die
Simulation des Hamster-Programms zu visualisieren. Anders als im bisherigen Hamster Si”
mulator“ wird der Territorium-Editor zusammen mit anderen Editoren in der Editor-Area
angeordnet. Dies ist ein Bereich der speziell f¨
ur Editoren vorgesehen ist und alle ge¨offneten
Editoren beherbergt. Dabei k¨onnen sich die Editoren gegenseitig u
¨berdecken, so das nur deren
Tab ( Reiter“) sichtbar ist, oder Sie k¨onnen auch horizontal und vertikal zueinander angeord”
net werden. Dies ist in der Hamster-Debug-Perspektive der Fall, wo der Hamster-Editor links
von dem Territorium-Editor angeordnet ist. Um die Anordnung zu a¨ndern kann man einfach
den entsprechenden Editor am Tab markieren, die Maustaste gedr¨
uckt halten und an die
gew¨
unschte Position ziehen (funktioniert auch mit Views).
¨
Ahnlich
wie im bisherigen Hamster Simulator“ kann es nur ein ge¨offnetes Territorium gleich”¨
zeitig geben, so dass beim Offnen
eines neuen Territoriums im Territorium-Editor das bisher
ge¨offnete Territorium verworfen wird. Da es keine implizite Speicherung des Territoriums gibt,
muss man das Territorium u
¨ber den Save As“-Dialog ( File→Save As“) explizit speichern,
”
”
um das Territorium sp¨ater wieder verwenden zu k¨onnen. Gespeicherte und neu erzeugte Territorien werden im Navigator View“ im jeweiligen Hamster-Projekt dargestellt und k¨onnen
”
per Doppelklick (Windows) oder u
u der selektierten Territoriumdatei
¨ber das Kontextmen¨
ge¨offnet werden (rechte Maustasten→open).
Neben explizit erzeugten und gespeicherten Territorien gibt es das Standard-Territorium, wel-
21
4.1 Die Bestandteile des Hamster-Simulator-Plugins
Abbildung 4.4: Hamster-Editor
ches immer das zuletzt bearbeitete Territorium anzeigt, bzw. beim Start von Eclipse ein leeres
Territorium der Gr¨oße 14x10 zeigt. Das Standard-Territorium wird im Territorium-Editor gezeigt, wenn eine Hamster-Datei im Hamster-Editor ge¨offnet wird und kein Territorium-Editor
ge¨offnet ist, oder wenn die Ausf¨
uhrung eines Hamster-Programms veranlasst wird und kein
Territorium ge¨offnet ist. Man kann das Standard-Territorium auch explizit ¨offnen, indem man
auf den Standard-Territorium-Button (Mauer-Symbol) klickt, welcher in der globalen Toolbar
verf¨
ugbar ist, sobald der Hamster-Editor selektiert ist.
Bei selektiertem Territorium-Editor wird das Hamster-Territorium-Actionset in der globalen
Toolbar verf¨
ugbar. Dieses stellt Funktionen bereit, um das Territorium zu editieren. Diese
sind in Abschnitt 3.2 bereits aufgef¨
uhrt.
4.1.5 Der Hamster-Editor
Der Hamster-Editor (sh. Abbildung 4.4) dient dem Schreiben von Hamster-Programmen im
Hamster-Simulator-Plugin. Der Hamster-Editor ist als Standard-Editor f¨
ur imperative und
objektorientierte Hamsterdateien sowie Hamster-Klassen definiert, so dass dieser beim Erzeu¨
gen und Offnen
dieser Hamsterdateien ge¨offnet wird. Dabei k¨onnen mehrere Instanzen des
Hamster-Editors mit unterschiedlichen Hamsterdateien gleichzeitig ge¨offnet sein und sofern
diese nicht nebeneinander/¨
ubereinander angeordnet sind, wird immer nur ein aktiver Editor
angezeigt. Von den anderen ge¨offneten Editoren ist dann der Tab zu sehen, oder wenn der
Platz nicht ausreicht kann auf das Doppelpfeil-Symbol rechts von den Editor-Tabs (sh. A.1)
22
4.1 Die Bestandteile des Hamster-Simulator-Plugins
geklickt werden, um sich die Liste der ge¨offneten Editoren anzeigen zu lassen.
Der Hamster-Editor ist zus¨atzlich in der Lage auch die Dateien des bisherigen Hamster
”
Simulators“ (Version 2.2) zu ¨offnen. Dabei werden diese Dateien vom Hamster-Editor in korrespondiere Hamsterdatein des Hamster-Simulator-Plugins umgewandelt und geladen. Die
*.ham“-Dateien werden gel¨oscht. Jedoch besteht die M¨oglichkeit auch Hamsterdateien des
”
Hamster-Simulator-Plugins zur¨
uck in *.ham“-Dateien zu konvertieren (vgl. 4.8.2).
”
Der Hamster-Editor ¨offnet anderes als der Editor des Editors des Hamster Simulator“ (Ver”
sion 2.2) nicht direkt die Hamsterdatei, sondern wandelt diese bei seinem Start in eine korrespondierende Javadatei um und zeigt diese an. Daher werden auch import“-Anweisungen
”
und Klassenr¨
umpfe angezeigt. F¨
ur Sie als Benutzer macht es keinen Unterschied, ob Sie die
Hamsterdatei oder die korrespondierenden Javadatei bearbeiten, da beim Speichern von Javadateien im Hamster-Editor die korrespondierenden Hamsterdateien geschrieben werden und
wie gesagt beim ¨offnen der Hamsterdateien im Hamster-Editor die zugeh¨origen Javdateien
erzeugt werden. Der Vorteil des Bearbeitens von den korrespondierenden Javadateien, anstelle der eigentlichen Hamsterdateien, liegt darin, dass der Hamster-Editor viele zus¨atzliche
Funktionen zur Verf¨
ugung stellt. Dies sind neben den aus dem alten Hamster Simulator“ be”
kannten Funktionen wie Undo“, Redo“, Ausschneiden“, Kopieren“, Einf¨
ugen“ und Syntax
”
”
”
”
”
”
Highlighting“(Hervorhebung von Schl¨
usselw¨orten), vor allem die Funktionen: automatische
”
¨
ufung des Codes auf syntaktische Fehler zur Laufzeit“, UnCode-Vervollst¨andigung“, Uberpr¨
”
”
terst¨
utzung von Markern“, Unterst¨
utzung von Templates“, Code-Formatierung“ und expli”
”
”
zites Erzeugen ausgew¨ahlter Funktionen“ sowie Finden von Referenzen und Deklarationen“,
”
Anzeigen des Javadocs von Methoden als Tooltip“, Ausblenden von bestimmten Programm”
”
teilen“ und die Anzeige einer Gliederung im Outline View“. Alle diese zus¨atzlichen Funktionen
”
werden im Abschnitt 4.3.10 n¨aher erl¨autert.
4.1.6 Der Outline View
Abbildung 4.5: Outline View
Der Outline View“ (sh. Abbildung 4.5) ist eine Komponente des Eclipse SDK“ und ist in
”
”
der Lage die Gliederung eines Dokuments eines markierten Editors anzuzeigen. F¨
ur Hamsterdateien die im Hamster-Editor ge¨offnet sind bedeutet dies, dass Sie im Outline View“ nach
”
Imports, Variablen, Konstruktoren und Methoden gegliedert dargestellt werden. Dabei zeigen
Symbole an, ob die Methoden und Attributen vom Typ public“, protected“ oder private“
”
”
”
23
4.1 Die Bestandteile des Hamster-Simulator-Plugins
sind und ob diese statisch oder nicht statisch sind. Der Outline View“ bietet noch eine reihe
”
Weiterer Funktionen, wie beispielsweise die Anzeige von ausf¨
uhrbaren Klassen oder die Anzeige von internen Klassen, uvm. F¨
ur weitere Informationen sei daher auf die Eclipse Hilfe
verwiesen.
Selektiert man ein Element im Outline View“, so springt Eclipse automatisch zu dem jewei”
ligen Element im entsprechenden Editor.
4.1.7 Der Problems View
Abbildung 4.6: Problems View
Der Problems View2 (sh. Abbildung 4.6) ist eine Eclipse-Komponente und wird vom Hamster”
Simulator-Plugin verwendet. Er zeigt grunds¨atzlich zwei Arten von Fehlermeldungen. Zum
einen sind dies Error“-Meldungen, also syntaktische Fehler, die im Quellcode vorhanden sind
”
und zum anderen Warning“-Meldungen. Warning“-Meldungen sind nicht schwerwiegend und
”
”
Programme k¨onnen normal ablaufen, jedoch weisen Sie darauf hin, dass beispielsweise deklarierte import“-Anweisungen oder Variablen nicht verwendet werden.
”
Die Fehler sind in tabellarischer Form im Problems View“ angegeben, wobei die erste Spalte
”
das Symbol des Fehlertyps zeigt. Die zweite Spalte zeigt eine Beschreibung des Fehlers und
gibt meistens Aufschluss dar¨
uber wie der Fehler behoben werden kann. Die dritte und vierte
Spalte zeigt die Datei und den Ordner, in der der Fehler aufgetreten ist. In der f¨
unften Spalte
ist schließlich die genaue Zeile angegeben, die den Fehler beinhaltet.
Durch Doppelklick mit der linken Maustaste kann zu dem Fehler gesprungen werden. Alternativ kann man dies auch durch den Eintrag Go To“ im Kontextmen¨
u des selektierten Fehlers
”
erreichen. Der Eintrag Quick Fix“ im Kontextmen¨
u des selektierten Fehlers erlaubt es, den
”
Fehler von Eclipse beseitigen zu lassen. Allerdings ist dies nicht bei allen Fehlern m¨oglich.
Grunds¨atzlich werden alle Fehler von Dateien im Workspace angezeigt. Durch Filter ist es
jedoch auch m¨oglich, die angezeigten Fehler auf beispielsweise das lokale Projekt einzuschr¨anken. Die Filteroptionen k¨onnen wie in Abb. A.1 zu sehen u
¨ber das Filter-Symbol der lokalen
Toolbar des Problem Views“ erreicht werden.
”
Weitere Informationen zum Problems View“ k¨onnen in der Eclipse Hilfe nachgelesen werden.
”
24
4.1 Die Bestandteile des Hamster-Simulator-Plugins
4.1.8 Debug View
Abbildung 4.7: Debug View
Der Debug View“ (sh. Abbildung 4.7) ist eine Eclipse-Komponente und erm¨oglicht unter
”
anderem das debuggen von Hamster-Programmen, d.h. die schrittweise Ausf¨
uhrung des Programmcodes. Der Debug View“ wird standardm¨aßig in der Hamster-Debug-Perspektive in
”
der linken oberen Ecke angezeigt. Er wird aber auch angezeigt, wenn man in der HamsterPerspektive ein Hamster-Programm im debug“-Modus startet und dieses pausiert.
”
Der Debug View“ zeigt in einer Baumstruktur als Wurzelelement den Namen des Programms
”
und den Typ des Programms (Hamster-Programm). In der n¨achsten Ebene des Baums zeigt
das erste Element wiederum den Namen des Programms, den Server, auf dem das Programm
l¨auft (localhost= lokaler Rechner) und den Port. Man spricht bei diesem Element von dem so
genannten Debug Target“. Als zweites Element sieht man den Namen der Virtual Machine“,
”
”
die das Programm ausf¨
uhrt sowie das Datum und die Uhrzeit, zu der die Ausf¨
uhrung begonnen hat. Das Debug Target“ verf¨
ugt u
¨ber weitere Kind-Elemente. Dies sind die jeweiligen
”
Threads“ die von dem Programm genutzt werden und in der Virtual Machine“ ablaufen.
”
”
Selektiert man das Debug Target“ und w¨ahlt den Pause-Button, so werden alle Thread“
”
”
pausiert (Sandard-Einstellung im Hamster-Simulator-Plugin wenn nichts selektiert). Selektiert man einen einzelnen Thread“ und w¨ahlt den Pause-Button, so wird nur dieser pausiert.
”
Pausierte Threads“ haben als Kindelement den so genannten Callstack“. Dieser zeigt die
”
”
Methoden in der Reihenfolge, wie Sie vom Thread im Programmablauf aufgerufen werden
(von unten nach oben), wobei auch die Klasse, in der die Methode sich befindet und die Zeilenzahl angegeben werden. Selektiert man eine Methode, so zeigt Eclipse die Klasse mit der
jeweiligen Methode in einem Editor an, sofern Source-Code zu der Klasse verf¨
ugbar ist.
Der Debug View“ erlaubt die zeilenweise Ausf¨
uhrung von Programm-Code, wenn das Pro”
gramm pausiert ist. Dazu muss man die Methode selektieren, dessen weitere Fortf¨
uhrung
man genauer betrachten will. Dabei stehen einem die drei Pfeiltasten Schritt hinein“ (Step
”
Into), Schritt hin¨
uber“ (Step Over) und Schritt hinaus“ (Step Return) zur Verf¨
ugung, wobei
”
”
mit Schritt hinein“ in den Methodenrumpf der auszuf¨
uhrenden Methode springen kann, mit
”
Schritt hin¨
uber“ die auszuf¨
uhrende Methode (und alle weiteren implizit aufgerufenen Metho”
den) ausf¨
uhren kann ohne in den Methodenrumpf zu springen und mit Schritt hinaus“ den
”
25
4.2 Verwalten von Hamster-Projekten
aktuellen Methodenrumpf verlassen und zur aufrufenden Methode zur¨
uckkehren kann.
Mit Hilfe des Fortsetzen-Buttons kann die Programm-Ausf¨
uhrung fortgesetzt werden und mit
Hilfe des Stopp-Buttons kann die Ausf¨
uhrung des Programms abgebrochen werden.
F¨
ur weitere Informatioen zum Debug View“ sei auf die Eclipse Hilfe verwiesen.
”
4.1.9 Variables View
Abbildung 4.8: Variables View
Der Variables View“ (sh. Abbildung 4.8) ist eine Eclipse-Komponente, die in der Lage ist
”
die Variablenbelegungen einer Klasse w¨ahrend dessen Ausf¨
uhrung zu zeigen. Daf¨
ur muss die
Klasse von einer Virtual Machine“ in einem Thread ausgef¨
uhrt werden und der Thread muss
”
pausiert werden. Nun geht man u
¨ber den Callstack in die Klasse, dessen Variablenbelegung
man sehen m¨ochte. Der Variables View“ unterscheidet zwischen lokalen und globalen Varia”
blen und dem Datentyp der Variablen. Globale Variablen werden unter der Variablen this“
”
angezeigt. Lokale Variablen werden auf der gleichen Stufe wie this“ angezeigt. Ist die Variable
”
von einem einfachen Datentyp (int, long, char, etc.) so wird nur dessen Belegung angezeigt.
Handelt es sich hingegen um eine Variable mit einem komplexen Datentyp (String, Hamster,
etc.), so wird in einer Baumstruktur deren interne Variablen, die auch wieder aus einfachen
und komplexen Datentypen bestehen k¨onnen, angezeigt.
F¨
ur weitere Informationen zum Variables View“ sei auf die Eclipse Hilfe verwiesen.
”
4.2 Verwalten von Hamster-Projekten
In diesem Abschnitt wird nun detailliert vorgestellt, wie man Hamster-Projekte erzeugt, wie
man sie verwaltet und welche Probleme im Zusammenhang mit Hamster-Projekten auftreten
k¨onnen.
26
4.2 Verwalten von Hamster-Projekten
4.2.1 Erzeugen von Hamster-Projekten
Um ein neues Hamster-Projekt im Workspace zu erzeugen m¨
ussen Sie den Hamster Projekt
”
Wizard“ starten. Dazu haben Sie in Eclipse verschiedene M¨oglichkeiten, wobei man zwischen
dem Wizard-Auswahl-Dialog und Shortcuts unterscheidet:
Den Wizard-Auswahl-Dialog erreichen Sie wie folgt:
• Men¨
u: File→New→Other
• New“-Button in der globalen Toolbar
”
• Kontextmen¨
u des New“-Buttons→Other
”
• Kontextmen¨
u des Navigator Views“→Other
”
Dort k¨onnen Sie den Hamster Projekt Wizard“ in der Kategorie Hamster-Simulator w¨ahlen.
”
Ebenso k¨onnen Sie dort auch die anderen Hamster-Wizards w¨ahlen.
Die Shortcuts zum schnellen Laden des Hamster Projekt Wizard“ erreichen Sie wie folgt (gilt
”
nur f¨
ur Hamster- und Hamster-Debug-Perspektive):
• Men¨
u: File→New
• Kontextmen¨
u New“-Button
”
• Kontexxtmen¨
u des Navigator View“→New
”
Auf die gleiche Art und Weise k¨onnen Sie auch die Shortcuts der anderen Hamster-Wizards
erreichen.
Abbildung 4.9: Hamster-Projekt-Wizard
Ist der Hamster Projekt Wizard“ ge¨offnet, so m¨
ussen Sie wie in Abbildung 4.9 zu sehen
”
einen neuen Namen f¨
ur das Hamster-Projekt w¨ahlen. Dieser kann aus einem oder mehreren
W¨ortern bestehen, darf jedoch nicht bereits im Workspace verwendet werden. Wird der Name
bereits verwendet, so erscheint im oberen Bereich des Wizards eine Fehlermeldung.
Alle Hamster-Projekte m¨
ussen im Workspace angelegt werden. Zwar gibt es die M¨oglichkeit
27
4.2 Verwalten von Hamster-Projekten
im Hamster-Projekt-Editor auch andere Ordner, die nicht im Workspace liegen, als HamsterProjekte einzubinden, indem man eine andere als die default Location“ w¨ahlt, jedoch wird
”
davon dringend abgeraten, da das Starten von Hamster-Programmen, die nicht im Workspace
liegen, zur Zeit vom Hamster-Simulator-Plugin nicht unterst¨
utzt wird.
Sie k¨onnen den Wizard nun durch bet¨atigen des Finish“-Buttons beenden (empfohlen), durch
”
bet¨atigen des Cancel“-Button abbrechen oder durch bet¨atigen des Next“-Buttons zur n¨achs”
”
ten Seite gelangen, auf der weitere Einstellungen f¨
ur das Hamster-Projekt vorgenommen werden k¨onnen. Die n¨achste Seite ist a¨quivalent zu der zweiten Seite des Java Projekt Wizards“,
”
weshalb hier auf dessen Hilfe verwiesen wird.
¨
4.2.2 Schließen und Offnen
von Hamster-Projekten
Abbildung 4.10: Geschlossenes Projekt im Navigator View“
”
Wird ein Hamster-Projekt nicht verwendet, so besteht die M¨oglichkeit ein Hamster-Projekt zu
schließen. Dies geschieht, indem Sie das Hamster-Projekt im Navigator View“ selektieren und
”
in dessen Kontext-Men¨
u den Eintrag Close Project“ w¨ahlen. Geschlossene Projekte werden
”
wie das Projekt test2“ in Abbildung 4.10 als geschlossener Ordner dargestellt und haben den
”
Vorteil, dass sie beim Build“ des Workspaces (Kompilieren aller Dateien im Workspace) nicht
”
ber¨
ucksichtigt werden und das Fehler in diesem Projekt nicht im Problems View“ aufgelistet
”
werden.
¨
Das Offnen
von geschlossenen Hamster-Projekten erfolgt analog zum schließen von ge¨offneten Hamster-Projekten, indem Sie im Kontext-Men¨
u des selektierten Hamster-Projekts den
Eintrag Open Project“ w¨ahlen.
”
4.2.3 Unterordner in Hamster-Projekten
Mit Hilfe des New-Folder-Wizards (zu erreichen u
u File→ New→ Other→ General→
¨ber Men¨
Folder) k¨onnen auch Unterordner in Hamster-Projekten angelegt werden, welche wiederum
Unterordner und Hamsterdateien aufnehmen k¨onnen. Legt man Hamsterdateien in spezifischen Unterordnern ab, so spricht man im Kontext der Java-Programmierung auch von
Packages“, wobei diese Unterordner nur aus genau einem Wort bestehen d¨
urfen! Werden
”
Hamster-Programme oder Hamster-Klassen in diesem Unterordner erzeugt, so wird diesen automatisch der Eintrag package Unterordner1/Unterordner2/...; bzw. package Unterordner1;
hinzugef¨
ugt.
28
4.2 Verwalten von Hamster-Projekten
4.2.4 Probleme mit Hamster-Projekten
Abbildung 4.11: Projekt Eigenschaften
Wird ein Hamster-Projekt durch den Hamster Projekt Wizard“ erzeugt, so werden auch des”
sen Eigenschaften gesetzt. Eine dieser Eigenschaften ist der Build Path“, der unter anderem
”
die vom Hamster-Simulator-Plugin benutzten Dateien angibt. Konkret ist durch diese Angabe
das Importieren und Verwenden der Klassen Hamster, Territorium sowie der Exceptions
in Hamsterdateien m¨oglich. Es kann jedoch vorkommen, dass in bestimmten Systemen der
Build Path“ nicht richtig gesetzt wird. Dies ist kann insbesondere der Fall sein, wenn das
”
Plugin in einem anderen Verzeichnis als dem Plugin-Verzeichnis der Eclipse-Installation installiert worden ist. Auch kann dieser Fehler m¨oglicherweise mit anderen Betriebssystemen
als Windows XP“ auftreten.
”
Um den Build Path“ f¨
ur ein Hamster-Programm richtig zu setzen und somit sicher zu stellen,
”
dass die Importanweisungen in den Hamsterdateien funktionieren, w¨ahlen Sie im Kontextmen¨
u des Hamster-Projekts den Eintrag Properties“ aus. W¨ahlen Sie dann wie in Abbildung
”
4.11 zu sehen den Eintrag Java Build Path“ auf der linken Seite aus und wechseln Sie an”
schließend auf der rechten Seite auf die Karteikarte Libraries“. Entfernen Sie den Eintrag
”
JavaHamsterPlugin.jar“ da dieser Eintrag fehlerhaft ist. Dazu selektieren Sie den Eintrag
”
und w¨ahlen den Button Remove“ auf der rechten Seite des Fensters. Nun m¨
ussen Sie den
”
korrekten Eintrag erzeugen. Dazu w¨
ahlen Sie den Button Add External Jars“ und wechseln
”
in den Ordner, indem Sie das Hamster-Simulator-Plugin installiert haben. Gehen Sie in den
29
4.3 Verwalten und Editieren von Hamster-Dateien
Plugin-Ordner hinein und w¨ahlen Sie die Datei JavaHamsterPlugin.jar“ aus. W¨ahlen Sie nun
”
¨
Die Datei erscheint wie in Abbildung 4.11 zu sehen in der Liste mit den
den Button Offnen“.
”
verf¨
ugbaren Bibliotheken. Bet¨atigen Sie den OK“-Button um den Vorgang zu beenden.
”
4.3 Verwalten und Editieren von Hamster-Dateien
4.3.1 Schreiben eines neuen Hamster-Programms
Abbildung 4.12: Hamster File Wizard“
”
Um ein neues Hamster-Programm oder eine neue Hamster-Klasse zu schreiben m¨
ussen Sie
¨
den Hamster File Wizard“ starten. Gehen Sie dazu analog zum Offnen des Hamster Projekt
”
”
Wizards“ vor (vgl. 4.2.1).
Sie sehen nun den in Abbildung 4.12 dargestellten Hamster File Wizard“. Zun¨achst m¨
ussen
”
Sie nun ein Hamster-Projekt w¨ahlen, in dem Sie die neue Hamsterdatei erstellen wollen. Dann
w¨ahlen Sie bitte einen Namen f¨
ur die Hamsterdatei, wobei der gleiche Name nur einmal im
Projekt verwendet werden darf. Eine Angabe der Dateiendung ist nicht notwendig! Als drittes m¨
ussen Sie noch die Art der Hamsterdatei w¨ahlen. Dazu w¨ahlen Sie den entsprechenden
Radio-Button aus. Sofern nun keine Fehler angezeigt werden, wird der Finish“-Button frei”
geschaltet, welchen Sie w¨ahlen m¨
ussen, um den Vorgang zu beenden. Werden noch Fehler im
oberen Teil des Wizards angezeigt, so befolgen Sie bitte die dort angegebenen Schritte um
den Fehler zu beheben.
30
4.3 Verwalten und Editieren von Hamster-Dateien
Nach dem Bet¨atigen des Finish“-Buttons wird die Hamster-Datei in dem entsprechenden
”
Hamster-Projekt neu angelegt und im Hamster-Editor zum Bearbeiten ge¨offnet. Sie k¨onnen
nun ihr Hamster-Programm schreiben, abspeichern (kompilieren) und ausf¨
uhren.
¨
4.3.2 Andern
eines existierenden Hamster-Programms
Abbildung 4.13: Hamsterdatei im anderen Editor ¨offnen
¨
Um ein existierendes Hamster-Programm oder eine existierende Hamster-Klasse zu Andern
muss Diese ge¨offnet werden. Dazu kann im Navigator View“ ein Doppelklick mit der linken
”
Maustaste auf die entsprechende Hamsterdatei ausgef¨
uhrt werden. Alternativ kann im Kontextmen¨
u (rechte Maustaste) der selektierten Hamsterdatei der Eintrag open“ gew¨ahlt wer”
den um die Hamsterdatei in ihrem Standard-Editor zu ¨offnen, welches der Hamster-Editor ist.
Es besteht auch die M¨oglichkeit die Hamsterdatei mit einem anderen Editor als dem StandardEditor zu Bearbeiten. Dazu w¨ahlen Sie im Kontextmen¨
u der selektierten Hamsterdatei, wie in
Abbildung 4.13 zu sehen, den Eintrag open with“ und w¨ahlen den entsprechenden Editor aus.
”
Je nach gew¨ahltem Editor stehen dann verschiedene Funktionen zum Bearbeiten der Hamsterdatei zur Verf¨
ugung. Wird eine Hamsterdatei mit einem anderen als den Standard-Editor
ge¨offnet, so wird dieser Editor als Standard-Editor f¨
ur diese Datei gew¨ahlt. Um wieder den
Hamster-Editor als Standard-Editor der Datei zuzuweisen muss dieser im Open with“-Dialog
”
gew¨ahlt werden. Eine Hamsterdatei kann in einem speziellen Editor nur einmal ge¨offnet werden. Die Datei kann aber zur gleichen Zeit mit mehreren verschiedenen Editoren ge¨offnet
werden.
Grunds¨atzlich sollten Hamsterdateien im Hamster-Editor bearbeitet werden da dieser die in
Abschnitt 4.3.10 vorgestellten Funktionen zur Verf¨
ugung stellt. Des Weiteren ist nur dieser
Editor in der Lage die zu einer Hamsterdatei geh¨orende Java- und Class-Datei zu erzeugen,
ohne welche das Hamster-Programm nicht ablauff¨ahig ist.
Ist die Hamsterdatei im Hamster-Editor ge¨offnet, so kann sie nach Belieben bearbeitet werden.
31
4.3 Verwalten und Editieren von Hamster-Dateien
Abbildung 4.14: Save As“-Dialog
”
4.3.3 Speichern eines Hamster-Programms
Ist das Speichern notwendig, so erscheint auf der linken Seite im Tab des Editors ein SternSymbol. Um ein Hamster-Programm oder eine Hamster-Klasse zu Speichern selektieren Sie
den Editor und w¨ahlen im Men¨
u File“ den Eintrag Save“. Alternativ k¨onnen Sie auch die
”
”
Tastenkombination Ctrl+S“ w¨ahlen oder in der globalen Toolbar den Speichern“-Button
”
”
(Diskette-Symbol) bet¨atigen.
Um den Editor-Inhalt in einer anderen Datei zu Speichen m¨
ussen Sie den Save As“-Dialog
”
u
¨offnen. Dies machen Sie, indem Sie den zu speichernden Editor selektieren und dann im Men¨
File“ den Eintrag Save As“ w¨ahlen oder die Tastenkombination Ctrl+Shift+S“ bet¨atigen.
”
”
”
In dem in Abbildung 4.14 abgebildeten Save As“-Dialog m¨
ussen Sie das Projekt und den
”
Dateinamen, unter dem die Datei gespeichert werden soll, angeben. Dabei ist es wichtig, dass
Sie die Dateiendung mit angeben und diese zum Editor-Inhalt passt!
Wird ein Hamster-Programm oder eine Hamster-Datei vom Hamster-Editor aus gespeichert,
so werden nicht nur die Hamster-Dateien sondern auch die Java-Dateien gespeichert. Zus¨atzlich findet beim Speichern das Kompilieren der Hamsterdateien statt und es werden die
zugeh¨origen Class-Dateien erzeugt, die zum Ablaufen von Hamster-Programmen notwendig
sind. Treten beim Kompilieren Probleme auf, da das Hamster-Programm oder die HamsterKlasse syntaktische Fehler enth¨alt, so werden diese im Problems View“ dargestellt.
”
32
4.3 Verwalten und Editieren von Hamster-Dateien
4.3.4 L¨
oschen eines existierenden Hamster-Programms
Um ein existierendes Hamster-Programm oder eine Hamster-Klasse zu l¨oschen muss die Hamsterdatei im Navigator View“ selektiert werden. Durch Bet¨atigen der Entf“-Taste wird der
”
”
Confirm Resource Delete“-Dialog aufgerufen, mit welchem man die Datei endg¨
ultig l¨oschen
”
kann oder den L¨oschen-Vorgang abbricht. Dieser Dialog kann alternativ auch u
¨ber das Kontextmen¨
u der selektierten Hamsterdatei und den Eintrag Delete“ aufgerufen werden. Die
”
dritte M¨oglichkeit den Confirm Resource Delete“-Dialog zu ¨offnen, besteht darin, die Hams”
terdatei zu selektieren und Men¨
u Edit→Delete zu w¨ahlen.
Beim L¨oschen werden sowohl die Hamsterdatei, als auch die zugeh¨origen Java- und ClassDateien gel¨oscht und der Hamster-Editor mit der Datei geschlossen, falls er noch ge¨offnet
sein sollte.
4.3.5 Umbenennen eines existierenden Hamster-Programms
Um ein Hamster-Programm oder eine Hamster-Klasse umzubenennen gibt es verschiedene
M¨oglichkeiten. Diese sind selektieren der Hamsterdatei, dr¨
ucken von F2“ oder w¨ahlen von
”
Men¨
u File→Rename“ oder w¨ahlen des Eintrags Rename“ im Kontextmen¨
u. Nun kann die
”
”
Datei umbenannt werden, wobei die Dateiendung nicht umbenannt werden sollte.
War der Hamster-Editor mit dieser Datei ge¨offnet, muss der Klassenrumpf umge¨andert werden. Alternativ kann man den entsprechenden Hamster-Editor vor dem Umbenennen auch
schließen und nach dem Umbenennen wieder ¨offnen.
4.3.6 Verschieben eines existierenden Hamster-Programms
Um ein Hamster-Programm oder eine Hamster-Klasse zu verschieben gibt es verschiedene
M¨oglichkeiten: Der einfachste Weg ist per Drag and Drop“, was bedeutet, dass man die Da”
tei selektiert, die (linke) Maustaste gedr¨
uckt h¨alt, zu dem Projekt/Ordner mit der Maus geht,
in die die Hamsterdatei verschoben werden soll und dort die (linke) Maustaste losl¨asst. Eine
andere M¨oglichkeit ist das Selektieren der Hamsterdatei und w¨ahlen des Eintrags Move“ im
”
Kontextmen¨
u der Datei oder im Men¨
u File“. In dem nun erscheinenden Dialog Folder Se”
”
lection“ w¨ahlt man das Hamster-Projekt aus, in welches die Hamsterdatei verschoben werden
soll.
Man kann auch die Dateien mit den oben genannten Mechanismen in andere Verzeichnisse
als das Workspace verschieben, indem man beispielsweise den Explorer in Windows“ zu Hilfe
”
nimmt.
Ist die zu verschiebende Datei in einem Hamster-Editor ge¨offnet, so wird dem Hamster-Editor
automatisch die neue Position der Hamsterdatei mitgeteilt.
Wird die Hamsterdatei in einen Unterorder eines Projektes verschoben, so muss eine packageAnweisung in das Hamster-Programm / Hamster-Klasse geschrieben werden. Diese befindet
sich vor den Import-Anweisungen und hat die Form package Unterordner1/Unterordner2/...;
bzw. package Unterordner1;
33
4.3 Verwalten und Editieren von Hamster-Dateien
4.3.7 Kopieren eines existierenden Hamster-Programms
Um ein Hamster-Programm oder eine Hamster-Klasse zu kopieren kann wie beim Verschieben Drag and Drop“ verwenden. Dazu selektiert man im Navigator View“ die entspre”
”
chende Hamsterdatei und h¨alt die (linke) Maustaste gedr¨
uckt. Gleichzeitig h¨alt man auch
die Ctrl“-Taste gedr¨
uckt (abh¨angig vom System) und geht mit der Maus zu dem Hamster”
Projekt/Ordner in welchen man die Hamsterdatei kopieren will. Dar¨
uber l¨asst man die (linke)
Maustaste los und die Hamsterdatei wird kopiert. Um die Hamsterdatei zu kopieren kann man
aber auch die Hamsterdatei selektieren und im Kontextmen¨
u oder Men¨
u Edit“ den Eintrag
”
Copy“ w¨ahlen. Alternativ ist auch die Tastenkombination Ctrl+C“ m¨oglich. Um die Da”
”
tei dann in einem anderen Hamster-Projekt/ Ordner einzuf¨
ugen w¨ahlt man im Kontextmen¨
u
oder Men¨
u Edit“ den Eintrag Paste“ bzw. w¨ahlt alternativ die Tastenkombination Ctrl+V“.
”
”
”
Es ist auch m¨oglich die Dateien aus dem Workspace u
¨ber die oben genannten Mechanismen in
Verzeichnisse zu kopieren die nicht im Workspace liegen. Beispielsweise kann man per Drag
”
and Drop“ Dateien aus dem Workspace in Verzeichnisse im Explorer“(Windows) ziehen und
”
sie somit dorthin kopieren. Dabei entspricht das Drag and Drop“ Verhalten dem im jeweiligen
”
System zugrunde liegenden Regeln. Anders herum ist es nat¨
urlich auch m¨oglich, Dateien in
den Workspace zu kopieren. Gegebenenfalls muss dann der Navigator View“ aber mit F5“
”
”
aktualisiert werden.
Kopiert man Hamsterdateien in Unterordner so muss, wie beim Verschieben, die packageAnweisung angepasst oder neu hinzugef¨
ugt werden.
4.3.8 Drucken eines Hamster-Programms
Um ein Hamster-Programm oder eine Hamster-Klasse zu Drucken muss die zu druckende
Hamsterdatei ge¨offnet und der jeweilige Editor selektiert sein. Nun w¨ahlen Sie den in Abbildung 4.1 dargestellten zweiten Button von links, der ein Drucker-Symbol darstellt. Dieser ¨offnet das jeweils systemspezifische Drucker-Men¨
u mit dessen Hilfe Sie die Hamsterdatei
drucken k¨onnen. Alternativ k¨onnen Sie auch im Men¨
u File“ den Eintrag Print“ oder die
”
”
Tastenkombination Ctrl+p“ w¨ahlen um das systemspezifische Drucker-Men¨
u zu ¨offnen.
”
4.3.9 Schließen eines ge¨
offneten Hamster-Programms
Um ein Hamster-Programm oder eine Hamster-Klasse zu schließen, verweilen Sie mit der
Maus u
¨ber dem Tab des jeweiligen ge¨offneten Editors. Es erscheint auf der rechten Seite
des Tabs ein Kreuz, auf welches Sie mit der (linken) Maustaste dr¨
ucken, um den Editor zu
schließen. Alternativ k¨onnen Sie auch den Editor, den Sie schließen wollen selektieren in dessen
Kontextmen¨
u (sh. Abb. 4.15) oder im Men¨
u File“ den Eintrag Close“ w¨ahlen. Daneben
”
”
k¨onnen Sie auch die Tastenkombination Ctrl+W“ w¨ahlen um den selektierten Editor zu
”
schließen.
Ist der Editorinhalt des zu schließenden Editors noch nicht gespeichert, so erscheint der Sa”
ve Resource“-Dialog, welcher Sie zum Speichen auffordert. Sie haben nun die M¨oglichkeit
die Datei zu speichern (yes), nicht zu speichern (no) oder den Schließvorgang abzubrechen
(cancel).
Um alle ge¨offneten Editoren in der Editor-Area zu schießen k¨onnen Sie das Kontextmen¨
u des
34
4.3 Verwalten und Editieren von Hamster-Dateien
Abbildung 4.15: Schließen eines Editors
Tabs (rechte Maustaste) eines Editors aufrufen und den Eintrag Close All“ w¨ahlen. Alternativ
”
k¨onnen Sie auch den Editor selektieren und im Men¨
u File“ den Eintrag Close All“ bzw. die
”
”
Tastenkombination Ctrl+Shift+W“ w¨ahlen. Sind dabei Ressourcen noch nicht gespeichert,
”
so erscheint der oben beschriebene Save Resource“-Dialog.
”
Sie haben auch die M¨oglichkeit, alle bis auf den selektierten Editor zu schließen. Dazu m¨
ussen
Sie im Kontextmen¨
u des Tabs des Editors den Eintrag Close Others w¨ahlen“.
”
4.3.10 Editor-Funktionen
Der Hamster-Editor verf¨
ugt u
¨ber die verschiedensten Funktionen um Hamster-Programme
und Hamster-Klassen komfortabel zu bearbeiten. Diese werden im folgenden n¨aher erl¨autert:
Abbildung 4.16: Markierter Code
• Markieren von Code - Um Code zu markieren (sh. Abbildung 4.16) gibt es verschiedene M¨oglichkeiten: Sie k¨onnen zur Anfangsposition mit der Maus gehen, die Maustaste
gedr¨
uckt halten und zur Endposition gehen. Sie k¨onnen mit den Pfeiltasten der Tastatur zur Anfangsposition gehen und die Shift-Taste gedr¨
uckt halten und zur Endposition
gehen. Alternativ k¨onnen Sie, wenn Sie ein bestimmtes Wort markieren wollen auch ein
Doppelklick mit der (linken) Maustaste auf dieses Wort ausf¨
uhren.
Um den gesamten Code zu markieren sollten Sie das Tastenkombination Ctrl+A“ ver”
wenden, oder im Men¨
u “Edit“ den Eintrag Select All“ w¨ahlen.
”
• Code kopieren - Wenn Sie Code kopieren wollen, m¨
ussen Sie diesen zun¨achst markieu des Editors den
ren und dann im Men¨
u Edit“ (sh. Abb. 4.17) oder im Kontextmen¨
”
Eintrag Copy“ w¨ahlen. Alternativ k¨onnen Sie auch die Tastenkombination Ctrl+C“
”
”
w¨ahlen. Der Code befindet sich nun in der Zwischenablage und kann an beliebiger Stelle
eingef¨
ugt werden.
35
4.3 Verwalten und Editieren von Hamster-Dateien
Abbildung 4.17: Teile des Men¨
u Edit“
”
• Code ausschneiden - Um den Code auszuschneiden, m¨
ussen Sie ihn zun¨achst selektieren und dann im Men¨
u Edit“ oder im Kontextmen¨
u des Editors den Eintrag Cut“
”
”
w¨ahlen. Alternativ k¨onnen Sie auch ide Tastenkombination Ctrl+X“ w¨ahlen.
”
• Code l¨
oschen - Den Code l¨oschen Sie, indem Sie diesen markieren und die Taste Entf“
”
bzw. Del“ dr¨
ucken oder im Men¨
u Edit“ den Eintrag Delete“ w¨ahlen.
”
”
”
• Code einfu
ugen, indem Sie den
¨ gen - Code k¨onnen Sie aus der Zwischenablage einf¨
Curser mit der Maus oder der Tastatur an die Position bringen, wo der Code eingef¨
ugt
werden soll. W¨ahlen Sie nun im Men¨
u Edit“ oder im Kontextmen¨
u des Editors den
”
Eintrag Paste“. Alternativ k¨onnen Sie auch die Tastenkombination Ctrl+V“ w¨ahlen.
”
”
• Code-Aktion r¨
uckg¨angig machen - Um eine Code-Aktion r¨
uckg¨angig zu machen w¨ahlen
Sie im Men¨
u Edit“ oder im Kontextmen¨
u des Editors den Eintrag Undo (Typing)“
”
”
oder die Tastenkombination Ctrl+Z“.
”
Es wird nur eine gewisse Anzahl an Aktionen gespeichert. Um die Anzahl zu ver¨andern
muss man die Eclipse Einstellungen ¨andern.
• Code Aktion wieder ausfu
uhren, nach¨ hren - Um eine Code-Aktion wieder auszuf¨
dem Sie r¨
uckg¨angig gemacht wurde w¨ahlen Sie im Men¨
u Edit“ oder im Kontextmen¨
u
”
des Editors den Eintrag Redo (Typing)“ oder die Tastenkombination Ctrl+Y“.
”
”
• Code Finden oder Ersetzen - Selektieren Sie den Editor in dessen Inhalt Sie suchen
wollen. Um den Find or Replace“-Dialog zu ¨offnen w¨ahlen Sie im Men¨
u Edit“ den
”
”
Eintrag Find/Replace. . .“ oder w¨ahlen Sie die Tastenkombination Ctrl+F“. Weitere
”
”
Informationen erhalten Sie in der Eclipse Hilfe.
• Syntax Highlighting - Darunter versteht man das Hervorheben von Java-Schl¨
usselw¨ortern.
Dies sind reservierte Worte, die einen bestimmten Zweck im Java-Code haben. Sie werden im Hamster-Editor hervorgehoben.
• Code Assistenz - Der Hamster-Editor kann Sie beim Schreiben von Hamster-Programmen
durch seinen Code-Assistenten unterst¨
utzen. Dabei ist dieser abh¨angig von der Curserpoition und dem was Sie bereits geschrieben haben. Im folgenden werden einige Beispiele
gebracht um die Funktionsweise zu verdeutlichen:
36
4.3 Verwalten und Editieren von Hamster-Dateien
Abbildung 4.18: Code Assistent
1. Gehen Sie in die Methode void main(), gehen Sie in eine freie Zeile und rufen Sie
den Code-Assistenten durch die Tastenkombination Ctrl+Space“ auf (sh. Abbil”
dung 4.18). Es wird ihnen eine Liste angezeigt, wobei als erstes die lokalen Variablen, dann die globalen Variablen und schließlich die Methoden aufgef¨
uhrt werden.
Diese sind alle alphabetisch sortiert. Hinter den lokalen Variablen stehen die jeweiligen Datentypen und bei den globalen Variablen stehen zus¨atzlich die Klassen. Bei
Methoden steht zun¨achst der Methodenname, der R¨
uckgabewert und zu welcher
Klasse die Methode geh¨ort. F¨
ur Sie sind in dieser Liste nur die globalen Variablen
von ihrer eigenen Klasse (Hamster-Programm indem Sie sich befinden) und die
Methoden der Klasse Hamster, der Klasse Territorium und ihrer eigenen Klasse
interessant. W¨ahlen Sie die Variable oder Methode aus, die Sie verwenden wollen
und dr¨
ucken Sie die Taste Enter“ um ihre Auswahl zu u
¨bernehmen. Alternativ
”
geht auch Doppelklick mit der linken Maustaste auf das zu w¨ahlende Element in
der Liste.
2. Gehen Sie wieder in der Methode void main() in eine leere Zeile und rufen Sie
den Code-Assistenten auf. Durch Schreiben der von ihnen gew¨
unschten Variable/Methode schr¨ankt sich die Liste auf die bereits geschriebenen Buchtstaben
weiter ein.
3. Sie k¨onnen auch die Anfangsbuchstaben der Variable oder Methode, die Sie schreiben wollen, schreiben und dann den Code-Assistenten aufrufen. Ist die Methode/Variable bereits eindeutig, so wird diese vervollst¨andigt. Ist sie nicht eindeutig
so wird die bereits eingeschr¨ankte Liste angezeigt.
4. Wenn Sie bereits objektorientiert programmieren, so wird nach dem Schreiben eines Objektbezeichners eines bestimmten komplexen Datentyps Plus eines Punkts
der Code-Assistent ge¨offnet, welcher nun eine Liste mit den Variablen und Methoden dieses Objekts zeigt. Beispiel: es gibt ein Objekt vom Typ Hamster mit dem
Objektbezeichner paul. Wenn Sie nun paul. schreiben, so wird Ihnen die Liste der
m¨oglichen Variablen und Methoden angezeigt.
5. Der Code-Assist kann auch dazu verwendet werden, Templates zu verwenden. Da-
37
4.3 Verwalten und Editieren von Hamster-Dateien
Abbildung 4.19: Code Assistent: Templates
bei handelt es sich um h¨aufig verwendete Programmierkonstrukte, wie Schleifen
oder bedingte Verzweigungen. Dazu m¨
ussen Sie ein Teil des Konstrukts schreiben
und dann zweimal hintereinander die Tastenkombination Ctrl+Space“ w¨ahlen. Sie
”
bekommen eine Liste der passenden Templates angezeigt. (sh. Abbildung 4.19) Bsp:
Schreiben Sie: if und wenden Sie zweimal die Tastenkombination Ctrl+Space“
”
an. w¨ahlen Sie aus der Liste den Eintrag if“. Es wird nun der Rumpf einer if“”
”
Verzweigung generiert. Sie m¨
ussen nur noch die Bedingung f¨
ur Condition“ einset”
zen.
Es gibt unter anderem f¨
ur die folgenden Schl¨
usselw¨orter Templates: if, for, do,
while, switch, try
6. F¨
ur objektorientierte-Hamster-Programmier: Bisher wurde der Code-Assistent in
Methoden ausgef¨
uhrt. F¨
uhren Sie ihn direkt im Klassenrumpf aus, so ¨andert sich
die Liste, denn Sie k¨onnen nun zum einen Getter- und Setter-Methoden f¨
ur globale
Variablen generieren lassen und Sie k¨onnen aus der Liste alle Methoden ausw¨ahlen
die geerbt wurden und sich den Code zum u
¨berschreiben dieser Methoden generieren lassen.
Eine andere M¨oglichkeit sich Getter- und Setter-Methoden zu gloablen Variablen
zu erzeugen und geerbte Methoden zu u
¨berschreiben besteht darin, dass man in
dem Kontextmen¨
u des Hamster-Editors den Eintrag Source“ (Alt+Shift+S) w¨ahlt
”
und dort die entsprechenden Eintr¨age w¨ahlt.
• Hervorheben von gleichen Bezeichnern - Um gleiche Bezeichner im Code zu identifizieren reicht es den Bezeichner mit der linken Maustaste zu selektieren. Es werden
alle anderen gleichen Bezeichner hervorgehoben (sh. Abb. 4.20).
¨
• Uberpr
u
¨ fung des Codes auf syntaktische Fehler zur Laufzeit - Der HamsterEditor ist in der Lage ihren Code w¨ahrend Sie ihn eingeben auf syntaktische Fehler hin
zu u
ufen und bei Fehlern Ihnen dies in Form von rot unterstrichelten Codeteilen
¨berpr¨
und Fehlermarkern am linken Rand des Editors mitzuteilen, ohne explizit den Code
kompilieren zu m¨
ussen (sh. Abbildung 4.21). In den Problems View“ werden die Feh”
ler jedoch erst u
¨bernommen, wenn die Datei explizit gespeichert und somit kompiliert
wurde.
38
4.3 Verwalten und Editieren von Hamster-Dateien
Abbildung 4.20: Hervorgehobener Code
Abbildung 4.21: Syntaktische Fehler¨
uberpr¨
ufung zur Laufzeit
• Finden von Referenzen und Deklarationen - Der Hamster-Editor ist in der Lage Referenzen eines Methodenaufrufs oder eines Objektes innerhalb eines Projekts oder des
Workspaces zu finden. Beispielsweise kann man linksUm() im Hamster-Editor selektieren und dann in dessen Kontextmen¨
u den Eintrag “References→Projekt“ w¨ahlen um
alle Hamster-Programme im Hamster-Projekt zu finden, die diesen Hamster-Befehl benutzen.
Das Finden von Deklarationen funktioniert genauso, nur das die Klasse und die Zeile
gesucht wird, in der beispielsweise eine Methode oder ein Objekt definiert wurden.
Zust¨andig daf¨
ur ist der Eintrag Declarations“ im Kontextmen¨
u des Hamster-Editors
”
• Anzeigen von Javadoc-Kommentaren - Verf¨
ugt eine Methode u
¨ber einen JavadocKommentar in der Deklaration der Methode, so wird dieser als Tooltip angezeigt, wenn
man mit der Maus u
¨ber einem Methodenaufruf dieser Methode verweilt.
• Zur Deklaration springen - Um zur Deklaration eines Objektes oder einer Methode
zu springen kann man die Ctrl“-Taste gedr¨
uckt halten und mit der linken Maustaste
”
auf das gew¨
unschte Objekt oder Methodenaufruf klicken.
• Weitere Funktionen - Der Hamster-Editor verf¨
ugt noch u
¨ber eine Reihe weiterer
Funktionen, die beim Programmieren hilfreich sein k¨onnen. Diese werden in der Eclipse
Hilfe im Rahmen des Java Editors n¨aher erl¨autert.
39
4.4 Verwalten und Editieren von Hamster-Territorien
4.4 Verwalten und Editieren von Hamster-Territorien
Um die Grundlagen von Hamster-Territorien und des Territorium-Editors zu verstehen, ist es
hilfreich, dass Sie den Abschnitt 4.1.4 durchlesen. Dieser erl¨autert unter anderem, dass nur
ein Territorium gleichzeitig ge¨offnet sein kann und was es mit dem Standard-Territorium auf
sich hat.
4.4.1 Ver¨
andern der Gr¨
oße des Hamster-Territoriums
Abbildung 4.22: Hamster Terrain Wizard
Will man die Gr¨oße des Hamster-Territoriums ¨andern, so wird man um das erstellen eines
neuen Territorium nicht herumkommen, denn es gibt im Hamster-Simulator-Plugin nicht die
M¨oglichkeit die Gr¨oße von bereits bestehenden Hamster-Territorien zu ¨andern. Um ein neues
Territorium einer bestimmten Gr¨oße zu erstellen muss man den Hamster-Territorium-Wizard
¨offnen. Dies erfolgt analog zum ¨offnen des Hamster Projekt Wizards“ und des Hamster File
”
”
Wizards“ und kann im Abschnitt 4.2.1 nachgelesen werden.
In der Abbildung 4.22 ist der Hamster Terrain Wizard“ dargestellt, welcher f¨
ur die Erzeugung
”
neuer Territorien verantwortlich ist. In diesem m¨
ussen Sie als Benutzer das Hamster-Projekt
und gegebenenfalls den Unterordner angeben, in dem das Hamster-Territorium erstellt werden soll. Dazu k¨onnen Sie den Browse“-Button w¨ahlen, welcher den Folder-Selection“-Dialog
”
”
unschte Hamster-Projekt und Verzeichnis w¨ahlen k¨onnen. Als
¨offnet, in welchem Sie das gew¨
n¨achstes m¨
ussen Sie im Hamster Terrain Wizard“ den Namen des Territoriums angeben, wo”
bei das angegebene Territorium im Hamster-Projekt bzw. in dem jeweiligen Unterverzeichnis
40
4.4 Verwalten und Editieren von Hamster-Territorien
noch nicht existieren darf. Als letztes m¨
ussen Sie die Gr¨oße des neuen Territoriums angeben
und den Wizard mit dr¨
ucken des Finish“-Buttons beenden. Es wird nun automatisch ein
”
neues Territorium im gew¨ahlten Hamster-Projekt bzw. dessen Unterverzeichnis erzeugt und
im Territorium-Editor ge¨offnet. Sie k¨onnen dieses nun nach ihren W¨
unschen bearbeiten.
4.4.2 Platzieren des Standard-Hamsters im Hamster-Territorium
Abbildung 4.23: Territorium Actionset
Um den Standard-Hamster auf einer beliebigen Kachel im Territorium zu platzieren, w¨ahlen
Sie bitte im Actionset des Territorium-Editors, in der globalen Toolbar, den Hamster“-Button
”
(f¨
unfte von links in Abb. 4.23). Sie haben nun das Hamster-Werkzeug ausgew¨ahlt und k¨onnen
nun bestimmen, auf welcher Kachel der Hamster platziert werden soll, indem Sie mit der
linken Maustaste auf die Kachel klicken. Dabei kann der Standard-Hamster nicht auf Kacheln
platziert werden, die bereits durch Mauern versperrt sind. Das Hamster-Werkzeug bleibt
solange ausgew¨ahlt, bis Sie nochmals den Hamster-Button dr¨
ucken, um es zu deaktivieren
oder bis ein anderes Werkzeug ausgew¨ahlt wird. Mit dem Hamster-Werkzeug kann nur der
Standard-Hamster auf Kacheln platziert werden. Alle anderen Hamster werden explizit im
Hamster-Programm erzeugt.
4.4.3 Setzen der Blickrichtung des Standard-Hamsters
Die Blickrichtung des Standard-Hamsters k¨onnen Sie mit dem 90◦ nach links drehen“-Button
”
(sechster Button von rechts in Hamster Actionset - Abb. 4.23) ver¨andern. Wenn Sie diesen
Button dr¨
ucken wird der Hamster um 90◦ nach links gedreht und seine Blickrichtung ¨andert
sich beispielsweise von Nord“ nach West“. Bei diesem Button handelt es sich nicht um ein
”
”
Werkzeug, somit bleibt das vorher aktive Werkzeug weiterhin aktiv!
4.4.4 Abfragen und Festlegen der K¨
orneranzahl im Maul des Standard-Hamsters
Abbildung 4.24: K¨orner im Maul des Standard-Hamsters setzen
41
4.4 Verwalten und Editieren von Hamster-Territorien
Die K¨orneranzahl die der Standard-Hamster im Maul hat k¨onnen Sie abfragen und ¨andern,
indem Sie den f¨
unften Button von rechts (Hamster mit K¨ornern) in Abbildung 4.23 bet¨atigen.
Es ¨offnet sich der in Abbildung 4.24 gezeigt Dialog, der zum einen die K¨orneranzahl zeigt,
die sich aktuell im Maul des Standard-Hamsters befindet und in dem Sie zum anderen eine
neue Anzahl an K¨ornern setzen k¨onnen.
4.4.5 Platzieren von K¨
ornern auf Kacheln des Hamster-Territorium
Abbildung 4.25: Anzahl der K¨orner pro Kachel setzen
Wenn Sie K¨orner auf Kacheln verteilen m¨ochten, m¨
ussen Sie das Korn-Werkzeug aktivieren,
indem Sie im Territorium-Actionset (sh. Abb 4.23) den dritten Button von links w¨ahlen. Zum
deaktivieren des Korn-Werkzeugs m¨
ussen Sie den Button erneut w¨ahlen oder ein anderes
Werkzeug w¨ahlen. Haben Sie das Korn-Werkzeug aktiviert, so k¨onnen Sie durch klicken der
Maustaste, auf der entsprechenden Kachel, ein oder mehrere K¨orner setzen. Dazu erscheint
nachdem Sie die Maustaste losgelassen haben der in Abbildung 4.25 gezeigte Dialog, welcher
die Eingabe einer Anzahl verlangt. Diese muss aus positiven Zahlen bestehen, wobei maximal
12 K¨orner pro Kachel angezeigt werden. Es k¨onnen aber durchaus mehr K¨orner auf einer
Kachel platziert werden.
Wenn Sie auf mehreren Kacheln gleichzeitig dieselbe Anzahl an K¨ornern platzieren wollen,
so m¨
ussen Sie das Korn-Werkzeug selektieren und auf die Start-Kachel mit der Maustaste
klicken, die Maustaste gedr¨
uckt halten und zu der Ziel-Kachel mit der Maus gehen. Wenn Sie
dort die Maustaste loslassen erscheint der oben besprochene Dialog, welcher die Anzahl der
K¨orner pro Kachel erfragt. Diese Anzahl wird auf allen u
¨berdeckten Kacheln gesetzt und im
Territorium-Editor entsprechend angezeigt.
Sie k¨onnen K¨orner nicht auf Kacheln platzieren, die durch Mauern versperrt sind.
4.4.6 Platzieren von Mauern auf Kacheln des Hamster-Territorium
Um Mauern zu Platzieren gehen Sie analog zum Setzen von K¨ornern vor. Aktivieren Sie
das Mauer-Werkzeug in dem Territorium Actionset (sh. sechster Button von links in Abb.
4.23). Klicken Sie mit der Maustaste auf die Kachel, auf der Sie eine Mauer setzen wollen
oder halten Sie die Maustaste gedr¨
uckt und gehen Sie von der Start- zur Ziel-Kachel, falls
Sie mehrere Mauern gleichzeitig setzen wollen, wobei auf allen u
¨berdeckten Felder eine Mauer
42
4.4 Verwalten und Editieren von Hamster-Territorien
gesetzt wird. Mauern k¨onnen auf allen Kacheln gesetzt werden, die nicht durch den StandardHamster belegt sind.
4.4.7 L¨
oschen von Kacheln des Hamster-Territorium
Abbildung 4.26: gleichzeitiges L¨oschen des Inhalts von mehreren Kacheln
Zum L¨oschen des Inhalts einer Kachel aktivieren Sie das L¨osch-Werkzeug (vierter Button von
links im Territorium Actionset (sh. Abb. 4.23)) und klicken Sie auf die Kachel dessen Inhalt
Sie l¨oschen wollen. Sie k¨onnen auch die Maustaste gedr¨
uckt halten um den Inhalt mehrerer
Kacheln gleichzeitig zu l¨oschen (sh. Abb. 4.26).
4.4.8 Abspeichern eines Hamster-Territoriums
Um das Hamster-Territorium zu Speichern m¨
ussen Sie den Territorium-Editor selektieren und
dann im Men¨
u File“ den Eintrag Save As“ w¨ahlen. Es erscheint der in Abbildung 4.27 gezeig”
”
te Save As“-Dialog, in welchem Sie zun¨achst das Hamster-Projekt oder einen Unterornder
”
in einem Hamster-Projekt w¨ahlen m¨
ussen. Als zweites m¨
ussen Sie einen Namen f¨
ur ihr Territorium angeben unter dem Sie es speichern wollen. Dazu ersetzen Sie den Standard-Namen
defaultTerritorium.ter“ durch einen von ihn gew¨ahlten Namen, wobei es wichtig ist, dass Sie
”
die Dateiendung *.ter“ mit hin schreiben.
”
Hamster-Territorien k¨onnen nur explizit auf die oben beschriebenen Weise gespeichert werden.
Wird ein Territorium ge¨offnet oder neu erzeugt so wird das bisher im Territorium-Editor
bearbeitete Territorium ohne Nachfrage ersetzt. Ebenso wird das neue Territorium auch sofort
zum Standard-Territorium, da es das letzte Territorium ist, das bearbeitet wurde.
Abgespeichert werden die Gr¨oße des Territoriums, Standort und Blickrichtung des StandardHamsters, sowie Informationen u
¨ber die Einzelnen Kacheln, d.h. ob Sie mit Mauern oder
K¨orner belegt sind und wenn ja mit wie vielen.
43
4.4 Verwalten und Editieren von Hamster-Territorien
Abbildung 4.27: Speichern eines Hamster Territoriums
4.4.9 Wiederherstellen eines abgespeicherten Hamster-Territoriums
Abgespeicherte Hamster-Territorien werden wie Hamster-Programme und Hamster-Klassen
auch im Navigator View“ im jeweiligen Hamster-Projekt dargestellt und k¨onnen durch Dop”
pelklick mit der linken Maustaste oder durch den Eintrag open“ im Kontextmen¨
u der Ter”
ritoriumdatei ge¨offnet werden. Es ist auch m¨oglich die Territoriumdatei mit einem anderen
Editor als dem Territorium-Editor zu ¨offnen, da es sich dabei um eine reine Text-Datei handelt. Allerdings wird hier davon abgeraten, da zum Bearbeiten dieser Datei genaue Kenntnisse
u
ussen. Diese werden hier jedoch nicht n¨aher erl¨autert.
¨ber dessen Struktur vorhanden seien m¨
¨
Andert
man die Territoriumdateien trotzdem mit einem anderen Editor so kann es bei fehlerhafter Bearbeitung vorkommen, dass der Territorium-Editor die Datei nicht mehr o¨ffnen
kann.
4.4.10 Umbenennen eines abgespeicherten Hamster-Territoriums
Um ein Hamster-Territorium umzubenennen, kann man im Kontextmen¨
u der Territoriumdatei im Navigator View“ den Eintrag Rename“ w¨ahlen. Alternativ ist auch das selektieren
”
”
der Territoriumdatei m¨oglich und dann das w¨ahlen des Eintrags Rename“ im Men¨
u File“
”
”
oder das w¨ahlen der Taste F2“. Nun geben Sie den neuen Namen mit Dateiendung ein und
”
best¨atigen dies mit der Enter“-Taste.
”
44
4.6 Ausf¨
uhren von Hamster-Programmen
4.4.11 L¨
oschen und Verschieben und Kopieren von Hamster-Territorien
Das L¨oschen, Verschieben und Kopieren von Hamster-Territorien bzw. Territoriendateien
funktioniert analog zu dem L¨oschen, Verschieben und Kopieren von Hamster-Programmen
und Hamster-Klassen bzw. deren Hamsterdateien. Das L¨oschen ist in Abschnitt 4.3.4 beschrieben, das Verschieben in Abschnitt 4.3.6 und das Kopieren in Abschnitt 4.3.7.
4.4.12 Ver¨
andern der Gr¨
oßendarstellung des Hamster-Territoriums
Die Gr¨oßendarstellung des Hamster-Territoriums k¨onnen Sie mit den Zoom-hinein“- und
”
Zoom-hinaus“-Button (erster und zweiter Button im der Territorium Actionset (sh. Abb.
”
4.23)) ver¨andern. Dabei wird die Darstellung des Territoriums durch bet¨atigen des Zoom”
hinein“-Button vergr¨oßert und durch Bet¨atigen des Zoom-hinaus“-Buttons verkleinert.
”
4.5 Kompilieren von Hamster-Programmen
Hamster-Programme und auch Hamster-Klassen m¨
ussen in der Regel nicht explizit kompiliert
werden. Die Kompilierung einer Hamsterdatei erfolgt bei der Speicherung dieser Dateien durch
den Hamster-Editor und es werden die f¨
ur die Simulation notwendigen ausf¨
uhrbaren ClassDateien angelegt. Sollte es syntaktische Fehler im Code geben so werden diese nach dem
Speichern der entsprechenden Datei im Problems View“ aufgef¨
uhrt und die zugeh¨origen
”
Fehler-Marker am Rand des Hamster-Editors angezeigt.
Ist diese implizite Kompilierugsmethode im Eclipse SDK“ ausgeschaltet (kein H¨akchen beim
”
Eintrag Build Automatically“ im Men¨
u Project“), so k¨onnen Sie das ganze Hamster-Projekt
”
”
kompilieren, indem Sie den Hamster-Editor oder das Hamster-Projekt selektieren und im
Men¨
u Project“ den Eintrag Build Projekt“ w¨ahlen. Eine zweite M¨oglichkeit gezielt die
”
”
Hamsterdatei und nicht das ganze Projekt zu kompilieren besteht darin, im Kontextmen¨
u
der Hamsterdatei den Eintrag Hamsterdatei→ Kompilieren“ zu w¨ahlen (sh. auch Abschnitt
”
4.8.4), wobei darauf zu achten ist, dass die Hamsterdatei gespeichert ist!
4.6 Ausf¨
uhren von Hamster-Programmen
Im Hamster-Simulator-Plugin sind die imperativen und die objektorientierten Hamster-Programme
ausf¨
uhrbar. Anders als in fr¨
uheren Versionen des Hamster Simulators“, muss zu jedem
”
Hamster-Programm das gestartet werden soll eine so genannte Hamster-Launchconfiguration“”
Datei angelegt werden, welche unter anderem den Namen der Hamsterdatei und das zugeh¨orige Hamster-Projekt speichert. Diese Dateien enden mit der Dateiendung *.launch“ und
”
werden in der Regel in einem f¨
ur Sie unzug¨anglichen Teil des Workspaces aufbewahrt. Allerdings k¨onnen Sie dies auch beeinflussen, was im folgenden noch erkl¨art wird. Um eine solche
Hamster-Launchconfiguration“-Datei zu erzeugen m¨
ussen Sie das Fenster Create, manage,
”
”
and run configurations“ ¨offnen. Dazu haben Sie folgende M¨oglichkeiten:
• Sie w¨ahlen im Men¨
u Run“ den Eintrag Run¨oder Debug“’.
”
”
”
45
4.6 Ausf¨
uhren von Hamster-Programmen
Abbildung 4.28: Create, manage, and run configurations“-Fenster
”
• Sie w¨ahlen im Drop-Down Men¨
u des Start- oder Debug-Buttons (Launch-Actionset vgl.
Abschnitt 4.1.1) den Eintrag Run“ bzw. Debug“
”
”
• Sie w¨ahlen im Kontextmen¨
u eines Hamster-Programms den Eintrag Run As→ Run“
”
bzw. Debug As→ Debug“
”
• Sie w¨ahlen im Kontextmen¨
u des Hamster-Editors den Eintrag Run As→ Run“ bzw.
”
Debug As→ Debug“
”
Es erscheint das in Abbildung 4.28 dargestellte Create, manage, and run configurations“”
Fenster, welches alle Lauchconfigurations verwaltet und diese startet. Auf der linken Seite
sehen Sie die verf¨
ugbaren Start-Typen die ihr Eclipse SDK“ unterst¨
utzt, wobei Hamster”
”
programme“ einer dieser ist. Wenn Sie mit der linken Maustaste Hamsterprogramme“ se”
¨
lektieren, so bekommen Sie auf der rechten Seite eine Ubersicht
der verf¨
ugbaren Optionen
(ist unterschiedlich in den Eclipse-Versionen; hier f¨
ur 3.2). Beispielsweise k¨onnen Sie dort
beeinflussen, in welcher Perspektive die Hamster-Programme gestartet werden sollen.
Um eine neue Hamster-Launchconfiguration anzulegen gehen Sie ins Kontextmen¨
u des Eintrags Hamsterprogramme“ und w¨ahlen Sie den Eintrag new“ aus. Die rechte Seite ver¨andert
”
”
sich nun und zeigt den Hamster Main Tab“ (sh. Abb. 4.29), in welchem Sie den Namen
”
der Hamster-Launchconfiguration angeben m¨
ussen das Hamster-Projekt und den Namen des
Hamster-Programms. Haben Sie eine Hamster-Programm oder einen Hamster-Editor selektiert bevor Sie das Create, manage, and run configurations“-Fenster ge¨offnet haben, so werden
”
46
4.6 Ausf¨
uhren von Hamster-Programmen
Abbildung 4.29: Create, manage, and run configurations“-Fenster
”
automatisch die Daten dieses Hamster-Programms u
ussen Sie das Hamster¨bernommen. M¨
Projekt oder das Hamster-Programm explizit angeben, so k¨onnen Sie das u
¨ber die Dialoge
machen die nach bet¨atigen der Browse“-Buttons erscheinen oder manuell hinschreiben. Dabei
”
ist darauf zu achten, wenn Hamster-Programme in Unterordnern liegen auch diese im Feld
Hamsterprogramm“ in der Form unterordner.Hamsterprogramm“angegeben werden m¨
ussen.
”
”
Anschließend k¨onnen Sie das Create, manage, and run configurations“-Fenster Verlassen, in”
dem Sie auf den Close“-Button klicken oder auf den Run“- bzw. Debug-“Button um das
”
”
”
Fenster zu schließen und Hamster-Programm im jeweiligen Modus zu starten.
Vorhandene Hamster-Launchconfigurations k¨onnen im Create, manage, and run configurations“”
Fenster durch selektieren ge¨offnet und ver¨andert werden, wobei mit dem Apply“-Button die
”
¨
Anderungen
u
onnen.
¨bernommen werden k¨
Im Common Tab“, der neben dem Hamster Main Tab“ verf¨
ugbar ist k¨onnen Sie zus¨atzliche
”
”
Einstellungen f¨
ur die Launchconfiguration vorgenommen werden. Dazu geh¨ort zum einen die
Angabe in welchem Projekt die *.launch Datei gespeichert werden soll, wenn diese verf¨
ugbar
gemacht werden soll. Zum anderen, ob die Hamster-Launchconfiguration im Favoriten Men¨
u aufgenommen werden soll und des weiteren, ob der Start im Hintergrund ablaufen soll.
Daneben k¨onnen Sie auch noch weitere Einstellungen vornehmen, die jedoch von geringem
Interesse f¨
ur Sie sein d¨
urften.
Das Hamster-Simulator-Plugin bietet Ihnen aber auch einen einfacheren Weg ihr HamsterProgramm zu starten. Dies geschieht u
¨ber so genannte Hamster-Launchconfiguration-Shortcuts,
47
4.6 Ausf¨
uhren von Hamster-Programmen
welche automatisch bereits bestehende Hamster-Launchconfigurations aufrufen oder sofern
es zu ihrem Hamster-Programm noch keine Hamster-Launchconfiguration gibt automatisch
neue erzeugen und diese f¨
ur Sie starten. Auch hier gibt es mehrere M¨oglichkeiten ein HamsterProgramm zu starten:
Abbildung 4.30: Run As - Men¨
u
• Sie k¨onnen den Hamster-Editor, in dem Sie ihr Hamster-Programm bearbeiten, selektieren und in dessen Kontextmen¨
u den Eintrag Run As→ Hamsterprogramm“ bzw.
”
Debug As→ Hamsterprogramm“ (sh. Abb. 4.30) w¨ahlen.
”
• Sie k¨onnen im Navigator View“ das die Hamsterdatei mit dem Hamster-Programm
”
selektieren und in dessen Kontextmen¨
u den Eintrag Run As→ Hamsterprogramm“
”
bzw. Debug As→ Hamsterprogramm“ w¨ahlen. Dabei muss das Hamster-Programm
”
nicht im Hamster-Editor ge¨offnet sein.
• Sie k¨onnen aber auch die Hamsterdatei oder den Hamster-Editor selektieren und im
Men¨
u Run“ den Eintrag Run As→ Hamsterprogramm“ bzw. Debug As→ Hamster”
”
”
programm“ w¨ahlen.
• Haben Sie ein Hamster-Programm k¨
urzlich gestartet, so existiert eine Hamster-Launchconfiguration,
welche in der Run History“ bzw. Debug History“ aufgef¨
uhrt wird. Diese erreichen Sie
”
”
¨
Uber das Men¨
u Run“ und den Eintrag Run History“ bzw. Debug History“ oder u
¨ber
”
”
”
die Drop Down“-Men¨
us der Start- und Stopp-Buttons im Launch-Actionset.
”
Programme die im run“-Modus gestartet werden k¨onnen u
¨ber den Stopp“-Button angehalten
”
”
werden. Das Pausieren und Fortsetzen der Ausf¨
uhrung von Hamster-Programmen ist nur
im debug“-Modus m¨oglich. W¨ahrend der Ausf¨
uhrung sind alle Buttons des Territorium”
Actionsets nutzbar!
Aus programmiertechnischen Gr¨
unden ist es im Hamster-Simulator-Plugin notwendig die
Hamster-Dateien f¨
ur die Zeit der Ausf¨
uhrung zu erweitern. Dazu wird bei imperativen HamsterProgrammen ein so genannter Konstruktor sowie eine zus¨atzliche statische main-Methode mit
dem Parameter String[] args hinzugef¨
ugt. Bei objektorientierten Hamster-Programmen
wird nur die die statische main-Methode hinzugef¨
ugt. Diese Erweiterungen verschwinden nach
der Ausf¨
uhrung wieder und d¨
urfen bei der Ausf¨
uhrung besonders im debug“-Modus nicht
”
ver¨andert werden.
48
4.7 Debuggen von Hamster-Programmen
4.7 Debuggen von Hamster-Programmen
Wie ein Hamster-Programm im debug“-Modus ausgef¨
uhrt wird, wurde im vorherigen Ab”
schnitt besprochen. Die Ausf¨
uhrung eines Hamster-Programms im debug“-Modus dient prin”
zipiell dem aufsp¨
uren von syntaktischen Fehlern im Programm-Code. Daher ist es auch m¨oglich die Ausf¨
uhrung an einer beliebigen Stelle anzuhalten , fortzusetzen und gegebenenfalls
den Programmcode Zeile f¨
ur Zeile auszuf¨
uhren und bei Bedarf abzu¨andern ohne das Programm neu starten zu m¨
ussen. Dabei bedient sich das Hamster-Simulator-Plugin der bereits
bestehenden Konzepte des Eclipse SDK“ so das beispielsweise die Hot Swap“-Funktionalit¨
at
”
”
oder das Konzept der Breakpoints“ verwendet werden kann. Ebenso wird zum debuggen von
”
Hamster-Programmen der Debug-View“ (vgl. Abschnitt 4.1.8), der Variables View“, der
”
”
Breakpoints View“ und der Expressions View“ verwendet.
”
”
Grunds¨atzlich funktioniert der Start eines Hamster-Programms so, dass eine neue Java Vir”
tual Machine“ (Client-VM) gestartet wird, in das Hamster-Programm abl¨auft und welche mit
dem Hamster-Simulator-Plugin, das in der Java Virtual Machine“ (Server-VM) des Eclipse
”
”
SDK“ l¨auft, u
¨ber die Standardeingabe und Standardausgabe kommuniziert. Dabei wird in der
Client-VM im debug“-Modus ein so genanntes Debug Target“ erzeugt, welches wiederum
”
”
mehrere Threads“ beinhaltet, die f¨
ur die Umsetzung des Hamster-Programms sorgen. Dabei
”
f¨
uhrt der main-Thread“ das eigentliche Hamster-Programm aus.
”
Abbildung 4.31: Fortsetzen-, Pause- und Stopp-Button
Ist die Ausf¨
uhrung des Hamster-Programms im debug“-Modus gestartet, so werden die in Ab”
bildung 4.31 dargestellten Pause und Fortsetzen Buttons zus¨atzlich aktiviert, um das HamsterProgramm zu Pausieren und Fortzusetzen. Diese Buttons werden sowohl in der globalen Toolbar als auch in der lokalen Toolbar des Debug Views“ dargestellt und sind abh¨angig von der
”
jeweiligen Selektion im Debug View“. Hat man im Debug View“ nichts selektiert und be”
”
t¨atigt w¨ahrend der Programm-Ausf¨
uhrung den Pause-Button der globalen Toolbar, so ist
das Debug Target“ implizit selektiert und wird veranlasst zu Pausieren, was ebenfalls dazu
”
f¨
uhrt das die im Debug Target“ enthaltenden Thread angehalten werden und somit auch der
”
main-Thread“. Durch bet¨atigen des Fortsetzen-Buttons wird das Debug Target“ und dessen
”
”
Threads“ fortgesetzt. Es ist auch m¨
oglich einzelne Threads“ zu Pausieren, was f¨
ur parallele
”
”
Hamster-Programme wichtig sein d¨
urfte (dritter Band). Dazu muss man im Debug View“
”
den Thread“ selektieren, welchen man pausieren will und einen der Pause-Buttons bet¨atigen.
”
Um imperative oder objektorientiert Hamster-Programme zu debuggen m¨
ussen Sie das De”
bug Target“ oder den main-Thread“ pausieren. Selektieren Sie nun, wie in Abbildung 4.32
”
zu sehen, die letzte Methode ihres Hamster-Programms (in der Regel unterhalb von Methoden der Klasse Hamster“ oder Territorium“) im Callstack“ (vgl. Abschnitt 4.1.8) und es
”
”
”
erscheint der Hamster-Editor mit der selektierten Methode. Sie haben nun die M¨oglichkeit
die Programmausf¨
uhrung schrittweise fortzuf¨
uhren, indem Sie die Pfeiltasten Schritt hinein“
”
(Step Into), Schritt hin¨
uber“ (Step Over) und Schritt hinaus“ (Step Return) w¨ahlen. Dabei
”
”
k¨onnen Sie mit Schritt hinein“ in den einen Methodenaufruf hineinspringen, mit Schritt hin”
”
u
uhren den Methodenaufruf aus, ohne selbst
¨ber“ bleiben Sie in der aktuellen Methode und f¨
in die Methode hinein zu springen und mit Schritt hinaus“ verlassen Sie die aktuelle Methode
”
49
4.7 Debuggen von Hamster-Programmen
Abbildung 4.32: Debug View und Hamster-Editor
und kehren zu der Methode zur¨
uck, welche die so eben verlassene Methode aufgerufen hat.
Das Debuggen wirkt sich auch auf die Simulation im Territorium-Editor aus denn diese ist
ebenso pausiert bzw. wird schrittweise ausgef¨
uhrt.
Der Variables View (vgl. 4.1.9) zeigt ihnen w¨ahrend des Debuggens, je nach selektierter Methode, die lokalen und globalen Variablen der Klasse zu der die Methode geh¨ort. Ein weiteres
n¨
utzliches Werkzeug beim Debuggen stellt der Expressions View“ dar. Er kann u
¨ber das
”
Men¨
u Window“ und den Eintrag “Show View → Other → Debug → Expressions“ ge¨offnet
”
werden. In dessen Kontextmen¨
u kann man mit dem Eintrag Add Watch Expression“ einen
”
neuen Ausdruck hinzuf¨
ugen, der ausgewertet wird und ein Ergebnis liefert, ohne das eigentliche Hamster-Programm zu beeinflussen. Zum Beispiel kann man als Ausdruck eine Variable
festlegen und es wird einem, wie im Variables View“ deren Belegung angezeigt oder man kann
”
auch einen Ausdruck der Form variable==variable2 && variable2!=variable3, welcher
dann zu true oder false ausgewertet wird. Dabei muss die Programmausf¨
uhrung hinter der
Deklaration der Variablen pausiert worden sein. Ein Beispiel des Expression Views“ ist in
”
der Abbildung 4.33 dargestellt. Es zeigt als erstes den R¨
uckgabewert des Aufrufs einer statischen Methode der Klasse Territorium, danach den Wert einer lokalen Variablen und danach
den R¨
uckgabewert der Methode vornFrei(), wobei paul“ ein objektorientierter Hamster ist.
”
Schließlich wird der R¨
uckgabewert der statischen Methode mit der lokalen Variablen verglichen und das Ergebnis ist false. Weitere Informationen zum Expressions-View werden in der
Eclipse Hilfe gegeben.
Das Hamster-Simulator-Plugin unterst¨
utzt das Konzept der Breakpoints“. Dabei handelt es
”
sich um Marker die am linken Rand des Hamster-Editors gesetzt werden k¨onnen und die
Ausf¨
uhrung des Hamster-Programms im debug“-Modus an genau der markierten Stelle pau”
sieren k¨onnen. Um einen Breakpoint im Hamster-Programm zu setzen, m¨
ussen Sie, wie in
Abbildung 4.34 gezeigt, das Kontextmen¨
u der Markerleiste aufrufen, wobei sie dies genau
in der Zeile tun m¨
ussen, in der Sie den Breakpoint setzen wollen. W¨ahlen Sie den Eintrag
50
4.7 Debuggen von Hamster-Programmen
Abbildung 4.33: Expressions View w¨ahrend der Ausf¨
uhrung eines Hamster-Programms
Toggle Breakpoint“ um einen Breakpoint in der Zeile zu setzen. Es erscheint das Symbol
”
eines blauen Kreises links von der Zeilennummer, welches angibt, dass der Breakpoint aktiv
ist. Um einen Breakpoint zu l¨oschen, ¨offnen Sie nochmals das Kontextmen¨
u und w¨ahlen den
Eintrag Toggle Breakpoint“. Mit dem Eintrag Disable Breakpoint“ k¨onnen Sie den Break”
”
point deaktivieren und es erscheint dann das Symbol eines weißen Kreises. Wenn Sie nun das
Hamster-Programm im debug“- Modus ausf¨
uhren werden Sie feststellen, dass die Ausf¨
uh”
rung in der Zeile des Breakpoints pausiert wird und Sie nun die Ausf¨
uhrung zeilenweise oder
komplett fortsetzen k¨onnen. In der Hamster-Debug-Perspektive wird der Breakpoints View“
”
(oben rechts) angezeigt, welcher Aufschluss u
¨ber alle gesetzten, aktivierten und deaktivierten
Breakpoints gibt. Diese k¨onnen hier gel¨oscht, deaktiviert und aktiviert werden und Sie k¨onnen
zu dem Breakpoint springen. Weitere Informationen finden Sie in der Eclipse Hilfe
¨
Des Weiteren wird das Konzept der Code Anderung
w¨ahrend des Ausf¨
uhrens im debug“”
Modus ( Hot Swap“) vom Hamster-Simulator-Plugin unterst¨
utzt. Dazu k¨onnen Sie im pausier”
ten Hamster-Programm den Code ¨andern und m¨
ussen anschließend das Programm speichern
(kompilieren). Wird f¨
ur die Ver¨anderung Hot Swap“ unterst¨
utzt, so beginnt die Methoden”
ausf¨
uhrung der Methode, in der Sie sich befinden, von vorne. Wird f¨
ur die Ver¨anderung kein
uhHot Swap“ unterst¨
utzt, so fragt Sie der in Abbildung 4.35 gezeigte Dialog, ob Sie die Ausf¨
”
rung des Hamster-Programms fortsetzen wollen, abbrechen wollen oder neu starten wollen.
Es wird empfohlen das Programm neu zu starten.
51
4.8 sonstige Funktionen des Hamster-Simulator-Pugins
Abbildung 4.34: Deaktivieren eines Breakpoints
4.8 sonstige Funktionen des Hamster-Simulator-Pugins
4.8.1 Umwandeln von Hamsterdateien ins *.ham“-Format
”
Da das Hamster-Simulator-Plugin andere Arten von Hamsterdateien als der Hamster Si”
mulator“ in der Version 2.2 verwendet und trotzdem die Abw¨artskompatibilit¨at der HamsterProgramme gew¨ahrleistet werden soll, gibt es die M¨oglichkeit die Hamsterdateien des HamsterSimulator-Plugins in das *.ham“-Dateiformat zu u
uhren. Dazu m¨
ussen Sie im Navigator
¨berf¨
”
”
View“ die Hamsterdatei selektieren und in dessen Kontextmen¨
u den Eintrag Hamsterdatei→
”
*.iham,*.oham,*.cham –> *.ham“. Die *.ham“-Datei erscheint im Navigator View“ im glei”
”
chen Verzeichnis wie die Ausgangsdatei und kann von dort kopiert oder verschoben werden.
4.8.2 Umwandeln von *.ham“-Dateien in Hamsterdateien
”
Das Hamster-Simulator-Plugin ist in der Lage, die Hamsterdateien des Hamster Simula”
tors“ in der Version 2.2 zu verarbeiten. Diese k¨onnen direkt mit dem Hamster-Editor ge¨offnet
werden oder explizit in Hamsterdateien des Hamster-Simulator-Plugins umgewandelt werden. Dazu m¨
ussen Sie die *.ham“-Datei selektieren und in deren Kontextmen¨
u den Eintrag
”
Hamsterdatei→ *.ham –> *.iham,*.oham,*.cham“ w¨ahlen. Die Hamsterdatei wird erzeugt
”
und die *.ham“-Datei wird gel¨oscht. Die neue Hamsterdatei wird jedoch nicht im Hamster”
Editor ge¨
offnet.
52
4.9 Sonstige Probleme
Abbildung 4.35: Hamster-Programm neu starten wenn kein Hot Swap m¨oglich
4.8.3 Umwandeln von *.cham“-Dateien in *.oham“-Dateien
”
”
Manchmal ist es notwendig, dass man Hamster-Klassen in Hamster-Programme umwandeln
m¨ochte. Dazu k¨onnen Sie den Eintrag Hamsterdatei→ *.cham –> *.oham“ w¨ahlen, was unter
”
anderem bewirkt, dass die Hamsterdatei ein main“-Methode erh¨alt und die Dateiendung in
”
*.oham umbenannt wird.
4.8.4 Explizites Kompilieren von Hamsterdateien
Sie Haben die M¨oglichkeit einzelne Hamsterdateien explizit zu kompilieren. Dies ist sinnvoll,
wenn das implizite kompilieren von Hamster-Dateien mit dem Speichen im Hamster-Editor
ausgeschaltet ist oder die Hamsterdatei mit einem anderen Editor als dem Hamster-Editor
bearbeitet wurde. Es werden die zugeh¨origen Java- und Class-Dateien erzeugt und m¨ogliche
Fehler im Problems View“ angezeigt. Um die Hamsterdatei explizit zu Kompilieren w¨ahlen
”
Sie in deren Kontextmen¨
u im Navigator View“ den Eintrag Hamsterdatei→ Kompilieren“.
”
”
4.9 Sonstige Probleme
4.9.1 Out of sync Fehler
Dieser Fehler tritt immer dann auf, wenn eine bestimmte Ressource im Workspace nicht
synchron mit dem Dateisystem des Betriebssystems ist. In diesem Fall muss die Ressource
extern aktualisiert werden, indem Sie die Ressource selektieren und die Taste F5“ bet¨atigen.
”
53
5 Noch Fragen?
Wenn Sie noch Fragen zum Hamster-Simulator-Plugin haben sollten, die in diesem Dokument
nicht beantwortet wurden, wenden Sie sich bitte an:
• Matthias Mertens - Email: [email protected]
• Dr. Dietrich Boles - Email: [email protected]
54
A Anhang
55
56
Abbildung A.1: Hamster Perspektive
Abbildungsverzeichnis
3.1
3.2
Hamster-Territorium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Debug View: Callstack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
4.31
4.32
4.33
4.34
4.35
Globale Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Navigator View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Territorium-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hamster-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Outline View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Problems View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debug View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hamster-Projekt-Wizard . . . . . . . . . . . . . . . . . . . . . . . . . .
Geschlossenes Projekt im Navigator View“ . . . . . . . . . . . . . . .
”
Projekt Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hamster File Wizard“ . . . . . . . . . . . . . . . . . . . . . . . . . . .
”
Hamsterdatei im anderen Editor ¨offnen . . . . . . . . . . . . . . . . . .
Save As“-Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
”
Schließen eines Editors . . . . . . . . . . . . . . . . . . . . . . . . . . .
Markierter Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Teile des Men¨
u Edit“ . . . . . . . . . . . . . . . . . . . . . . . . . . .
”
Code Assistent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Code Assistent: Templates . . . . . . . . . . . . . . . . . . . . . . . . .
Hervorgehobener Code . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntaktische Fehler¨
uberpr¨
ufung zur Laufzeit . . . . . . . . . . . . . . .
Hamster Terrain Wizard . . . . . . . . . . . . . . . . . . . . . . . . . .
Territorium Actionset . . . . . . . . . . . . . . . . . . . . . . . . . . .
K¨orner im Maul des Standard-Hamsters setzen . . . . . . . . . . . . .
Anzahl der K¨orner pro Kachel setzen . . . . . . . . . . . . . . . . . . .
gleichzeitiges L¨oschen des Inhalts von mehreren Kacheln . . . . . . . .
Speichern eines Hamster Territoriums . . . . . . . . . . . . . . . . . .
Create, manage, and run configurations“-Fenster . . . . . . . . . . . .
”
Create, manage, and run configurations“-Fenster . . . . . . . . . . . .
”
Run As - Men¨
u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fortsetzen-, Pause- und Stopp-Button . . . . . . . . . . . . . . . . . .
Debug View und Hamster-Editor . . . . . . . . . . . . . . . . . . . . .
Expressions View w¨ahrend der Ausf¨
uhrung eines Hamster-Programms
Deaktivieren eines Breakpoints . . . . . . . . . . . . . . . . . . . . . .
Hamster-Programm neu starten wenn kein Hot Swap m¨oglich . . . . .
57
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
20
21
22
23
24
25
26
27
28
29
30
31
32
35
35
36
37
38
39
39
40
41
41
42
43
44
46
47
48
49
50
51
52
53
Abbildungsverzeichnis
A.1 Hamster Perspektive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
58
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement