Project Groups

Projektgruppe Dori

Projektstart: 01.04.2017 / Projektende: 31.03.2018

Problemstellung

Softwaresysteme brauchen heutzutage intensive Interaktionsmöglichkeiten. Da Interaktionsmöglichkeiten jedoch nur implizit im Quellcode fest verankert werden, verschwimmen sowohl die Implementierungen von GUIs mit denen von Programmlogik, als auch die Kompetenzbereiche eines GUI- und eines Programmlogikentwicklers. Ein weiteres Problem stellt die schwierige nachträgliche Abänderung der Gesamtinteraktion dar. Weiterhin ist es derzeit noch nicht möglich, eine Gesamtinteraktion plattformunabhängig zu modellieren und anschließend auf verschiedenen Plattformen zu realisieren.

Lösungsansatz

Die Projektgruppe DORI (Do your Own Reactive Interface) möchte diesen Problemen entgegenwirken, indem eine DSL zur Beschreibung der Gesamtinteraktion entworfen wird. Weiterhin soll die Möglichkeit geschaffen werden, Interaktionen mit dieser DSL in einem Editor zu modellieren. Schließlich soll für mindestens zwei Plattformen ein Interpreter implementiert werden, welcher auf Basis des Interaktionsmodells unter Bereitstellung der GUIs und Programmlogik die Interaktion ausführt.

Aktueller Stand

Die von der Projektgruppe entworfene Modellierungssprache orientiert sich an UML-Zustandsdiagrammen und IFML-Diagrammen. Eine erste Version des Editors ist vorhanden und wird für den Entwurf von Testmodellen eingesetzt, momentan wird dort die konkrete Syntax der Sprachelemente sowie die Usability im Allgemeinen verbessert. Die Abbildung unten zeigt ein Interaktionsmodell, bei dem in der zuerst angezeigten GUI "Input AWI" ein String "expr" eingegeben werden kann. Nach Auftreten des Events "goSearch" in der GUI wird dieser String an eine Programmlogik "searchStrings" übergeben, welche alle Elemente einer Liste zurückgibt, die den Suchstring enthalten. Diese Liste wird anschließend als "resultList" in der zweiten GUI "Results AWI" angezeigt. Als erste Plattform hat sich die Projektgruppe für Web entschieden, hier wird JSF für die GUIs und REST für die Programmlogik genutzt. Der Interpreter zur ersten Plattform ist grundsätzlich funktionsfähig. Mit der Implementierung eines Interpreters für die Plattform Android wurde zum Jahreswechsel begonnen.

(Changed: 19 Jan 2024)  | 
Zum Seitananfang scrollen Scroll to the top of the page