3 research outputs found

    Ein komponentenbasiertes Meta-Modell kontextabhängiger Adaptionsgraphen für mobile und ubiquitäre Anwendungen

    Get PDF
    Gegenwärtige Infrastrukturen für verteilte Dienste und Anwendungen, insbesondere das Internet, entwickeln sich zunehmend zu mobilen verteilten Systemen. Durch die Integration drahtloser Netze, mobiler bzw. dedizierter Endgeräte und nicht zuletzt durch die Mobilität der Benutzer steigt die Heterogenität und Dynamik der Systeme hinsichtlich der eingesetzten Endgeräte, Kommunikationstechnologien sowie Benutzeranforderungen und Anwendungssituationen. Diese Eigenschaften sind mobilen Systemen inhärent und bleiben trotz der fortschreitenden Entwicklung der Technologien bestehen. Daraus resultieren spezifische Anforderungen an Anwendungen und Dienste, denen insbesondere die Softwareentwicklung Rechnung tragen muss. In der vorliegenden Arbeit wird die Adaptivität von Softwaresystemen als wesentlicher Lösungsansatz für mobile verteilte Infrastrukturen thematisiert. Dazu werden wesentliche Mechanismen zur Adaption sowie der Überschneidungsbereich von Adaptionsmechanismen, "Context-Awareness" und Softwareentwicklung untersucht. Ziel ist es, Erkenntnisse über Basismechanismen und Grundprinzipien der Adaption zu gewinnen und diese zur systematischen Entwicklung adaptiver Anwendungen auszunutzen. Aus der Analyse des State-of-the-Art werden als erstes wichtiges Ergebnis der Arbeit wesentliche Basismechanismen zur Adaption identifiziert, umfassend klassifiziert und hinsichtlich eines Einsatzes in mobilen verteilten Infrastrukturen bewertet. Auf dieser Grundlage wird ein Meta-Modell zur systematischen Entwicklung adaptiver Anwendungen erarbeitet. Dieses erlaubt die Beschreibung adaptiver Anwendungen durch die Komposition von Basismechanismen zur Struktur- und Parameteradaption. Die Steuerung der Adaption durch Kontext und Meta-Informationen kann explizit beschrieben werden. Das Meta-Modell kann Entwickler beim Entwurf adaptiver Anwendungen unterstützen, stellt aber auch einen Ausgangspunkt für deren Analyse und Validierung sowie zur Kodegenerierung dar. Durch die explizite Beschreibung der verwendeten Adaptionsmechanismen und deren Abhängigkeiten von Kontext können Anwendungsmodelle außerdem zur Dokumentation verwendet werden. Im Rahmen der Validierung konnte die Integrierbarkeit der Basismechanismen und die flexible Anwendbarkeit des Modells zur systematischen Entwicklung adaptiver Anwendungen nachgewiesen werden

    Entwicklung multipler Benutzerschnittstellen für eine Anwendung

    Get PDF
    Die stetig wachsende Zahl von mobilen Endgeräten und Konzepte wie "Designing for Peak Experience", führt unweigerlich zu einem Streben nach Anwendungen, welche für immer mehr verschiedene Nutzungskontexte Benutzerschnittstellen (UIs) bereitstellen. Die Nutzungskontexte unterscheiden sich in Bezug auf Plattformen und Geräte, Benutzergruppen und deren Ziele, sowie Randbedingungen wie z.B. die Umgebung während der Interaktion. Diese Dissertation stellt Konzepte bereit, welche den Entwickler bei der Erstellung solcher Multi-Benutzerschnittstellen (MBS) unterstützen und die Ausführung dieser ermöglichen. Dabei liegt ein erster wesentlicher Beitrag der vorliegenden Arbeit in der Begriffsbildung und Erhebung von Anforderungen, wobei sie weit über verwandte Arbeiten hinausgeht. Begriffe der Problem- sowie der Lösungsdomäne wurden im Kontext der verwandten Arbeiten untersucht; dabei wurden Inkonsistenzen festgestellt, insbesondere im Zusammenhang mit den Begriffen "Konkrete Benutzerschnittstelle (CUI)" und "Abstrakte Benutzerschnittstelle (AUI)". Diese Erkenntnisse hatten wesentlichen Einfluss auf die in dieser Arbeit entwickelten Konzepte. Insbesondere wurde die herkömmliche Dichotomie zwischen AUI und CUI aufgehoben und durch eine beliebige Zahl von Stufen zunehmend konkreter Beschreibungen von Benutzerschnittstellen ersetzt. Diese Neuerung prägt die vorliegende Arbeit und schlägt sich im Begriff der "Abstraktionsunabhängigen Benutzerschnittstelle (UUI)" nieder. Entsprechend den Anforderungen wurde ein Konzept entwickelt, welches aus i) einem Architekturmuster für MBS, ii) einer domänenspezifischen Sprache zur Beschreibung von MBS und iii) interaktiven sowie explorativen Unterstützungskonzepten besteht. Hierbei werden Modellierungstechniken für die UI-Struktur (bei z.B. grafischen UIs das Layout) mit Programmiertechniken für das UI-Verhalten verknüpft. Das Architekturmuster für MBS basiert auf dem Muster "Model View Controller (MVC)", welches um die Unterstützung mehrerer Varianten einer UI sowie die explizite Handhabung des Erbens von Verhalten erweitert wurde. Die im Rahmen der Arbeit ebenfalls entwickelte domänenspezifische Sprache (DSL) stellt Möglichkeiten zur Modellierung der MBS-Varianten und ihrer Verfeinerungsbeziehungen (Vererbung) untereinander bereit. Die verschiedenen Varianten einer MBS werden so in einer Baumstruktur (Verfeinerungsbaum) angeordnet, welche die Propagation einer Modifikation auf beliebig viele Varianten ermöglicht. Basierend auf dem Architekturmuster und der im Rahmen dieser Arbeit entwickelten Architektur wurden Unterstützungskonzepte entwickelt, welche auf einfache Nutzbarkeit durch den Entwickler ausgelegt sind. Explorative Unterstützungskonzepte machen den Entwicklungsstand der MBS transparent; sie visualisieren hierfür den Verfeinerungsbaum sowie Schnittstellen zwischen Verhalten und Struktur. Interaktive Unterstützungskonzepte dagegen ermöglichen die gleichzeitige Modifikation einer oder mehrerer Varianten der MBS. Zentral dabei ist der Interpreter, welcher Benutzerschnittstellenmodelle direkt zur Interaktion bringt; dies Konzept sieht auch den Ausbau des Interpreters zu einem WYSIWYG-artigen Editor vor. Modulare Adaptionskonzepte schließlich kapseln spezifische Anpassungen (z.B. Skalierungen) in einer einfach durch den Entwickler nutzbaren Weise. Die Konzepte wurden im Rahmen eines Forschungsprojekt mit Industriepartnern konkret eingesetzt, mit Hilfe einer prototypischen Realisierung, genannt Mapache. Eine entwickelte Infrastruktur unterstützt hierfür die Lauf- und Entwicklungszeit. Die in Eclipse realisierte Entwicklungsumgebung baut auf ihr auf und ermöglicht eine hoch integrierte Entwicklung Java basierter Multi-Benutzerschnittstellen. Abschließend wurden die entwickelten und realisierten Konzepte in einer Fallstudie des Projektes sowie einer Nutzerstudie evaluiert. Die Fallstudie zeigte, dass die erhobenen Anforderungen vom entwickelten Ansatz erfüllt werden. Die Nutzerstudie, durchgeführt in Form der sogenannten "Kooperativen Evaluation", ergab eine positive Bewertung des Ansatzes und zeigte Themen auf, welche bei der Anwendung des Ansatzes in der Praxis beachtet werden müssen. Wie erwartet, erwies sich die grundlegend neue Möglichkeit, Benutzerschnittstellen auf unterschiedlichen Abstraktionsgraden gleichzeitig zu bearbeiten, als äußerst hilfreich für die Entwicklung föderierter Benutzerschnittstellen. Insgesamt wurden Fortschritte im Bereich der Anforderungen Effizienz, Nutzbarkeit und Konsistenz gemacht. Die Qualität der Studie selbst geht über verwandte Arbeiten hinaus, weil zum Einen nur berufsmäßige Entwickler von Benutzerschnittstellen teilnahmen und zum Anderen die Wahl der Evaluationsmethode klar und transparent dargelegt wurde
    corecore