y o c u -tr a c k .c 4 Entwicklungsumgebung 14 4 Entwicklungsumgebung In diesem Kapitel werden die verwendeten Entwicklungswerkzeuge vorgestellt. Zuerst wird die Unified Modeling Language (UML) Software und die Entwicklungsumgebung für den RCX erklärt wie diese zu installieren sind. Danach erfolgt eine genaue Beschreibung, wie die Werkzeuge zu verwenden sind. 4.1 Vorbereitung Der Software Entwurf nach V-Modell erfolgt in einzelnen Schritten. Hierfür werden verschiedene Hilfsmittel benötigt. Zur Erstellung der UML-Diagramme wird die Software ArgoUML in der Version 0.28.1 verwendet. http://argouml-downloads.tigris.org/ Das Programm unterliegt der Berkeley Software Distribution (BSD) Lizenz und hat kaum Einschränkungen bei den Nutzungsbedingungen. Die Mindest-Systemanforderungen sind: • ein Betriebssystem, welches Java unterstützt • 15 Megabyte (MB) Festplatten-Speicherplatz • eine Maus und eine Tastatur • Java Java Runtime Environment (JRE) / Java Development Kit (JDK) 5 oder höher TU Ilmenau, Fakultät IA Inv.-Nr. .d o m o w w w .d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k .c y o c u -tr a c k .c 4.1 Vorbereitung 15 ArgoUML ist ein plattforunabhängiges UML-Werkzeug, da es selbst in Java geschrieben ist. Es ist kompatibel zum UML Standard Version 1.4 und kann aus den grafisch erstellen Diagrammen Programmcode für viele Programmiersprachen erzeugen. Für das Zielsystem RCX und der genutzen Entwicklungsumgegbung leJOS ist maßgebend, dass Java Programmcode erzeugt werden kann. ArgoUML unterstüzt folgende Programmiersprachen: Java, C++, C#, PHP, SQL Die ArgoUML Installation setzt das Vorhandensein von Java voraus. Verwendet wurde die Version JDK 6 Update 18. (Datei: jdk-6u18-windows-i586.exe) http://java.sun.com/javase/downloads/widget/jdk6.jsp Der durch ArgoUML generierte Quellcode in Java muß in den Feinheiten für leJOS angepasst und dann auf den RCX übertragen werden. Dafür wird als Entwicklungsumgebung Eclipse unter Windows im Zusammenhang mit dem leJOS-Plugin für Eclipse verwendet. Zum Einsatz kommt die Version Eclipse Classic 3.5. (Datei: eclipse-SDK-3.5-win32.zip) http://www.eclipse.org/downloads/ Die Installation von Eclipse erfolgt ohne ein Installationsprogramm. Die heruntergeladene Datei zum Beispiel nach „C:\Program Files\Eclipse35“ entpacken. Im nächsten Schritt wird das leJOS Plugin für Eclipse benötigt. (Datei: org.lejos.ldt_1.2.0.zip) http://lejos.sourceforge.net/rcx-downloads.php Diese wird in das Eclipseverzeichnis entpackt. „C:\Program Files\Eclipse35“ Beim anschließenden Starten von Eclipse ist das leJOS-Plugin noch zu konfigurieren. Dies ist zu finden unter „Window > Preferences“ unter dem Punkt leJOS. Dort wird eingetragen, welchen Anschluss der Infrarot-Tower von Lego für die Datenübertragung an den RCX verwendet. Für den seriellen Anschluss gibt es vier Auswahlmöglichkeiten, ansonsten wird die Universal Serial Bus (USB) Schnittstelle eingestellt. TU Ilmenau, Fakultät IA Inv.-Nr. .d o m o w w w .d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k .c y o c u -tr a c k .c 4.2 Arbeitsschritte 16 4.2 Arbeitsschritte Zuerst werden mit Hilfe von ArgoUML die UML-Diagramme in Ablauffolge des V-Modells erstellt. Siehe Kapitel Grundlagen, wo alle Diagramme im Beispiel „Uhr“ mit ArgoUML erstellt wurden. • Anwendungsfalldiagramm • Anwendungsfalldiagramm verfeinert • Aktivitätsdiagramm • Sequenzdiagramm • Klassendiagramm • Zustandsübergangsdiagramm Dann erzeugt man für das Modell den Quellcode in Java und vervollständigt die notwendigen Stellen mittels leJOS, damit ein lauffähiges Programm für das Zielssystem RCX erstellt werden kann. Bevor auf dem RCX ein in leJOS erstelltes Programm funktionstüchtig ist, muß die leJOS Firmware übertragen werden. Wie in Abb. 9 dargestellt, wird mit Eclipse die Firmware übertragen. Abb. 9: leJOS Firmware übertragen TU Ilmenau, Fakultät IA Inv.-Nr. .d o m o w w w .d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k .c y o c u -tr a c k .c 4.2 Arbeitsschritte 17 Danach erstellt man in Eclipse ein neues leJOS Projekt. Dazu geht man auf „File > New > Project...“ und erstellt ein neues RCX Projekt. Siehe Abb. 10 Abb. 10: neues leJOS Projekt anlegen Darin werden dann die mit ArgoUML erstellen Klassen importiert und für das Zielsystem angepasst. TU Ilmenau, Fakultät IA Inv.-Nr. .d o m o w w w .d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k .c y o c u -tr a c k .c 4.2 Arbeitsschritte 18 Ist das Projekt fertig gestellt, kann es übertragen werden. Dazu geht man mit einem rechten Mausklick auf die Ursprungsklasse, wählt „Run As“ aus und überträgt das erstellte Programm dann mit einem Klick auf leJOS auf das Zielsystem RCX. Siehe Abb. 11. Auf diesem Bild ist ein lauffähiges RCX Programm zu sehen, welches für 5 Sekunden „Hello“ und dann für 5 Sekunden „World“ auf dem Display des RCX anzeigt. Abb. 11: leJOS Projekt auf das Zielssystem übertragen TU Ilmenau, Fakultät IA Inv.-Nr. .d o m o w w w .d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k .c y o c u -tr a c k .c 4.3 Hinweise 19 4.3 Hinweise Die virtuelle Maschine leJOS unterliegt einigen Einschränkungen, die Java allein kann. Darunter zählen folgende Aspekte: • Threads mit runnables sind nicht möglich - die Option extend funktioniert • Switch Anweisungen werden nicht unterstützt • die meisten JDK-Application Programming Interfaces (APIs) stehen nicht zur Verfügung • keine Berechnungen mit long-Variablen • es gibt kein Objekte vom Typ java.lang.Class Für die Ansteuerung der einzelnen Komponenten (Display, Sensoren, Lautsprecher, Motoren) des RCX unter leJOS existiert eine ausführliche API, die unter http://lejos.sourceforge.net/rcx-downloads.php heruntergeladen oder online hier http://lejos.sourceforge.net/apidocs/ angeschaut werden kann. TU Ilmenau, Fakultät IA Inv.-Nr. .d o m o w w w .d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k .c