Mapache
DE EN      
| START | KOMPONENTEN | DOWNLOADS | PAPIERE |

Über | | Technologie | Verfeinerung | Transformationen | Programmierparadigma | Beispiel | Merkmale |

Modell-getriebene Entwicklung als Kernstück der Erstellung von Benutzerschnittstellen

Mapache nutzt Techniken aus der Modell-getriebenen Software-Entwicklung (Model Driven Software Development, MDSD[1]) um die Entwicklung mehrerer Benutzerschnittstellen für eine Anwendung zu unterstützen. Aufbauend auf dem Eclipse Modeling Framework (EMF)[2] wurde eine Modellierungssprache entwickelt, in welcher das Layout von Benutzerschnittstellen beschrieben werden kann. Über Bibliotheken können verschiedene Technologien (Swing, HTML, SWT, ...), sowie eigene Komponenten eingebunden werden.

Die Haupt-Vorteile von MDSD für Mapache sind insbesondere:

  • Einfache Werkzeugintegration: Im Gegensatz zu Code-basierten Werkzeugen können Werkzeuge für Modelle einfacher erstellt werden. Sie müssen keine weiteren Analyseschritte durchführen und können auf die Konzepte der Modellierungssprache auf dem richtigen Abstraktionsniveau zurückgreifen.
  • Einfache Synchronisation: Alle Komponenten, welche auf ein Modell zugreifen können leicht synchronisiert werden. Sie bekommen die notwendige Information über Änderungen am Modell.
  • Klare Semantik für Sprache: Die in der speziellen Modellierungssprache erstellten Modelle können auf deren Gültigkeit leicht überprüft werden. Dabei sind die Gültigkeitsbedingungen leichter zu formulieren, da die Modellierungskonstrukte auf der richtigen Abstraktionsebene sind. Bei Nutzung von 'normalen' Programmiersprachen wäre dies umständlicher.

Die Werkzeugkonzepte dafür wurden in der Programmierumgebung Eclipse[3] umgesetzt. Sie sind unter Komponenten -> SDK beschrieben.

Mit modellierten Benutzerschnittstellen die Grenze zwischen Design- und Laufzeit verschwinden lassen

Mapache übersetzt modellierte Benutzerschnittstellen nicht in (z.B. Java) Code. D.h. es wird nicht ein Programm erzeugt, welches die Benutzerschnittstelle dann anzeigt, sondern ein Modell Interpreter ließt das Modell und zeigt es direkt an. Ohne Zwischenschritt. Wie oben angeführt können damit Änderungen am Modell direkt angezeigt werden -- ohne, dass man dafür erst wieder intermediäre Artefakte, wie Code oder Konfigurationsdateien, erzeugen muss.

Die Konsequenz ist, dass für die Modellierung der Benutzerschnittstellen die Grenze zwischen Laufzeit und Designzeit verschwindet. Man kann mit Mapache eine Benutzerschnittstelle zur laufenden Anwendung hinzufügen, modifizieren und sofort nutzen.

1. Siehe z.B. http://de.wikipedia.org/wiki/Modellgetriebene_Softwareentwicklung, eine gute Einführung ist zu finden in
Stahl, T.; Völter, M.; Efftinge, S. & Haase, A. (2007), Modellgetriebene Softwareentwicklung: Techniken, Engineering, Management, dpunkt, Heidelberg.
2. Modellierungsframework für Eclipse, siehe http://www.eclipse.org/emt.
3. Programmierumgebung für Java, siehe http://www.eclipse.org.