Autor, Roland Petrasch - Semantic Scholar

Moore, C. Potts, G. Skousen, J. Thomas: Putting it all together: towards a pattern ... relevance of Christopher Alexander's ideas for HCI. In: Proceedings of the ...
555KB Größe 6 Downloads 345 Ansichten
Model Based User Interface Design: Model Driven ArchitectureTM und HCI Patterns Roland Petrasch TFH Berlin, Luxemburger Str. 10, 13353 Berlin [email protected] Abstract Der modellgetriebene Entwicklungsansatz, den die OMG als Model Driven ArchitectureTM (MDATM) bezeichnet, fordert die Trennung der fachlichen Essenz (Anwendersicht) von den technischen Details (Entwicklersicht), wobei formale Modelle für die notwendige Präzision und Prägnanz sorgen. Die Vorteile dieser Separation und des hohen Formalisierungsgrades in den frühen Phasen eines Projektes sind u.a. die Wiederverwendbarkeit der Modelle und die verbesserte Wartbarkeit und Portabilität der zum größten Teil automatisiert entstehenden Software-Artefakte. Die MDA eignet sich prinzipiell auch für interaktive Systeme, macht allerdings keine genauen Vorgaben, welche Modelle zu verwenden sind und wie softwareergonomische Anforderungen erfüllt werden können. HCI-Patterns1 sind ein seit geraumer Zeit verfügbare Technik des Usability-Enginerings und können einen Beitrag zur Software-Ergonomie leisten, wurden jedoch bisher kaum im Kontext der MDA beschrieben. Dieser Beitrag zeigt die Grundlagen für die Verwendung von HCI-Patterns in Verbindung mit der MDA. Dabei werden die Modelle, der MDA-Entwicklungsprozess und HCI-Patterns berücksichtigt. Das hier vorgestellte Konzept für ein Model Based User Interface (MBUI) ist allerdings zur Zeit noch im Rahmen eines Forschungsprojektes in der Entwicklungs- und Erprobungsphase. Keywords: Modellbasierte Software-Entwicklung, Model Driven Development, MDA, Model Driven Architecture, UI-Modellierung, User Interface, HCI, Human Computer Interaction, HCI Pattern, Usability, Software-Ergonomie

1. Einführung Die Relevanz software-ergonomischer Aspekte bei der Entwicklung interaktiver Systeme bedarf keiner besonderen Erwähnung. Der Aufwand für das User Interface Design (einschließlich der Programmierung) wurde in einer Studie auf knapp 50% beziffert [Myer92] und dürfte heute kaum geringer sein, denn die Verbreitung interaktiver Systeme und auch die Anforderungen an das User Interface sind gestiegen (Web 2.0 Anwendungen sind hier ein gutes Beispiel). Auch der Automatisierungsgrad für die GUI-Erstellung hat in der Praxis nicht den Stand erreicht, wie dies z.B. bei der Persistenz der Fall ist. Seit ca. 10 Jahren sind HCI Patterns im Rahmen des Software-Engineerings bekannt, z.B. [Cora96], [Tidw98]. 1 Die deutschsprachige Bezeichnung ist Entwurfsmuster in der Mensch-Computer-Interaktion.

