11.07.2015 Aufrufe

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6.4 KONZEPT EINER FLEXIBLEN DIALOGFLUSSKONTROLLE 119• Nach jeder Auswahl eines Werts müssen alle Listen, in denen kein Wert ausgewählt ist, gefiltertwerden, was ebenfalls eine beträchtliche Zeit beanspruchen kann, wenngleich nicht mehrals die Zeit für die initiale Filterung vor dem Öffnen des Eingabedialogs.Wie wir sehen, hängen die Nachteile, die zur Laufzeit während der Benutzereingaben zutage treten,mit der hohen Rechenintensität der Filterung zusammen. Deshalb könnte zur Senkung desZeitbedarfs bei der Filterung auf den Optimierungsalgorithmus für die Auswertung eingeschränkterTypen zurückgegriffen werden, der im Abschnitt 6.2.2 vorgestellt wurde.5) Kombination aus mehreren Verbesserungsvorschlägen:Die Verbesserungsvorschläge 1), 2) <strong>und</strong> 4) können gleichzeitig implementiert werden (dabei ist 3)ein Spezialfall von 4), sodass nur eine der beiden Möglichkeiten implementiert werden sollte). Eswürde deshalb Sinn machen, mehrere Optimierungen zu realisieren <strong>und</strong> dann dem Benutzer dieAuswahl zwischen konkurrierenden Ansätzen – hier sind es nur 2) <strong>und</strong> 4) – zu ermöglichen. DerBenutzer könnte also, abhängig von dem aktuell abgefragten eingeschränkten Typ, im Eingabedialogauswählen, ob alle Basistyp-Werte, welche die Restriktionsbedingung erfüllen, in einer Listeaufgeführt werden sollen, oder ob einzelne Auswahllisten für die Basistyp-Elemente angezeigt <strong>und</strong>gefiltert werden sollen.6.4 Konzept einer flexiblen DialogflusskontrolleIn diesem Abschnitt werden verschiedene Möglichkeiten zur Erweiterung <strong>und</strong> Verbesserung der Dialogflusskontrollebei Benutzereingaben diskutiert.Zunächst wollen wir die Motivation für die Weiterentwicklung der Dialogflusskontrolle anhandeines Beispiels erklären. Im Rahmen meines Systementwicklungsprojekts wurde eine <strong>interaktive</strong> Modelltransformationrealisiert, bei der eine Komponente in ein Kanalbündel eingefügt werden musste,wobei die Kanäle durch die eingefügte Komponente ”durchgeleitet” wurden, d.h., die Kanäle wurdengelöscht <strong>und</strong> ihre Ports durch neue Kanäle mit den Ports der eingefügten Komponente verb<strong>und</strong>en. Umden Vorgang zu starten, muss der Benutzer eine Hauptkomponente auswählen, deren Kanäle <strong>und</strong> Unterkomponentenan der Transformation teilnehmen werden, <strong>und</strong> anschließend den Menüpunkt ”Edit→ Split channels” auswählen. Es beginnt ein dialogbasierter Vorgang, bei dem der Benutzerin drei aufeinander folgenden Dialogen folgende Eingaben machen soll:1: Auswahl mehrerer Kanäle, die das Kanalbündel bilden.2: Auswahl der Komponente, die in das Kanalbündel einzufügen ist.3: Zuordnung der Ausgangsports des Kanalbündels zu Eingangsports der eingefügten Komponente<strong>und</strong> Zuordnung der Eingangsports des Kanalbündels zu Ausgangsports der eingefügten Komponente,die durch neue Kanäle verb<strong>und</strong>en werden sollen.Nach dem Abschluss des dritten Teilschritts wird eine Kopie der ausgewählten Komponente in dasKanalbündel eingefügt <strong>und</strong> ihre Ports werden durch neue Kanäle mit den Ports des Kanalbündelsverb<strong>und</strong>en. Eine ausführliche Beschreibung dieses Vorgangs findet sich in [Tracht] (S.40-47).Man kann sich leicht eine Situation vorstellen, in der der Benutzer im dritten Teilschritt ein DutzendPortzuordnungen getroffen hat <strong>und</strong> sich dann überlegt, dass er im ersten Schritt noch einen Kanaldazunehmen will. In diesem Fall kann der Benutzer mithilfe des Previous-Buttons im Eingabedialogzum zweiten <strong>und</strong> dann zum ersten Teilschritt zurückkehren, die Kanalauswahl anpassen <strong>und</strong> zum drittenTeilschritt weitergehen: die Eingaben, die er im dritten Eingabedialog vorgenommen hat, gehendabei nicht verloren.Dieser Vorgang lässt sich zwar zurzeit nicht mithilfe einer <strong>ODL</strong>-Abfrage programmieren, diessollte aber voraussichtlich mit den nächsten Erweiterungen der <strong>ODL</strong>-Ausdrucksmächtigkeit möglichwerden. Nehmen wir also an, dass es eine <strong>ODL</strong>-Abfrage gibt, die diesen Vorgang beschreibt (eine

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!