User Tools

Site Tools


Action disabled: export_raw
de:software:matlab:trepr:dev:c:index

Konzepte

Hier ist Platz für die (Entwickler-)Dokumentation der zugrundeliegenden Konzepte der Toolbox.

Über die Jahre der Entwicklung haben sich gewisse Konzepte herausgebildet, die noch nicht zwangsläufig vollständig umgesetzt sind, aber wesentliche Charakteristika der Toolbox darstellen. Gerade für weitere Entwicklungen und Module ist es wichtig, diese Konzepte zu kennen.

Übersicht

tsort

Noch fehlende/nicht implementierte Konzepte:

Kommentierte Übersicht

Nicht notwendigerweise immer ganz vollständig, aber doch eine mit ein paar Kommentaren versehene Übersicht über die Konzepte der Toolbox, gegliedert in Gruppen grob zusammengehörender Konzepte.

Für eine vollständige Übersicht aller hier dokumentierten Konzepte siehe oben.

Daten

Daten sind die Grundlage aller experimentellen Wissenschaft. Die saubere Dokumentation der Datenaufnahme und -verarbeitung ist zentraler Bestandteil jeglicher Auswertung. Interpretationen können sich ändern, Daten sollten im gegebenen Kontext möglichst zuverlässig sein.

Der Datensatz ist die Kerneinheit der Toolbox. Dabei handelt es sich um eine Matlab-Struktur, die sowohl die Daten als auch alle dazu bekannten Informationen („Parameter“) an einem Ort ablegt und durch die Toolbox zugreifbar macht. Diese Herangehensweise, nicht nur die reinen Daten, sondern auch die dazu bekannten Informationen zusammen mit den Daten abzulegen, ist ein Schlüsselkonzept der Toolbox und bei konsequenter Umsetzung eine ihrer großen Stärken.

In der Historie wird jeder Verarbeitungsschritt eines Datensatzes abgelegt, und zwar so, daß vollständig nachvollziehbar (und wiederholbar) ist, was gemacht wurde.

Die Historie eines Datensatzes kann in einem Report sichtbar gemacht werden. Ziel ist hier die einfache Übersicht über die Prozessierung eines Datensatzes in einer möglichst ansprechenden Gestaltung (Verwendung von LaTeX-Templates).

Toolbox

Mit steigender Komplexität einer Toolbox entsteht die Notwendigkeit, die Infrastruktur zu schaffen, um einige wiederkehrende Probleme generisch zu lösen und andere Aspekte überhaupt erst zu ermöglichen. Dazu gehören eine Installationsroutine, die Möglichkeit zur Konfiguration und ein Benachrichtigungssystem.

Die Installation einer Matlab-Toolbox beinhaltet zumindest das Hinzufügen der Verzeichnisse der Toolbox zum Matlab-Pfad. Im Kontext mit Konfigurationsdateien ist aber oft noch weitere Arbeit nötig. Updates während der aktiven Entwicklung einer Toolbox erforden oft auch eine saubere Zusammenführung der vom Nutzer angepaßten Konfiguration mit neuen Konfigurationsoptionen.

Konfiguration erlaubt die Anpassung der Toolbox an die Bedürfnisse des Nutzers. Dazu gibt es einfach strukturierte Konfigurationsdateien und die Infrastruktur, um diese aus Vorlagen zu generieren bzw. bei Aktualisierungen mit den Nutzeranpassungen der aktuellen Installation zusammenzuführen.

Ein einheitliches Benachrichtigungssystem für die gesamte Toolbox bietet Vorteile: Es aggregiert die Nachrichten z.B. in einer GUI in einem eigenen Fenster, es erlaubt die Kategorisierung der Nachrichten, und es gibt Kontrolle über die Ausgabe der Nachrichten.

GUI

Innerhalb der GUI, die in gewisser Weise für sich genommen ein zentrales Konzept der Toolbox ist, gibt es weitere Konzepte, wie die Automatisierung und die Snapshots, die eine entsprechende Infrastruktur bereitstellen, die für weitere Entwicklungen genutzt werden kann und sollte.

Automatisierung immer wiederkehrender Prozesse kann sehr viel Zeit sparen. Der Schlüssel dazu ist eine in der GUI implementierte Kommandozeile mit einer eigenen Skriptsprache. Ziel ist die vollständige Steuerbarkeit der GUI über diese Skriptsprache.

Snapshots des gegenwärtigen Zustandes der GUI zu speichern und gespeicherte Snapshots wieder einlesen zu können erlaubt es, an einem längeren Projekt der Prozessierung von Datensätzen in mehreren „Sitzungen“ zu arbeiten. Zwischendurch kann die GUI und Matlab beendet und der Computer ausgeschaltet werden.

de/software/matlab/trepr/dev/c/index.txt · Last modified: by 127.0.0.1