Sie können als „natürliche Weiterentwicklung“ der Design Patterns angesehen werden. Die Definitionen für den Begriff Pattern bleiben allerdings auf einer sehr allgemeinen Ebene, z.B.: “Patterns are abstract, core solutions to problems that recur in different contexts but encounter the same ‘forces’ each time.” [Grah03]. Insofern erstaunt es nicht, dass es eine Vielzahl von Vorschlägen für Pattern Langauges gibt [Bayl98], [Brad98], [Grah03], [Tidw99], [Welie03] und es darüber hinaus umstritten ist, welche Anforderungen an Patterns und deren Beschreibungen zu stellen sind. Beispielsweise spricht Borchers unter Hinweis auf die fehlende Verständlichkeit für Laien den GoF-Patterns [Gamm95] ihren Status als Patterns ab („The Gang of Four book contains no patterns“ [Borc00]). Ungeachtet solcher noch offenen Punkte sind HCIPatterns wie auch Design-Patterns bei Experten akzeptiert und in gewisser Weise verbreitet. Eine Verbindung zur modellbasierten bzw. -getriebenen Software-Entwicklung zu schaffen, liegt durchaus nahe. Seit längerem besteht der Wunsch, Software-Systeme „industriell“ zu fertigen, d.h. Code automatisiert zu erstellen und den Wiederverwendungsgrad von Artefakten zu erhöhen. Patterns können dabei als wiederverwendbare Lösungen auf Modell- und Code-Ebene hilfreich sein. Im Folgenden sei dieser Brückenschlag zwischen HCI-Patterns und den modellgetriebenen Verfahren ansatzweise vorgestellt. Den Ausgangspunkt und die Grundlage dafür bildet die MDA der OMG, die im folgenden Kapitel kurz beschrieben ist. Auch der MDA-Prozess, d.h. die grundlegende Vorgehensweise für MDA-Projekte sei beispielhaft erläutert. Im Anschluss daran sind UI-Modellierung, HCIPatterns sowie der Human Centered Design Process gem. ISO 13407 kurz vorgestellt. Im Anschluss daran wird ein modellbasierter UI-Entwicklungsprozess unter Verwendung von HCI-Patterns eingeführt.

2. Model Driven Architecture Der von der OMG vorgestellte Ansatz der modellgetriebenen Architektur in Form der Model Driven Architecture (MDA) verfolgt die Vision von der Interoperabilität, Integration, Vielfalt und Koexistenz von Software-Systemen. Aus plattformunabhängigen Modellen (Computation und Platform Independent Model, CIM / PIM) werden durch Transformationen plattformspezifische Artefakte (Plattform Specific Model, PSM). Code lässt sich dabei zum großen Teil generieren [Petr06].

Die (theoretischen) Vorteile der MDA [MDA, S. 1-2] sind: • Ein erstelltes Fachkonzept (PIM) ist für neue Infrastrukturen (wieder-)verwendbar, • die Implementierung und das Konzept bzw. Design liegen in konsistenter Form vor, • die Wartung wird durch die Verfügbarkeit eines formalen und aktuellen Konzeptes erleichtert und • die Modelle, aus denen sich Code generieren lässt, eignen sich genauso gut für die Validierung gegen Requirements, den Test gegen diverse Infrastrukturen oder die Simulation. Die UML [UML] kann für die Modellierung zum Einsatz kommen, muss es aber nicht: Jede MOF-konforme [MOF] DSL ist genauso gut für die MDA geeignet. Für Abfragen, Sichten und Transformationen sind QVTImplementierungen [QVT] zu nutzen2. Weiterhin ist eine individuelle Vorgehensweise (Vorgehensmodell) mit passenden Methoden zu definieren, da die MDA kaum konkrete Vorgaben macht, z.B. über die Art und und Anzahl der Modelle und Transformationen. Lediglich ein allgemeines MDA-Pattern und diverse Spezialisierung sind durch den MDA-Guide beschrieben [MDA]. Im folgenden sei beispielhaft ein Vorgehen für die objektorientierte Software-Entwicklung angedeutet: Ein solches OO-MDA-Vorhaben gliedert sich in zwei Projekte, wobei a) das Plattformprojekt die Generatorentwicklung mit den Modelltransformationen und die Code-Generierung fokussiert und b) das Kundenprojekt die anwendungsspezifischen Bereiche umfasst - einschließlich einiger (weniger) manuell zu erstellenden Code-Anteile. Im Kundenprojekt gibt es die folgenden Phasen: In der OOA-Phase sind gem. der MDA die Modelle CIM und PIM relevant. Das PIM wird im Entwurf (OOD) zum PSM transformiert (Model-To-Model-Transformation). Für die Programmierung (OOP) entsteht dann durch eine Model-to-Code-Transformation ein PSI (Platform Specific Implementation). Die für die Modellierung notwendigen Metamodelle, die Transformationen und die Plattformbeschreibungen kommen nebst Transformator-/Generator-Tools vom Plattformprojekt, welches getrennt vom Kundenprojekt betrieben wird. Die MDA definiert für die Modelle (CIM, PIM, PSM) entsprechende Perspektiven (Viewpoints): Computation Independent Viewpoint, Platform Independent Viewpoint und Platform Specific Viewpoin [MDA, S. 2–3]. Im folgenden ist die Entwicklung des User Interface zu berücksichtigen. Es wird deutlich, dass die MDA bei diesem Thema bewusst viele Punkte zugunsten der Allgemeingültigkeit des Ansatzes offen lässt. 2 Eine komplette QVT-Implementation ist zwar momentan noch nicht verfügbar, wird es aber wohl in absehbarer Zeit geben.

