Vortrag - TU Clausthal

Vortrag - TU Clausthal
Technische Universität Clausthal – Institut für Informatik
HuBoTUC (humanoid robots of technical university of clausthal)
Reengineering des originalen
Maschinenprogramm
Zhao Dalong 326724
Zhang Wenyong 333852
Technische Universität Clausthal
Institut für Informatik
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
1
Inhalt
Technische Universität Clausthal – Institut für Informatik
 Robonova-I und RoboBasic
 Interpreter
 Objektcodes erkennen
 Algorithmen
 Programm und Testbeispiel
 Probleme des Programms
 Zusammenfassung
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
2
Robonova-I und RoboBasic
Roboter mit 16 Gelenken von HiTEC
Technische Universität Clausthal – Institut für Informatik
 Robonova-I:
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
3
Robonova-I und RoboBasic
Technische Universität Clausthal – Institut für Informatik
 RoboBasic: Programmierumgebung zur Steuerung
von Robonova-I.
 Nachteile von RoboBasic:
-Beschränkungen in Sprachestruktur
Eine einfache Lösung wäre die Erweiterung mit den
Strukturen wie While-Schleife und Switch.
-Kompatibilitätsproblem
 Man braucht eine einfachere, erweiterte und verbesserte RoboBasic .
 Das Ziel unserer Arbeit: ein neuer Interpreter für RoboBasic.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
4
Interpreter
Technische Universität Clausthal – Institut für Informatik
 Ein Interpreter ist ein Programm, das die Quellecodes einliest, analysiert und
interpretiert.
 Kostet relativ wenige Zeit mit der Analyse und Bearbeitung eines Programms.
 Der resultierende Code ist eine Art von Zwischencode.
 Der resultierende Code ist von einem anderen Programm interpretiert.
 Programmablauf ist langsam.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
5
Technische Universität Clausthal – Institut für Informatik
Interpreter
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
6
Objektcodes erkennen
Technische Universität Clausthal – Institut für Informatik
 Ein Befehl von RoboBASIC wird von der Programmierumgebung eingelesen und
bearbeitet.
 Nach der Bearbeitung erzeugt die Umgebung einen entsprechenden Objektcode.
 Dieser Code wird als eine OBJ-Datei gespeichert, die aus Hexadezimalzahl
besteht.
 Die generierte OBJ-Datei wird von einem Hexeditor eingelesen. Mit Hilfe von
Hexeditor wird der konkrete Inhalt als Hexadezimalzahl in einem Fenster
dargestellt.
 Dort sind entsprechende Hexcodes und Kodierungsregeln für bestimmte
RoboBASIC-Befehle herauszufinden.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
7
Objektcodes erkennen
Technische Universität Clausthal – Institut für Informatik
 Nachdem alle entsprechenden Hex-Codes gefunden worden sind, wird eine
Datei als XML-Format mit alle von diesem Format erforderlichen Etiketten
erstellt.

In dieser Datei werden die Codes durch Nummerierung sortiert und als
Datenbank gespeichert.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
8
Technische Universität Clausthal – Institut für Informatik
Objektcodes Erkennen
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
9
Objektcodes Erkennen
Technische Universität Clausthal – Institut für Informatik
 Viele zusätzliche Informationen der Quellcodedatei werden durch den
Anfangscodeblock beschrieben.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
10
Objektcodes Erkennen
Technische Universität Clausthal – Institut für Informatik
 Der Endecodeblock hat ähnliche Funktionalität
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
11
Objektcodes Erkennen
Technische Universität Clausthal – Institut für Informatik
 Manche zusätzlichen Bytecodes werden von RoboBASIC an einigen Stellen
verwendet, um einen Bitwert oder 8 Bits ein Byte zu speichern.

Viele unterschiedliche Befehle können durch die gleiche Logik mit einem
Standardformat bearbeitet werden.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
12
Objektcodes Erkennen
Technische Universität Clausthal – Institut für Informatik
 Danach folgt die Speicheradresse oder Wert.
 Normalerweise wird die
Speicheradresse der ersten Variable mit dem Code 40
kodiert, dann der zweiten 41 usw.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
13
Objektcodes Erkennen
Technische Universität Clausthal – Institut für Informatik
 Der Gruppencode zeigt, welcher Servomotor durch den Mikrokontroller gesteuert
wird.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
14
Algorithmen
Technische Universität Clausthal – Institut für Informatik
 Am Anfang werden die Quelldatei und XML-Datei eingelesen.
 Die Quellcodes von diesen 2 Dateien werden in einer Struktur-Array gespeichert
und indexiert.
 Alle gespeicherten Quelltextwörter werden mit der Datenbank verglichen.
 Wenn eine Übereinstimmung in dem Datenbankarray gibt, überprüft das
Programm üblichen Wörter in der gleichen Zeile, ob restlichen Ausdrücke mit der
Grammatik von dem gerade gefundenen Wort übereinstimmt.
 Wenn nicht, dann wird eine Meldung von Syntaxfehler gezeigt. Dann fängt die
weitere Überprüfung in der nächsten Zeile an.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
15
Algorithmen
Technische Universität Clausthal – Institut für Informatik
 Wenn es für ein Quelltextwort keine Übereinstimmung in dem Datenbankarray
gibt, wird es nach folgenden Fällen unterschieden:
 Das gerade gelesene Wort ist eine Zahl. Dann wird diese Zahl direkt in eine
Hexadezimalzahl konvertiert.
 Das gerade gelesene Wort ist falsch. Es handelt sich um einen
Buchstabierfehler.
 Wenn keine Fehlermeldung auftaucht, gibt das Programm alle entsprechende
Hex-Code in einer Textdatei aus.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
16
Technische Universität Clausthal – Institut für Informatik
Algorithmen
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
17
Programm und Beispiel
Technische Universität Clausthal – Institut für Informatik
 Entwicklungsumgebung: Pelles C Version 6.00.4 for Windows 64 bit.
 Beispiel: „ MOVE G6A, 100,100,80,70,50,60“
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
18
Programm und Beispiel
Technische Universität Clausthal – Institut für Informatik
 Ein anderes Beispiel:
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
19
Probleme beim Programm
Technische Universität Clausthal – Institut für Informatik
 Beim erzeugten Code ohne Zusatzinformationen(Dateiname, Datum)
 Es fehlt die Behandlung von Variablen.
 Behandlung von komplizierten Sprachstrukturen.
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
20
Zusammenfassung der Arbeit
Technische Universität Clausthal – Institut für Informatik
 Nachteile von RoboBasic.
 Ideen des Entwurfs von dem neuen Interpreter.
 Verbesserte Eigenschaften des Interpreters.
 Potential für Weiterentwicklung
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
21
Literaturen
Technische Universität Clausthal – Institut für Informatik
 Herbert Schildt
C The Complete Reference
Fourth Edition
ISBN: 0072121246
 Installationsanleitung der RoboBasic-Software
 Handbuch für Befehlsreferenz RoboBasic
 XML [http://en.wikipedia.org/wiki/XML]
 Compiler und Interpreter [http://web.cs.wpi.edu/~gpollice/cs544f05/CourseNotes/maps/Class1/Compilervs.Interpreter.html]
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
22
Technische Universität Clausthal – Institut für Informatik
Ende
Vielen Dank für Ihre Aufmerksamkeit!
© TU Clausthal, IFI,ZHAO,ZHANG, 2010
23
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