Click here to load reader

Modell-zu-Modell-Transformation von Modellen von Benutzerschnittstellen

  • View
    0

  • Download
    0

Embed Size (px)

Text of Modell-zu-Modell-Transformation von Modellen von Benutzerschnittstellen

Modell-zu-Modell-Transformation von Modellen von BenutzerschnittstellenVom Fachbereich Informatik zur
Erlangung des Grades eines Doktor-Ingenieurs (Dr.-Ing.) genehmigte
D i s s e r t a t i o n
vorgelegt von
Darmstadt, 2012
Hochschulkennziffer D17
3
Zusammenfassung
Aus diesem Grund wird schon seit langerem modell-getriebene Softwareent- wicklung von Benutzerschnittstellen mit Modell-zu-Modell-Transformationen als moglichem Losungsansatz untersucht. Hierbei werden Modelle, die von den spe- zifischen Eigenschaften der Gerate abstrahieren, in “konkrete” Modelle transfor- miert, die an deren Eigenschaften angepasst sind. Diese Modelle konnen dann direkt durch einen Interpreter dargestellt oder durch eine weitere Transformation in Quelltext uberfuhrt werden.
Dadurch, dass fur viele Gerate auch viele konkrete Modelle erzeugt wer- den mussen, werden auch entsprechend viele Modell-zu-Modell-Transformationen benotigt. Ublicherweise werden diese Modell-zu-Modell-Transformationen von Entwicklern per Hand entwickelt. Der Entwicklungsaufwand ist entspre- chend hoch. Um diesen zu reduzieren, konnen deklarative Modell-zu-Modell- Transformationssprachen eingesetzt werden, die die Programmierung erleichtern.
Diese Arbeit beschaftigt sich mit der Frage, welche Konzepte solche Sprachen unterstutzen mussen, damit sie sich “gut” zur Programmierung von Transforma- tionen eignen. Ein Schwerpunkt dieser Arbeit liegt dabei auf der Generierung von Modellen grafischer Benutzerschnittstellen, da diese den Markt dominieren. Um dieses Problem anzugehen, werden Constraint Solving, Optimierung und verschie- dene weitere Erweiterungen in Transformationssprachen integriert. Diese Integra- tion ermoglicht die Deklaration von Constraints auf Komponenten von Benutzer- schnittstellen, wie sie haufig in Ansatzen zur Generierung von Benutzerschnittstel- len ohne Transformationen schon verwendet wurden.
Die neuen Konzepte werden Bestandteil der neuen Transformationssprache na- mens “Solverational”. Im Rahmen der Implementierung wird eine Architektur und ein Interpreter vorgestellt. Um Transformationen mit bewahrten Vorgehensmodel- len entwickeln zu konnen, werden mehrere Schritte vorgestellt, um die diese erwei- tert werden konnen. Zur moglichst anschaulichen Demonstration der Flexibilitat der Transformationssprache wird eine Menge von Transformationen deklariert, die beispielhaft verschiedene sog. “Strategien” zur Erzeugung von Modellen von Be- nutzerschnittstellen implementieren. Diese beschranken sich nicht auf grafische Be- nutzerschnittstellen, sondern zeigen die breite Anwendbarkeit der Konzepte.
Zur Evaluation der Transformationssprache werden verschiedene Untersuchun- gen durchgefuhrt, die die Qualitat von “Solverational” messen. Die Ergebnisse der Untersuchungen zeigen, dass die neuen Sprachkonstrukte Transformationssprachen zur Transformation von Modellen von Benutzerschnittstellen verbessern konnen.
4
Abstract
User interface software technology faces a steadily increasing diversification of computing devices. User interfaces should be able to adapt to these new devices to achieve maximum usability. Model-driven software development and especially model-to-model transformation provides a solution. Used for models of user inter- faces, model-to-model transformations derive device-specific models of various user interfaces from models which abstract from device-specific properties. To be dis- played, device-specific models can then be interpreted or transformed into source- code.
However, generating a large number of device-specific models implies that ma- ny model-to-model transformations must be available. Usually the model-to-model transformations are being written by hand. Enormous efforts must be invested for this many transformations as a result. To reduce complexity by facilitating pro- gramming of model-to-model transformations declarative languages can be used.
We investigate which concepts and language constructs should be integrated to achieve model-to-model transformation languages “well” suited for programming transformations. A key aspect are graphical user interfaces which still dominate the market. To tackle the problem we propose to integrate optimization and cons- traint solving into a standard model transformation language. Using this approach constraints can be used to generate user interface models.
The newly introduced language contructs have been integrated into the new model-to-model transformation language called “Solverational”. As a proof-of- concept we present an interpreter as well as a set of transformations written in the language. However, the approach is not limited to graphical user interfaces and we provide some transformations used for other purposes.
We evaluate our concepts using a number of different analysis which evaluate the “quality” of the Solverational language. We compare Solverational with other approaches. Results show that Solverational is rather well suited for model-to- model transformation of user interface models.
5
Danksagung
Mit Abgabe der Doktorarbeit mochte ich mich bei einer großen Anzahl von Leuten bedanken. Die hier aufgefuhrten Personen und -gruppen stellen aus Platzgrunden nur eine Teilmenge dar.
Ein besonderer Dank gilt meinem Doktorvater, Herrn Prof. Dr. Max Muhlhauser, der nicht nur durch die Finanzierung der Dissertation diese uberhaupt moglich machte. Auch die inspirierende Atmosphare, die er in der Telekooperation geschaffen hat und das Ziel Personlichkeiten auszubilden sind meiner Erfahrung nach von unschatzbaren Wert fur Dissertation und weiteren Lebensweg. An dieser Stelle mochte ich mich auch bei Herrn Prof. Dr. Heiko Krumm fur die Ubernahme des Zweitgutachtens bedanken.
Besonders bedanken fur Unterstutzung und Entbehrungen muss ich mich bei meiner Familie und meinen Freunden. Stefanie, meine geliebte Frau, hat nicht wenige Stunden auf mich verzichtet um mir die Durchfuhrung der Arbeit zu ermoglichen. In ahnlicher Weise dankbar bin ich auch meinen Eltern und weiteren Verwandten. Wahrend der Dissertation kam auch Valentin Petter, mein “kleiner Großer” zur Welt, der manchmal auf Spielen mit Papa verzichtete und dem ich fur ein extra an Motivation dankbar bin. Viele Freunde haben die Arbeit Korrektur gelesen, dafur sei allen gedankt.
Allen ehemaligen Kollegen der Telekooperation mochte ich fur ihre Inspirati- on und Unterstutzung danken. Meinen ehemaligem Kollegen Alexander Behring mochte ich als Kollege und Freund besonders erwahnen, ohne dessen Zusammen- arbeit die vorliegende Dissertation nicht halb so viel Spaß gemacht hatte.
Schlussendlich mochte ich auch den Prufern, Zuhorern und Lesern danken.
Olbronn-Durrn, den 17.12.2011
Abbildungsverzeichnis 11
Tabellenverzeichnis 13
Quelltextverzeichnis 15
1 Einleitung 17 1.1 Modelle und Transformationen . . . . . . . . . . . . . . . . . . . . . 18 1.2 Transformationen und Benutzerschnittstellen . . . . . . . . . . . . . 20 1.3 Forschungsfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.4 Struktur dieser Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 Verwandte Arbeiten 25 2.1 Transformationen und Constraints . . . . . . . . . . . . . . . . . . . 27
2.1.1 Fokus: Transformationen . . . . . . . . . . . . . . . . . . . . 29 2.1.2 Fokus: Constraints . . . . . . . . . . . . . . . . . . . . . . . 33
2.2 Transformationen und Benutzerschnittstellen . . . . . . . . . . . . . 36 2.2.1 Fokus: Graphentransformation und Layout . . . . . . . . . . 36 2.2.2 Fokus: Benutzerschnittstellen . . . . . . . . . . . . . . . . . 40
2.3 Transformationen und Optimierung . . . . . . . . . . . . . . . . . . 45 2.3.1 Fokus: Modell- oder Graphentransformation . . . . . . . . . 45 2.3.2 Fokus: Optimierung . . . . . . . . . . . . . . . . . . . . . . . 47
2.4 Benutzerschnittstellen und Constraints . . . . . . . . . . . . . . . . 48 2.4.1 Fokus: Benutzerschnittstellen . . . . . . . . . . . . . . . . . 49 2.4.2 Fokus: Constraints . . . . . . . . . . . . . . . . . . . . . . . 50
2.5 Benutzerschnittstellen und Optimierung . . . . . . . . . . . . . . . 52 2.5.1 Fokus: Benutzerschnittstellen . . . . . . . . . . . . . . . . . 53 2.5.2 Fokus: Optimierung . . . . . . . . . . . . . . . . . . . . . . . 56
2.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.6.1 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7
3.1.1 Herleitung von Konzepten . . . . . . . . . . . . . . . . . . . 64 3.1.2 Constraint-Solving . . . . . . . . . . . . . . . . . . . . . . . 65 3.1.3 Constraint-Solving in Modell-zu-Modell-Transformationen . 68 3.1.4 Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.1.5 Derivatprobleme . . . . . . . . . . . . . . . . . . . . . . . . 82
3.2 Transformation von Benutzerschnittstellen . . . . . . . . . . . . . . 86 3.2.1 Benutzbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.2.2 Meta-Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.2.3 Constraint-Solving und qualitative Regeln . . . . . . . . . . 91 3.2.4 Optimierung mit quantitativen Regeln . . . . . . . . . . . . 93 3.2.5 Scheduling bei Modellen von Benutzerschnittstellen . . . . . 95 3.2.6 Strategien zur Generierung von Benutzerschnittstellen . . . . 96
3.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.1.1 QVT Relations . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.1.2 Solverational . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.2 Architektur zur Interpretation . . . . . . . . . . . . . . . . . . . . . 113 4.2.1 Vorteile der Architektur . . . . . . . . . . . . . . . . . . . . 115 4.2.2 Nachteile der Architektur . . . . . . . . . . . . . . . . . . . 116 4.2.3 Vorteile der Abbildung auf CLP . . . . . . . . . . . . . . . . 116 4.2.4 Nachteile der Abbildung auf CLP . . . . . . . . . . . . . . . 117
4.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.3.1 Beschrankungen der Implementierung . . . . . . . . . . . . . 119 4.3.2 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.4 Integration in Vorgehensmodelle . . . . . . . . . . . . . . . . . . . . 120 4.4.1 Entwicklungsphase . . . . . . . . . . . . . . . . . . . . . . . 121 4.4.2 Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.4.3 Iterative Methodik und Beispiel . . . . . . . . . . . . . . . . 124
4.5 Transformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.5.1 Hardware-Transformation . . . . . . . . . . . . . . . . . . . 127 4.5.2 Anoto-Transformation . . . . . . . . . . . . . . . . . . . . . 132 4.5.3 Panel-Transformation . . . . . . . . . . . . . . . . . . . . . . 133 4.5.4 AUI2CUI-Transformation . . . . . . . . . . . . . . . . . . . 139 4.5.5 Performance-Transformation . . . . . . . . . . . . . . . . . . 140
4.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5 Evaluation 147 5.1 Methodik zur Evaluation . . . . . . . . . . . . . . . . . . . . . . . . 150
5.1.1 J. Howatts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.1.2 D. Olsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.1.3 Kombination . . . . . . . . . . . . . . . . . . . . . . . . . . 151 5.1.4 Ausgereift . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.1.5 Benutzbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.1.6 Domanen-gerecht . . . . . . . . . . . . . . . . . . . . . . . . 154 5.1.7 Komplexes Entscheidungskriterium . . . . . . . . . . . . . . 155
5.2 Verstandlichkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.2.1 Hypothese . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 5.2.2 Studiendesign . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.2.3 Datenanalyse und Prasentation . . . . . . . . . . . . . . . . 159 5.2.4 Bedeutendste Faktoren, die die Validitat einschranken konnen163 5.2.5 Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . 164
5.3 Schreibbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 5.3.1 Hypothese . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 5.3.2 Studiendesign . . . . . . . . . . . . . . . . . . . . . . . . . . 166 5.3.3 Datenanalyse und Prasentation . . . . . . . . . . . . . . . . 166 5.3.4 Bedeutendste Faktoren, die die Validitat einschranken konnen168 5.3.5 Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . 168
5.4 Allgemeingultigkeit der Ansatze . . . . . . . . . . . . . . . . . . . . 169 5.4.1 Untersuchte Transformationen . . . . . . . . . . . . . . . . . 169 5.4.2 Datenanalyse und Prasentation . . . . . . . . . . . . . . . . 173 5.4.3 Bedeutendste Faktoren, die die Validitat einschranken konnen176 5.4.4 Interpretation und Fazit . . . . . . . . . . . . . . . . . . . . 177
5.5 Ausdrucksmachtigkeit SGG-Solverational . . . . . . . . . . . . . . . 177 5.5.1 Raumliche Relationen . . . . . . . . . . . . . . . . . . . . . 178 5.5.2 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.5.3 Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 5.5.4 Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 5.5.5 Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 5.5.6 Beispiel zur Nutzung der Constraints . . . . . . . . . . . . . 183 5.5.7 Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . 184
5.6 Effizienz des Constraint-Solving Ansatzes . . . . . . . . . . . . . . . 185 5.6.1 Datenanalyse und Prasentation . . . . . . . . . . . . . . . . 186 5.6.2 Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . 186 5.6.3 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.7 Abdeckung von Regeln aus dem Apple Style Guide . . . . . . . . . 188 5.7.1 Bedeutendste Faktoren, die die Validitat einschranken konnen190
10 INHALTSVERZEICHNIS
5.8 Ergebnisse und Entscheidungskriterium . . . . . . . . . . . . . . . . 192 5.8.1 Ausgereift . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 5.8.2 Benutzbar . . . . . . . . . . . . . . . . . . . . . . . . . . . .…