3. HCI-Entwicklung und HCI-Patterns 3.1 Entwicklungsprozess für interaktive Systeme Die Vielzahl der HCI-Entwicklungsansätze lässt eine erschöpfende Darstellung an dieser Stelle nicht zu. Stattdessen sei zur Orientierung die ISO 13407 erwähnt, die einen Human-Centred Design Process for Interactive Systems definiert [ISO13407]. 1. Plan the human centred process

Meets requirements 2. Specif y the context of use 5. Ev aluate designs against user requirements

3. Specif y user and organisational requirements 4. Produce design solutions

Bild 1: Human Centred Design (UCD) Process nach ISO 13407 [ISO13407] Dieser UCD-Prozess besteht aus den folgenden Teilen: 1. Planung des benutzerzentrierten Prozesses, 2. Spezifikation des Nutzungskontextes, 3. Spezifikation der benutzerorientierten und organisatorischen Anforderungen, 4. Entwicklung einer Lösung (Design), 5. Evaluation des Designs gegen die Anforderungen. Dieser Zyklus bricht erst im Schritt 5 ab, wenn die Anforderungen erfüllt sind (s. Bild 1). Bevor ausgehend vom UCD-Prozess der ISO 13407 näher auf HCI-Patterns und MDA eingegangen wird, sei vorbereitend das Thema HCI in Verbindung mit Modellierung erläutert. 3.2 Modellbasierte HCI-Entwicklung Modellierung gem. der MDA impliziert Abstraktion von der jeweiligen Plattform, für die das System erstellt wird, d.h. die HCI-Modelle abstrahieren vom UI-Basissystem (z.B. JSP, KDE, SWT, Swing). Für eine solche abstrakte Beschreibung gibt es seit über 20 Jahren diverse Sprachen bzw. Notationsformen, z.B. Multi-Party-Grammatiken, Zustandsübergangsdiagramme, Petri-Netze und andere spezielle Notationsformen wie die User Action Notation [Hart90]. Diese sind jedoch zum Teil nicht metamodellbasiert bzw. MOF-konform [MOF], so dass eine Verwendung für die MDA (zu) aufwändig wäre. Vielversprechender sind daher UML-Profile oder zumindest UML-ähnliche Ansätze. Sprachen, die den UMLProfilmechanismus (leichtgewichtiger Ansatz) verwenden sind u.a. GUILayout [Blan04], Wisdom [Nune01], UWE [Koch01]. Schwergewichtige Verfahren arbeiten mit eigenen Metamodellen, z.B. UMLi [Silv02], [Silv03]. Im Folgenden seien aufgrund der leichteren Anwendbarkeit UML-Profile berücksichtigt. Auch XML-basierte

