Home | english | Impressum | KIT

In-System-Debugging von Java-Programmen in der AmbiComp-Virtual-Machine

In-System-Debugging von Java-Programmen in der AmbiComp-Virtual-Machine
Forschungsthema:Peer-to-peer
Typ:Studienarbeit
Datum:03.08.2009
Betreuer:

Prof. Dr. Frank Bellosa, Johannes Eickhold

Bearbeiter:Wolf-Dennis Pahl
Links:PDF
BibTeX

Abstract:

Immer mehr Mikrocontroller lassen sich mit Java programmieren und steuern. Die Entwicklung der Java-Programme findet dabei auf Entwicklungscomputern und nicht auf den Mikrocontrollern statt, da die Ressourcen von Mikrocontrollern in der Regel für die Entwicklungstools zu gering sind.

Da sich die Java-VMs auf Entwicklungsrechner und Mikrocontroller in ihrem Funktionsumfang unterscheiden, ist es für Entwickler interessant das Verhalten von Java- Programmen auf der Zielhardware zu beobachten. Aus diesem Grund bieten einige Debugger die Möglichkeit des Remote-Debuggings. Remote-Debugging bedeutet, dass Debugger und zu debuggendes Programm auf unterschiedlichen Systemen laufen.

Das von Sun Microsystems für die Kommunikation zwischen Debugger und Java-VM vorgesehene Protokoll ist nicht auf geringen Ressourcenverbrauch optimiert. Es ist deshalb für die direkte Kommunikation mit einer Java-VM auf einem Mikrocontroller ungeeignet.

Eine mögliche Lösung, um die Kommunikation zwischen Debugger und Java-VM zu ermöglichen, ist ein Debug-Proxy, der zwischen dem Debugger und der Java-VM vermittelt. Im AmbiComp-Projekt wird dieser Ansatz gewählt, um In-System-Debugging von Java-Programmen auf der AmbiComp-Virtual-Machine zu ermöglichen.

Es existieren noch andere Lösungsmöglichkeiten, die im Falle von AmbiComp aber aus unterschiedlichen Gründen ungeeignet sind. Diese Arbeit erläutert naheliegende Lösungsansätze und zeigt ihre Vor- und Nachteile.

Die restliche Arbeit geht genauer auf die gewählte Lösung mittels AmbiComp-Debug- Proxy (ADP) ein. Die Implementierung des ADP wird vorgestellt. Konkrete Probleme, die beim Realisieren des Debug-Proxys auftreten, werden aufgezeigt und jeweils eine mögliche Lösung präsentiert.

BibTex:

@studythesis{pahl09insysdebugging,
  author = {Wolf-Dennis Pahl},
  title = {In-System-Debugging von Java-Programmen in der AmbiComp-Virtual-Machine},
  type = {Study Thesis},
  address = {System Architecture Group, University of Karlsruhe, Germany},
  month = aug # "~3",
  year = 2009,
  url = {http://i30www.ira.uka.de/teaching/theses/pasttheses/}
}