Anthamatten, Adrian and Ravindran, Jeyanthan (2015) Runtime-Object-Visualization. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
Runtime-Object-Visualization.pdf - Supplemental Material
Download (1MB) | Preview
Abstract
Ausgangslage:
Ziel dieser Arbeit ist das Auslesen von Java-Objektinformationen (z.B. Änderung der Attribute, Initialisierung von Instanzen) einer bestehender Applikation (z.B. .jar-File) zur Laufzeit. Für den Object-Graph-Visualizer (OGV) soll ein Interface implementiert werden, damit dieser später um die Fähigkeit erweitert werden kann, diese Daten darzustellen. Die Verbindung zu diesem Interface soll technologieunabhängig sein, damit die Objektinformationen von verschiedenen Programmiersprachen (neben Java z.B. auch von C#, C++, etc.) im OGV dargestellt werden können.
Vorgehen:
In der Evaluation wurden Technologien für das Auslesen von Java-Objektinformationen miteinander verglichen. Bei der Gegenüberstellung dieser Technologien konnte der Java Debug Interface (JDI) die gestellten Anforderungen am besten erfüllen. Für die technologieunabhängige Kommunikation wird JSON-RPC über Socket-Verbindungen verwendet, weil dieses einen sehr simplen Aufbau hat und von vielen Plattformen unterstützt wird. Um die spätere Einbindung des Tools in OGV zu realisieren, wurde zusammen mit dem Auftraggeber ein Interface definiert.
Ergebnis:
Entstanden ist ein Runtime-Object-Observer (ROO), welcher eine Java-Applikation (z.B. .jar-File) startet und zur Laufzeit Objektinformationen mittels JDI ausliest. Die ausgelesen Informationen werden mit JSON-RPC einem Serverstub übermittelt. Die RPC-Calls werden anschliessend an ein Interface weitergegeben, dessen Implementierung vom Auftraggeber gemacht wird. Weiter wurde ein Proof of Concept eines ROO in C# entwickelt, um zu demonstrieren, dass das Konzept auf anderen Sprachen/Technologien erweiterbar ist.
Item Type: | Thesis (Student Research Project) |
---|---|
Subjects: | Topics > Internet Technologies and Applications > Visualization Area of Application > Development Tools Technologies > Programming Languages > Java Technologies > Programming Languages > C# Metatags > IFS (Institute for Software) |
Divisions: | Bachelor of Science FHO in Informatik > Student Research Project |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Letsch, Thomas UNSPECIFIED |
Date Deposited: | 17 Mar 2016 08:52 |
Last Modified: | 17 Mar 2016 08:52 |
URI: | https://eprints.ost.ch/id/eprint/491 |