Sprachen wie UIML [Phan00] oder webML [Ceri03] werden nicht weiter betrachtet3. In der Praxis herrschen allerdings nach wie vor User-Interface Builder für spezielle Plattformen vor, d.h. die o.g. formalen bzw. modellbasierten Verfahren kamen bisher nur begrenzt zum Einsatz. Mit der Verfügbarkeit leistungsfähiger Modellierungswerkzeuge und MDATools sowie entsprechender Standards, z.B. XMI für den Austausch von Modelldaten, werden Verfahren für eine plattformunabhängige UI-Modellierung in Verbindung mit Generatoren praxistauglicher. Zur Verdeutlichung werden im Folgenden Auszüge aus dem Projekt MBUI (Model Based User Interface) verwendet. Als Beispiel für die UI-Modellierungsbasis dient das MBUI-Profile. welches u.a. einen Satz von Stereotypen bereit stellt. Diese hier verwendeten Stereotypen sind als Extension für die Metaklassen Class und Association definiert. Es gibt z.B. eine Dialogmaske (Dialog) und eine Fläche (Area), auf der Interaktionselemente (I_Element) vorhanden sein können. Interaktionselemente sind u.a. Buttons (Button) und Textfelder (TextField), die eine Interaktivität aufweisen können (Interaction). Der Spezialfall einer Interaktion ist die Navigation, die Interaktionselemente miteinander verbindet. Bild 2 zeigt einen Ausschnitt des MBUI-Profils und beispielhaft die Erweiterungsbeziehung zu den Metaklassen der UML aus dem KernelPackage [UML].

(BookingFeedback) dafür, dass der Anwender diesen Vorgang mit Ja (Yes) oder Nein (No) bestätigt (s. Bild 3). Erst bei positiver Rückmeldung erscheint die Bestätigung über die erfolgte Buchung (BookingConfirm).

Bild 3: Beispielanwendung PIM für die Flugbuchung Auf der Grundlage eines solchen PIM kann ein Generator für die Zielarchitektur Web 2.0 eine AJAX-basierte Anwendung automatisch erstellen (PSM/PSI). Bild 4 zeigt das Beispiel der Flugbuchung als Web 2.0Applikation: Vom Buchungsdialog wird durch den Buchen-Button zum Feedback-Dialog navigiert.

Bild 2: MBUI-Profile (Ausschnitt) Der Abstraktionsgrad des Profils ist bewusst begrenzt worden: Der Stereotyp «Button» beispielsweise impliziert ein visuelles User Interface, was lediglich der Anschaulichkeit geschuldet ist. Es ist denkbar, andere Abstraktionen durch entsprechende Profile zu bilden. Ein konkretes UI-Konzept (PIM) für eine interaktive Anwendung kann nun diese Stereotypen verwenden. Als Beispiel sei eine Application für Flugreisen gewählt, die einen Buchungsdialog (FlightBooking) mit einem Button für das Buchen (Book) anbietet. Bevor dann der Flug verbindlich gebucht wird, sorgt ein Feedback-Dialog 3

Es sei jedoch angemerkt, dass sich XML-basierte Ansätze i.d.R. recht einfach in UML-Profile überführen lassen.

Bild 4: Beispiel Flugbuchung als Web 2.0-Applikation Das o.g. Beispiel soll verdeutlichen, dass die Modellierung eines interaktiven Systems mithilfe der UML und dem MBUI-Profils zwar möglich und hinreichend abstrakt ist, so dass Generatoren diverse Zielarchitekturen bedienen können, jedoch zwei Nachteile damit verbunden sind: a) Die Modelle werden rasch unübersichtlich, da viele strukturelle Details des Systems abgebildet werden und b) eine Unterstützung in Hinblick auf das UsabilityEngineering, die software-ergonomische Anforde-

rungen berücksichtigt, ist bei der Modellierung nicht vorhanden. Die Lösung des zweiten Problems sind zumindest teilweise in den HCI-Patterns zu sehen, die kurz vorgestellt werden. 3.3 HCI-Patterns HCI-Patterns sollen – so wie Design-Patterns auch – bewährte Lösungen für Aufgabenstellungen anbieten, die sich durch die Entwicklung interaktiver Systeme ergeben, d.h. einen Wissenstransfer bewirken [Borc00]. Die Aufgaben leiten sich durch software-ergonomische Anforderungen ab, z.B. Steuerbarkeit, Selbstbeschreibungsfähigkeit, Erwartungskonformität [ISO9241]. Die Basis für viele HCI-Patterns sind daher entsprechende Prinzipien des Usability Engineering, z.B. Recognise Not Recall. Beim HCI Pattern The Wizard [Welie] wird auf das Usability Principle User Guidance (Visibility) verwiesen. Bild 5 zeigt die Verbindung zwischen Heuristiken und HCI-Patterns für die Domäne Computerspiel [Folm07].

