ein Projekt von Tobias Kiertscher
›› Projektbeschreibung

Kurzbeschreibung

DynamicNodes ist sowohl Programmierumgebung als auch Laufzeitumgebung für simulierte Datenflussgraphen. Der grafische Editor des Systems unterstützt die Interaktion zwischen dem Benutzer und den entwickelten Programmen zur Laufzeit.

Projektübersicht
Projektübersicht

Das System basiert auf Microsoft .NET und läuft damit auf Standard-PC-Hardware. Mit Hilfe des OpenSource-Projekts Mono ist das System mit Einschränkungen neben Windows unter weiteren Betriebssystemen lauffähig. Falls ein PC mehrere Prozessorkerne besitzt, skaliert das System automatisch. Dabei kann jeder Operationsknoten in einem eigenen Thread arbeiten.

Ein Programm in DynamicNodes besteht aus Operationsknoten und Verbindungen und wird auch Flussgraph genannt. Jeder Operationsknoten kann Ein- und Ausgänge besitzen. Knotentypen sind in Knotenbibliotheken zusammengefasst und können dem System über eine Plug-In-Schnittstelle in beliebiger Anzahl hinzugefügt werden. Dadurch kann das System an jede Anwendungsdomäne angepasst werden.

Projektorganisation

Das Projekt hat bisher zwei Phasen durchlebt:

Grundgedanken und erster Prototyp

Im Rahmen eines Wahlmoduls aus den Fächern "Software Architektur und Qualitätssicherung" und "Grundlagen der Bildverarbeitung" während meines Studiums, entwickelte ich die Grundidee eines visuellen Editors für elementare Bildverarbeitungsoperationen und implementierte einen "quick and dirty"-Prototypen (DynamicNodes 1)

Systematische Entwicklung für die Diplomarbeit

Für die Diplomarbeit verallgemeinerte ich den ersten Ansatz auf die Datenfluss-Theorie und entwarf ein Fluss-Modell, spezialisiert für die Thread-basierte Ausführung und die Interaktion mit dem Benutzer.

Des Weiteren schrieb ich die gesamte Laufzeitumgebung und einen Großteil des Editors neu (DynamicNodes 2). Zu diesem Zeitpunkt kam auf das Hilfesystem und die Testumgebung für Knotentypen hinzu.

Mit der Diplomarbeit, in der ich den Entwurfsprozess und die Implementierung beschreibe, liegt eine gute Grundlage für eine saubere Dokumentation des Systems vor.

Aktueller Stand

Zur Zeit wird das Projekt von mir mit Unterstützung des Fachbereichs "Informatik und Medien" der Fachhochschule Brandenburg weiterentwickelt.

Noch steht die Entscheidung aus, ob und wie das Projekt vermarktet werden soll. Die Entwicklung wird zur Zeit auf den Anwendungsbereich Lehre und rapid prototyping ausgerichtet.

Als primäre Anwendungsdomäne ist zur Zeit die Bild-, und Biosignalverarbeitung (EEG, EKG, EMG) im Blickfeld. Falls Interesse besteht Knotenbibliotheken für weitere Anwendungsdomänen zu entwickeln nehmen Sie bitte Kontakt mit mir auf.

Falls Interesse an einer Öffnung des Quellcodes für die Entwicklung in einer Community besteht, melden Sie sich bitte bei mir.

Globale Entwicklungsziele

  1. Einfache Handhabung und minimale Lernkurve für den Benutzer
  2. Effiziente Ausnutzung der Hardware-Ressourcen
  3. Erweiterbarkeit des Systems auf mehreren Ebenen
  4. Domänenunabhängigkeit

Nach oben

Datum und Uhrzeit
Einen Moment...
Aktuelles
23.12.2012

07.11.2012

28.01.2010