Workspace-Viewer

Aus Physik
Zur Navigation springen Zur Suche springen

Grundlagen

Eclipse

Datenaustausch

Die Daten über die Variablen werden von Matlab über ein XML-File zur Verfügung gestellt. Dieses braucht lediglich bei jeder Aktualisierung ausgelesen zu werden.

Softwareentwicklungsprozess

Ich (Osiris) möchte verstärkt XP-Techniken einsetzten:

  • Incremental Design
  • Unit Tests wo möglich/wichtig


Ziel

Ein an den Workspace-Viewer von Matlab angelehnter Viewer als Eclipse-Plugin.

Folgende Funktionalitäten sollen zur Verfügung gestellt werden:

  • Anzeigen einer Übersicht aller im Workspace momentan vorhandenen Variablen
  • Anzeigen der Details von Variablen, ändern des Inhalts?
  • Export und Import von Variablen (*.mat Files)

Weitere Anforderungen:

  • Flexibilität in Hinblick auf eventuelle Änderungen der XML-Files (Matlab Versionsumstellung)


Weiteres Vorgehen

  1. Einlernen in Eclipse und Pluginentwicklung für Eclipse
  2. Definition der Schnittstellen
  3. Grobplanung (Incremental Design)
  4. Entwicklung der Klassen zum Auslesen des XML-Files
  5. Entwicklung der Oberfläche


Offene Fragen

  • Wie sehen die Schnittstellen zum ML-Tutor aus (Alles was das Verhalten als Plugin betrifft ist eh klar)

Nur kurz einmal: Im Endeffekt wird bei der ersten Ausführung eines Matlab Programms eine Pipe zu Matlab geöffnet, die solange offen bleiben soll, bis entweder der Benutzer durch einen Matlab Befehl das Programm schließt, oder die Anwendung beendet wird. Es können beliebige Matlab Befehle durch die Pipe geschickt werden und der Output wird jeweils ausgelesen. Es gibt eine Matlab-Funktion, die mit einem Variablennamen aufgerufen wird und diese Variable dann als XML-Text ausgibt. Dh. man müsste eine Matlab-Funktion zur Verfügung stellen, die alle vorhandenen Variablen anzeigt und diese dann nacheinander als XML-Text ausgibt. Dieser Output müsste dann vom Workspace-Viewer gelesen und in einem Eclipse View dargestellt werden. Wie das mit dem Update des Views ausschaut, müsste man sich noch überlegen. Vielleicht wäre ein vom Benutzer ausgelöstes Refresh gar nicht so schlecht.

Aber: Als erster Schritt wäre es wahrscheinlich einmal einfacher zum Testen einen Eclipse-Editor zu schreiben, der auf eine bestimmte Dateiendung reagiert und das ausgewählte File einmal darstellt. Dieses dann mit der Pipe-Funktionalität zu versehen und in einen View umzubasteln, in dem mehrere Variablen angezeigt werden, wäre dann wahrscheinlich kein allzu großes Problem mehr.


  • Unit Tests erwünscht/erbeten/notwendig/üblich oder eher nicht (schwierig bei der Oberfläche)

Schwer zu sagen, üblich sind sie leider nicht, da es so lange dauert sie zu schreiben. Es gibt ca. zu einem drittel der Funktionen unittests od. unittest-ähnliche Konstrukte. In diesem Fall würde es wahrscheinlich reichen, wenn man alle Variablenarten durchspielt und dann händisch die Anzeige der Variablen überprüft.

Benötigte Ressourcen

  • XML-Files, DTD oder Schema