3.3 Modellbasierte HCI-Patterns HCI-Patterns lassen sich vom Prinzip her formal mit UML-Profilen bzw. MOF-konformen Sprachen ausdrücken – zumindest gelingt dies einfach bei den meisten Detailed Design Patterns. Im Rahmen des MBUI-Projektes wurden verschiedene Patterns in UML modelliert. Bild 6 zeigt das HCI-Pattern Feedback, das einen Feedback-Dialog mit Yes-, No- und Cancel-Button anbietet. Den Buttons sind Navigationsinteraktionen zugeordnet, so dass ein Anwender auf entsprechende andere Dialoge (PositiveResult oder NegativeResult) oder zum Ausgangsdialog (Cancel) gelangt.

Bild 6: MBUI-HCI-Pattern Feedback

Bild 5: Heuristiken und HCI-Patterns nach [Folm06] Neben den Anwendungsgebieten lassen sich HCI-Patterns allerdings noch nach weiteren Kriterien einordnen [Dear00], z.B. nach [Mahe01]: • Organisational Process Patterns, • High-Level Specification Patterns und • Detailed Design Patterns. Während die ersten beiden Arten von Pattern komplexe Sachverhalte und übergeordnete Aspekte fokussieren, z.B. die Kultur der Anwender, gehen die Detailed Design Patterns eher auf die konkreten Umsetzungen ein. Solche Patterns lassen sich zum Teil mit „normalen“ Design Pattern ausdrücken [Went06], wie z.B. das Undo-Pattern [Tidw05] mit den Patterns Memento und Command [Gamm95]. Mittlerweile gibt es zahlreiche HCI-PatternSammlungen, die zum Teil auch öffentlich im Web verfügbar sind, z.B. [Weli04], [HCIP]. Die Art der Pattern-Beschreibung reicht von rein textueller Darstellung bis hin zum Einsatz formaler Sprachen, z.B. mit XML. Als Sprachstandard für die Beschreibung von Patterns steht die Pattern Language Markup Language (PLML) zur Verfügung [Finc03], die die für Patterns typischen Bereiche abdeckt, z.B. pattern name, problems, context, forces (strengths, weaknesses, opportunities, threats), solutio, synopsis, example (illustration, reference, description), rationale, confidence, author (name, email, http).

Die Anwendung des Patterns bezogen auf das Flugbuchungsbeispiel zeigt Bild 7: Von der Flugbuchung gelangt der Anwender zum Feedback-Dialog und kann mit die navigationsrelevanten Interaktionen ausführen (Yes, No, Cancel).

Bild 7: Anwendung des HCI-Patterns Feedback Die Verwendung des Patterns gibt dem UI-Entwickler eine klare Vorgabe bzgl. der Interaktionsmöglichkeiten und unterstützt damit die Einhaltung software-ergonomischer Anforderungen bei der Modellierung, womit das o.g. Problem (b) adressiert wird: In der ursprünglichen Version gab es nur einen Ja- und Nein-Button, jedoch keine Abbruchmöglichkeit. Das Fehlen des CancelButtons wird bei der Verwendung des Feedback-Patterns verhindert. Hierbei wird die Vorteilhaftigkeit des Patterns deutlich. Es bleibt allerdings noch das Problem (a) der Unübersichtlichkeit zu lösen. Dies soll dadurch geschehen, dass erstens eine kompaktere Schreibweise für die Pattern-Anwendung gefunden wird und zweitens der

