Kurzfassung

Home - Sitemap - About » Computer Science - Research - Dissertation
Computer Science
Research, Industry Work,
Programming
Community Service
Hillside Group, CHOOSE,
Stanford GSA
The Serious Side
Business School,
Learning Chinese
Humorous Takes
Switzerland, United States,
Software, Fun Photos
Travel Stories
Europe, United States, Asia
  
Living Places
Berlin (+ Gallery), Zürich
Boston, S.F. + Bay Area

Der rollenmodellbasierte Entwurf von Frameworks, wie ihn die vorliegende Dissertation beschreibt, macht das Entwerfen, Verstehen, und Verwenden objektorientierter Frameworks einfacher, als es mit herkömmlichen klassenbasierten Entwurfsmethoden möglich ist.

Objektorientierte Frameworks dienen dazu, die Produktivität der Anwendungsentwicklung zu erhöhen und die Zeit zu reduzieren, bis eine Anwendung fertiggestellt und ausgeliefert werden kann. Man hofft, dies durch Entwurfs- und Codewiederverwendung zu erreichen. Viele Projekte zeigen, dass diese Ziele erreicht werden können. Allerdings zeigen gescheiterte Projekte ebenfalls, dass diese Ziele nicht immer einfach zu erreichen sind. Die vorliegende Dissertation behandelt drei zentrale Probleme des Entwurfs und der Verwendung von objektorientierten Frameworks: die Komplexität von Klassen, die Komplexität des Objektzusammenspiels ("object collaboration") und die fehlende Klarheit in den Anforderungen, die ein Framework an Klienten stellt, die es benutzen wollen.

Der Entwurf von Frameworks mittels Rollenmodellierung, wie ihn diese Dissertation entwickelt, ist eine evolutionäre Weiterentwicklung des klassenbasierten Entwurfs. Der Ansatz erweitert den traditionellen klassenbasierten Entwurf mit Konzepten der Rollenmodellierung. Beim vorgestellten Ansatz spielen Objekte Rollen, welche durch Rollentypen beschrieben werden. Normalerweise spielt ein Objekt mehrere Rollen, so dass die Klasse eines Objektes mehrere Rollentypen komponiert. Weiterhin dient das Zusammenspiel von Objekten üblicherweise mehreren unterschiedlichen Aufgaben, die als Objektzusammenspiel mit einer Aufgabe ("object collaboration task") bezeichnet werden. Solch ein Objektzusammenspiel mit einer Aufgabe wird durch ein Rollenmodell beschrieben. Ein Klassenmodell ist dann die Komposition aller relevanten Rollenmodelle; es beschreibt wie Exemplare der Klassen des Klassenmodells zusammenspielen. Die Beschreibung von Klassen als Kompositionen von Rollentypen und von Klassenmodellen als Kompositionen von Rollenmodellen reduziert die Komplexität von Klassen und die Komplexität des Zusammenspiels von Objekten.

In einem weiteren Schritt führt die vorgestellte Methode Frameworks als eigenständige Entwurfs- und Implementierungsartefakte ein, welche sich wohldefiniert gegen ihre Umgebung abgrenzen. Dabei verwendet ein Framework sogenannte freie Rollentypen, um festzulegen, wie Klientenobjekte Rollen zu spielen haben, um das Framework korrekt zu nutzen. Der Einsatz von freien Rollentypen ist von zentraler Bedeutung, um die Anforderungen zu definieren, die ein Framework an seine Umgebung richtet: Klientenobjekte dürfen Framework-Objekte nur dann benutzen, wenn sie Rollen gemäss freier Rollentypen spielen. Die vorliegende Dissertation zeigt auf, wie diese Konzepte zum Entwurf, zur Verwendung, und zur Schichtenbildung von Frameworks verwendet werden.

Der Entwurf von Frameworks mittels Rollenmodellierung stellt eine signifikante Verbesserung der heute üblichen Praxis dar (in Bezug auf die oben genannten Probleme). Die Dissertation belegt diese These mithilfe von drei Fallstudien, welche illustrieren, wie die geschilderte Methode in der Praxis eingesetzt wird. Jede Fallstudie vergleicht einen herkömmlichen klassenbasierten Framework-Entwurf mit einem Entwurf auf Basis von Rollenmodellierung. Jede Fallstudie wählt dabei eine etwas andere Perspektive und ist durch einen anderen Hintergrund motiviert. Die erste Fallstudie beschreibt das Geo Object Framework, einmal als herkömmlichen klassenbasierten Entwurf und einmal als rollenmodellbasierten Entwurf. Die zweite Fallstudie beschreibt die Revision des Entwurfs des KMU Desktop Tools Framework unter Verwendung von Rollenmodellierung. Die Fallstudie vergleicht den ursprünglichen klassenbasierten Entwurf mit dem neuen rollenmodellbasierten Entwurf. Die dritte Fallstudie zeigt, wie Rollenmodellierung die Dokumentation eines existierenden Frameworks, des JHotDraw Frameworks für grafische Editoren, verbessern hilft. Alle drei Fallstudien berichten zudem über die Erfahrungen, die bei ihrer Ausführung gemacht wurden.

Für ihre Gesamtvalidierung wird die Dissertations-These in neun Einzelthesen aufgebrochen, die jeweils aus einer Problem- und einer Aktivitätsdimension bestehen. Die betrachteten Probleme sind die Komplexität von Klassen, die Komplexität des Objektzusammenspiels, und die fehlende Klarheit in den Anforderungen, die ein Framework an seine Klienten stellt. Die betrachteten Aktivitäten sind das Entwerfen und Revidieren des Entwurfs eines Frameworks, das Verstehen eines Frameworks und das Verwenden eines Frameworks. Jedes der resultierenden Problem/Aktivitäts-Paare wird einzeln betrachtet. Für jedes Paar wird begründet, warum Rollenmodellierung einen relevanten Fortschritt darstellt. Die Validierung der Dissertations-These insgesamt folgt aus der Validierung dieser neun Einzelthesen.

Der rollenmodellbasierte Entwurf von objektorientierten Frameworks kombiniert die Stärken der Rollenmodellierung mit den Stärken des herkömmlichen klassenbasierten Entwurfs und überkommt dabei viele seiner Schwächen. Der vorgestellte Modellierungsansatz ist damit eine evolutionäre Weiterentwicklung heutiger Methoden, welche existierende Investitionen wahrt. Weiterhin ist der rollenmodellbasierte Entwurf von Frameworks der erste umfängliche Modellierungsansatz, der Frameworks als eigenständige Entwurfsartefakte behandelt und Entwurfskonzepte bereitstellt, welche die spezifischen Eigenschaften von Frameworks ausdrücken helfen.

Copyright (©) 2007 Dirk Riehle. Some rights reserved. (Creative Commons License BY-NC-SA.) Original Web Location: http://www.riehle.org