Aspekt der Navigation von dem Aspekt der Dialogstruktur getrennt wird. Beides liefert das folgende Modell (s. Bild 8): Es zeigt als Navigationsmodell lediglich die Navigationsinteraktionen, wobei die Verwendung des FeedbackPatterns nach wie vor dargestellt wird. Hierfür wurde der Stereotyp «HCI-Pattern» eingeführt, der entsprechende Eigenschaften aufweist, z.B. den PatternNamen und den Dialog (Trigger).

4b. OOP: Transformation (M2C) und Ergänzung durch manuelle Programmierung (PSI) 5. Evaluation des Designs mit modellbasierten Testverfahren und benutzerzentrierten Methoden 1. Plan the MBUI design process

Meets requirements 2. Specif y the context of use (CIM: OOA) 5. Ev aluate designs against user requirements (model-driv en test)

Bild 9: Generierter Feedback-Dialog mit Cancel-Button Abschließend sollen die vorgestellten modellbasierten Konzepte für die Entwicklung interaktiver Systeme in einen HCI-Entwicklungsprozess „eingeordnet“ werden.

4. Modellbasierter HCI-Entwicklungsprozess Der Entwicklungprozess, der im Rahmen des MBUIForschungsprojektes entwickelt wurde, verwendet den HCD-Process der ISO 13407 (s. Bild 1) und bringt MDAspezifische Elemente ein. Bild 10 stellt schematisch den sich daraus ergebenden MBUI Design Process dar, der aus Sicht des Kundenprojektes folgende Phasen umfasst: 1. Planung des Prozesses, 2. OOA: Spezifikation des Nutzungskontextes (CIM) 3. OOA: Modellierung der benutzerorientierte und organisatorische Anforderungen (PIM), 4a. OOD: Transformation des PIM (M2M) und ergänzende Modellierung im PSM

- MBUI prof ile / meta model - MBUI HCI pattern collection - Generator- / cartridges f or platf orms (Web 2.0, SWT...) - MBUI test env ironment

4b. Implement design solutions (PSI: OOP)

Bild 8: Anwendung des Patterns (kompakte Darstellung als Navigationsmodell) Das UI-Modell für die Flugbuchung (s. Bild 3) kann nun von den Navigationsinteraktionen befreit werden und zeigt dann lediglich die Dialogstruktur. Navigationsmodelle sind schon länger im Rahmen ds Usability Engineering bekannt [Petr00]. Auch die neu entstandenen Navigationsmodelle mit HCI-Patterns sind als PIM (plattformunabhängige Modelle zu bezeichnen) und sich lassen zum PSM bzw. zum PSI transformieren. So besitzt der aus den MBUIModellen (PIM) generierte Feedback-Dialog für die Flugbuchung nunmehr auch einen Cancel-Button (s. Bild 9).

MBUI Generator

3. Model user & org. requirements (PIM: OOA)

4a. Model design solutions (PSM: OOD)

Bild 10: MBUI Design Process Für den MBUI-Generator ist das Plattformprojekt (s. Bild 10, Kasten in der Mitte) zuständig, welches das Profil, die Patterns und die Transformationen sowie eine Tool-Kette bereitstellt.

5. Fazit HCI-Modellierung und HCI-Patterns lassen sich mit Mitteln der MDA betreiben, allerdings gibt es einige Hürden zu überwinden. Die Beteiligten müssen mit dem hohen Formalisierungs- und Abstraktiongrad umgehen können, z.B. User Interface Designer, Usability Engineer, SW-Architekt. Die Anforderungen an die Modellierung steigen, wobei die notwendige Präzision oftmals ungewohnt ist. Immerhin bietet der hier vorgestellte modellgetriebene MBUI-Ansatz die Möglichkeit, technologieunabhängige UI-Konzepte entwickeln zu können und einen Großteil der Implementierung für verschiedene Zielplattformen zu generieren. Damit steht mehr Zeit für softwareergonomische Aspekte zur Verfügung und es sind im Ergebnis wiederverwendbare Modelle vorhanden, die die technologischen Innovationszyklen leichter „überstehen“. Die Trennung zwischen Fachkonzepten und technischen Plattformen ist auch für die HCI-Entwicklung möglich und notwendig. Für die modellbasierte Entwicklung interaktiver Systeme und das UsabilityEngineering bleibt jedoch noch viel zu tun. Zu untersuchen ist u.a., ob und wie hierfür andere Ansätze Berücksichtigung finden können, z.B. Contextual Design [Baye98]. Auch stellt sich die Frage nach der Möglichkeit (und den Grenzen) der Formalisierung bzw. der Modellierung in Hinblick auf Prinzipien, Heuristiken und Standards, z.B. [Cons99], [Shne97], [ISO9241]. Mittlerweise sind einige leistungsfähige modellbasierte Verfahren und entsprechende Tools für die HCI-

Entwicklung vorhanden, z.B. strukturierte Aktivitätsdiagramme für Aufgabenmodelle [Forb06], so dass zu vermuten ist, dass eine weitere Verbreitung auch in der Praxis stattfinden wird.

Referenzen [Baye98] H. Bayer, K. Holtzblatt: Contextual Design. Morgan Kaufmann Publishers, 1998 [Bayl98] E. Bayle, R. Bellamy, G. Casaday, T. Erickson, S. Fincher, B. Grinter, B. Gross, D. Lehder, H. Marmolin, B. Moore, C. Potts, G. Skousen, J. Thomas: Putting it all together: towards a pattern language for interaction design. SGICHI Bulletin, 30(1), 1998, S. 17-23 [Blan04] K. Blankenhorn: A UML Profile for GUI Layout, University of Applied Sciences, Furtwangen, Diplomarbeit, 2004 [Borc00] J. Borchers: Interaction Design Patterns: Twelve Theses, Position Paper. In: Workshop:Pattern Languages for Interaction Design. Proceedings CHI 2000. 2-3 April, The Hague, Netherlands, 2000 [Brad98] M. Bradac, B. Fletcher: A Pattern Language for Developing Form Style Windows. In: R. Martin, D. Riehle, F. Buschmann (Hrsg.): Pattern Languages of Program Design. Addison-Wesley Longman, Reading, MA, 1998, S. 347-357 [Ceri03] S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera: Designing Data-Intensive Web Applications. The Morgan Kaufmann Series in Data Management Systems, 2003 (s. auch Webml Research Group: The Web Modelling Language. http://www.webml.org) [Cons99] L. Constantine, L. Lockwood: Software for Use. A practical Guide to the Models and Methods of UsageCentered Design. Addison-Wesley, 1999 [Cora96] T. Coram, J. Lee: Experiences -- A Pattern Language for User Interface Design. In: Pattern Languages of Program Design, Proceedings, 1996 [Dear00] A. Dearden: Patterns and Participation: The relevance of Christopher Alexander's ideas for HCI. In: Proceedings of the BCS HCI Group/IFIP WG13.2 Workshop on HCI Pattern s, London, UK, 2000 [Fieb06] F. Fieber, W. Neuhaus, R. Petrasch (Hrsg.): Werkzeuge und Anwendungsgebiete der modellbasierten Software-Entwicklung. 1. Workshop der Special Interest Group „Model-Driven Software Engineering“ (Tagungsband), Logos-Verlag, Berlin, 2006 [Finc03] S. Fincher: Perspective on HCI Patterns: Concepts and tools (introducing PLML). In: Interfaces (56), British HCI Group, CHI 2003 Workshop Report, 2003, S. 27-28 [Folm06] E. Folmer: Usability Patterns in Games. Futureplay 2006 Conference, London, Ontario, Canada, 3. Oct. 2006 [Forb06] P. Forbig, D. Reichert: Modellbasierte Entwicklung von modellbasierten Werkzeugen. In: [Fieb06] [Gamm95] E. Gamma, R. Helm, R., Johnson, J. Vlissides: Design Patterns: Elements of Reusable ObjectOriented Software, Addison-Wesley, Reading, MA., 1995 [Grah03] I. Graham: A pattern language for web usability. Addison-Wesley, 2003 [Hart90] H. R. Hartson, A. C. Siochi, D. Hix: The UAN: A User-Oriented Representation for Direct Manipulation Interface Designs, ACM Transactions on Information Systems, Vol. 8, No. 3, July 1990, Pages 181-203 [HCIP] http://www.hcipatterns.org [ISO13407] ISO/DIS 13407 Human-centred design processes for interactive systems. ISO, 1999

[ISO9241] ISO 9241-110:2006: Ergonomics of human-system interaction -- Part 110: Dialogue principles. ISO, 2006 [Koch01] Koch, N.: Software Engineering for Adaptive Hypermedia Systems: Reference Model, Modeling Techniques and Development Process. Diss., LudwigMaximilians-University Munich, 2001 [Mahe01] M. J. Mahemoff, L. J. Johnston: Usability Pattern Languages: the "Language" Aspect. In: M. Hirose (Hrsg), Human-Computer Interaction: Interact '01, Tokyo, Japan, , IOS Press, S. 350-358 [MDA] Object Management Group (OMG): MDA Guide. Version 1.0.1, omg/2003-06-01, June 2003 [MOF] Object Management Group (OMG): Meta Object Facility Core Specification (MOF) Version 2.0. Adopted Specification, ptc/03-10-04, Oct. 2003 [Myer92] Myers, B. and Rosson, M. B.: Survey on User Interface Programming, in Proceedings of CHI92 Conference, ACM., 1992 [Nune01] N. J. Nunes: Object Modeling for User-Centered Development and User Interface Design: The Wisdom Approach, Universidade da Madeira, Diss., 2001 [Petr00] R. Petrasch: Development of Ergonomic Software: Transformation from Requirements to Features using a Web Application's Navigation Space as an Example. In: Conference Proceedings, CONQUEST 2000, ASQF. Sept. 2000, S. 118-127 [Petr06] R. Petrasch, O. Meimberg: Model Driven Architecture. Eine praxisorientierte Einführung in die MDA. dpunkt Verlag, 2006 [Phan00] C. Phanouriou: UIML: A Device-Independent User Interface Markup Language. Diss., Virginia Polytechnic Institute and State University, USA, 2000 (http://www.uiml.org) [QVT] Object Management Group (OMG): Ouery/Views/Transformation (QVT). Final adopted Spec., ptc/05-11-01, Nov. 2005 [Shne97] Shneiderman, B.: Designing the User Interface: Strategies for Effective Human-Computer Interaction. 3. Auflage, Addison-Wesley, 1997 [Silv02] P. Pinheiro da Silva: Object Modelling of interactive systems: The UMLi approach, University of Manchester, Diss., 2002 [Silv03] P. Pinheiro da Silva, N. W. Paton: User Interface Modeling in UMLi. IEEE Software, July/Aug. 2003, S. 6269 [Tidw99] J. Tidwell: COMMON GROUND: A Pattern Language for Human-Computer Interface Design. www.mit.edu/~jtidwell/common_ground_onefile.html1999 [Tidw05] J. Tidwell: Designing Interfaces. O’Reilly Media, Sebastopol, USA, 2005 [Tidw98] J. Tidwell: Interaction Patterns. In: Pattern Languages of Program Design,Proceedings, Monticello, IL., USA, 1998 [UML] Object Management Group (OMG): UML 2.1.1 – Unified Modeling Language (UML) Superstructure. Version 2.1.1. Final Adopted Specification, formal/07-02-05, 2005 [Welie03] M. Van Welie, G. C. Van Der Veer: Pattern Languages. In: M. Rauterberg, M Menozzi, J Wesson (Hrsg.): Interaction Design: Structure and Organization, INTERACT 2003, . IOS Press, Zürich, Switzerland, September 2003 [Welie07] M. Van Welie: Web Design Patterns. http://www.welie.com/patterns (Stand: 1.7.2007) [Went06] I. Wentzlaff, M. Specker: Pattern Based Development of User Friendly Web Applications. ACM ICWE’06 Workshops, Palo Alto, CA, USA, 10.-14. Juli 2006