228 research outputs found

    Demonstratoren in DARIAH

    Get PDF

    Modellgetriebene Entwicklung adaptiver, komponentenbasierter Mashup-Anwendungen

    Get PDF
    Mit dem Wandel des Internets zu einer universellen Softwareplattform sind die Möglichkeiten und Fähigkeiten von Webanwendungen zwar rasant gestiegen. Gleichzeitig gestaltet sich ihre Entwicklung jedoch zunehmend aufwändig und komplex, was dem Wunsch nach immer kürzeren Entwicklungszyklen für möglichst situative, bedarfsgerechte Lösungen entgegensteht. Bestehende Ansätze aus Forschung und Technik, insbesondere im Umfeld der serviceorientierten Architekturen und Mashups, werden diesen Problemen bislang nicht ausreichend gerecht. Deshalb werden in dieser Dissertation neue Konzepte für die modellgetriebene Entwicklung und Bereitstellung von Webanwendungen vorgestellt. Die zugrunde liegende Idee besteht darin, das Paradigma der Serviceorientierung auf die Präsentationsebene zu erweitern. So sollen erstmals – neben Daten- und Geschäftslogik – auch Teile der Anwendungsoberfläche in Form wiederverwendbarer Komponenten über Dienste bereitgestellt werden. Anwendungen sollen somit über alle Anwendungsebenen hinweg nach einheitlichen Prinzipien „komponiert“ werden können. Den ersten Schwerpunkt der Arbeit bilden die entsprechenden universellen Modellierungskonzepte für Komponenten und Kompositionen. Sie erlauben u. a. die plattformunabhängige Beschreibung von Anwendungen als Komposition der o. g. Komponenten. Durch die Abstraktion und entsprechende Autorenwerkzeuge wird die Entwicklung so auch für Domänenexperten bzw. Nicht-Programmierer möglich. Der zweite Schwerpunkt liegt auf dem kontextadaptiven Integrationsprozess von Komponenten und der zugehörigen, serviceorientierten Referenzarchitektur. Sie ermöglichen die dynamische Suche, Bindung und Konfiguration von Komponenten, d. h. auf Basis der o. g. Abstraktionen können genau die Anwendungskomponenten geladen und ausgeführt werden, die für den vorliegenden Nutzer-, Nutzungs- und Endgerätekontext am geeignetsten sind. Der dritte Schwerpunkt adressiert die Kontextadaptivität der kompositen Anwendungen in Form von Konzepten zur aspektorientierten Definition von adaptivem Verhalten im Modell und dessen Umsetzung zur Laufzeit. In Abhängigkeit von Kontextänderungen können so Rekonfigurationen von Komponenten, ihr Austausch oder Veränderungen an der Komposition, z.B. am Layout oder dem Datenfluss, automatisch durchgesetzt werden. Alle vorgestellten Konzepte wurden durch prototypische Implementierungen praktisch untermauert. Anhand diverser Anwendungsbeispiele konnten ihre Validität und Praktikabilität – von der Modellierung im Autorenwerkzeug bis zur Ausführung und dynamischen Anpassung – nachgewiesen werden. Die vorliegende Dissertation liefert folglich eine Antwort auf die Frage, wie zukünftige Web- bzw. Mashup-Anwendungen zeit- und kostengünstig entwickelt sowie zuverlässig und performant ausgeführt werden können. Die geschaffenen Konzepte bilden gleichermaßen die Grundlage für eine Vielzahl an Folgearbeiten.:Verzeichnisse vi Abbildungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Verzeichnis der Codebeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . ix Abkürzungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x 1 Einleitung 1 1.1 Problemdefinition, Thesen und Forschungsziele . . . . . . . . . . . . . . 3 1.1.1 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 Thesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.3 Forschungsziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Abgrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Grundlagen, Szenarien und Herausforderungen 12 2.1 Grundlagen und Begriffsklärung . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.1 Komposite und serviceorientierte Webanwendungen . . . . . . . 13 2.1.2 Mashups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.3 Modellgetriebene Software-Entwicklung . . . . . . . . . . . . . . 17 2.1.4 Kontext und kontextadaptive Webanwendungen . . . . . . . . . 18 2.2 Szenarien und Problemanalyse . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.1 Dienstkomposition zur Reiseplanung . . . . . . . . . . . . . . . . . 20 2.2.2 Interaktive Aktienverwaltung . . . . . . . . . . . . . . . . . . . . . 22 2.2.3 Adaptive Touristeninformation . . . . . . . . . . . . . . . . . . . . 23 2.3 Anforderungen und Kriterien der Analyse . . . . . . . . . . . . . . . . . . 25 2.3.1 Anforderungen an Komponenten- und Kompositionsmodell . . . 25 2.3.2 Anforderungen an die Laufzeitumgebung . . . . . . . . . . . . . 27 3 Stand der Forschung und Technik 30 3.1 SOA und Dienstkomposition zur Interaktion mit Diensten . . . . . . . . . 31 3.1.1 Statische Dienstkomposition . . . . . . . . . . . . . . . . . . . . . . 32 3.1.2 Dynamische Dienstauswahl und -Komposition . . . . . . . . . . . 33 3.1.3 Adaptionskonzepte für Dienstkompositionen . . . . . . . . . . . . 45 3.1.4 Interaktions- und UI-Konzepte für Dienstkompositionen . . . . . . 48 3.2 Web Engineering - Entwicklung interaktiver adaptiver Webanwendungen 50 3.2.1 Entwicklung von Hypertext- und Hypermedia-Anwendungen . . 51 3.2.2 Entwicklung von Mashup-Anwendungen . . . . . . . . . . . . . . 54 3.3 Zusammenfassung und Diskussion der Defizite existierender Ansätze . . 67 3.3.1 Probleme und Defizite aus dem Bereich der Dienstkomposition . 67 3.3.2 Probleme und Defizite beim Web- und Mashup-Engineering . . . 69 4 Universelle Komposition adaptiver Webanwendungen 73 4.1 Grundkonzept und Rollenmodell . . . . . . . . . . . . . . . . . . . . . . 74 4.2 Modellgetriebene Entwicklung kompositer Mashups . . . . . . . . . . . 75 4.2.1 Universelles Komponentenmodell . . . . . . . . . . . . . . . . . . 76 4.2.2 Belangorientiertes Kompositionsmodell . . . . . . . . . . . . . . . 76 4.3 Dynamische Integration und Laufzeitumgebung . . . . . . . . . . . . . 78 4.3.1 Kontextsensitiver Integrationsprozess für Mashup-Komponenten . 79 4.3.2 Referenzarchitektur zur Komposition und Ausführung . . . . . . . 80 4.3.3 Unterstützung von adaptivem Laufzeitverhalten in Mashups . . . 81 5 Belangorientierte Modellierung adaptiver, kompositer Webanwendungen 83 5.1 Ein universelles Komponentenmodell für Mashup-Anwendungen . . . . 84 5.1.1 Grundlegende Eigenschaften und Prinzipien . . . . . . . . . . . . 84 5.1.2 Komponententypen . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.1.3 Beschreibung von Komponenten . . . . . . . . . . . . . . . . . . 87 5.1.4 Nutzung der Konzepte zur Komponentenentwicklung . . . . . . . 99 5.2 Ein belangorientiertes Metamodell für interaktive Mashup-Anwendungen 100 5.2.1 Conceptual Model – Modellierung der Anwendungskonzepte . . 102 5.2.2 Communication Model – Spezifikation von Daten- und Kontrollfluss 107 5.2.3 Layout Model – Visuelle Anordnung von UI-Komponenten . . . . 114 5.2.4 Screenflow Model – Definition von Navigation und Sichten . . . . 115 5.3 Modellierung von adaptivem Verhalten . . . . . . . . . . . . . . . . . . 117 5.3.1 Adaptionstechniken für komposite Webanwendungen . . . . . . 117 5.3.2 Adaptivity Model – Modellierung von Laufzeitadaptivität . . . . . 119 5.4 Ablauf und Unterstützung bei der Modellierung . . . . . . . . . . . . . . 126 5.5 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 128 6 Kontextsensitiver Integrationsprozess und Kompositionsinfrastruktur 132 6.1 Ein kontextsensitiver Integrationsprozess zur dynamischen Bindung von Mashup-Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.1.1 Modellinterpretation oder -transformation . . . . . . . . . . . . . . 134 6.1.2 Suche und Matching . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.1.3 Rangfolgebildung . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.1.4 Auswahl und Integration . . . . . . . . . . . . . . . . . . . . . . . . 145 6.2 Kompositionsinfrastruktur und Laufzeitumgebung . . . . . . . . . . . . . 146 6.2.1 Verwaltung von Komponenten und Domänenwissen . . . . . . . 146 6.2.2 Aufbau der Laufzeitumgebung (MRE) . . . . . . . . . . . . . . . . 148 6.2.3 Dynamische Integration und Verwaltung von Komponenten . . . 151 6.2.4 Kommunikationsinfrastruktur und Mediation . . . . . . . . . . . . . 155 6.3 Unterstützung von Adaption zur Laufzeit . . . . . . . . . . . . . . . . . . 162 6.3.1 Kontexterfassung, -modellierung und -verwaltung . . . . . . . . . 163 6.3.2 Ablauf der dynamischen Adaption . . . . . . . . . . . . . . . . . 168 6.3.3 Dynamischer Austausch von Komponenten . . . . . . . . . . . . 170 6.4 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 174 7 Umsetzung und Validierung der Konzepte 178 7.1 Realisierung der Modellierungsmittel . . . . . . . . . . . . . . . . . . . . 179 7.1.1 Komponentenbeschreibung in XML und OWL . . . . . . . . . . . 179 7.1.2 EMF-basiertes Kompositionsmodell . . . . . . . . . . . . . . . . . . 180 7.1.3 Modelltransformationen . . . . . . . . . . . . . . . . . . . . . . . . 182 7.1.4 Modellierungswerkzeug . . . . . . . . . . . . . . . . . . . . . . . . 183 7.2 Realisierung der Kompositions- und Laufzeitumgebung . . . . . . . . . . 185 7.2.1 Semantische Verwaltung und Discovery . . . . . . . . . . . . . . 185 7.2.2 Kompositions- bzw. Laufzeitumgebungen . . . . . . . . . . . . . . 192 7.2.3 Kontextverwaltung und Adaptionsmechanismen . . . . . . . . . 201 7.3 Validierung und Diskussion anhand der Beispielszenarien . . . . . . . . . 210 7.3.1 Reiseplanung mit TravelMash . . . . . . . . . . . . . . . . . . . . . 211 7.3.2 Aktienverwaltung mit StockMash . . . . . . . . . . . . . . . . . . . 214 7.3.3 Adaptive Touristeninformation mit TravelGuide . . . . . . . . . . . 216 7.3.4 Weitere Prototypen . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 7.4 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 219 8 Zusammenfassung, Diskussion und Ausblick 226 8.1 Zusammenfassung der Kapitel und ihrer Beiträge . . . . . . . . . . . . . 227 8.2 Diskussion und Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . 231 8.2.1 Wissenschaftliche Beiträge . . . . . . . . . . . . . . . . . . . . . . 231 8.2.2 Einschränkungen und Grenzen . . . . . . . . . . . . . . . . . . . . 236 8.3 Laufende und zukünftige Arbeiten . . . . . . . . . . . . . . . . . . . . . 238 Anhänge 242 A.1 Komponentenbeschreibung in SMCDL . . . . . . . . . . . . . . . . . . . 242 A.2 Komponentenmodell in Form der MCDO . . . . . . . . . . . . . . . . . . 243 A.3 Kompositionsmodell in EMF . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Verzeichnis eigener Publikationen 246 Webreferenzen 249 Literaturverzeichnis 25

    SpoookyJS. Ein multiagentenbasiertes JavaScript-Framework zur flexiblen Implementation digitaler browserbasierter Brettspiele und spielĂĽbergreifender kĂĽnstlicher Intelligenz

    Get PDF
    Künstliche Intelligenz in digitalen Spielen ist zumeist Anwendungsdomäne komplexer spielspezifischer Softwarelösungen mangelnder Erweiterbarkeit. Die vorliegende Arbeit beschäftigt sich mit der Konzeption und Realisierung des JavaScript-Frameworks SpoookyJS, das die vereinfachte Erstellung browserbasierter digitaler Brettspiele ermöglicht. Entwickelt als Multiagentensystem, bietet SpoookyJS künstliche Gegner in den umgesetzten Spielen und fungiert als Test- und Entwicklungsumgebung für die Forschung um spielübergreifende artifizielle Entscheidungsfindung

    Ăśbertragbarkeit von Archivinformationspaketen zwischen Langzeitarchivsystemen als Teil der Exit-Strategie

    Get PDF
    Die vorliegende Arbeit beleuchtet, ob und unter welchen Voraussetzungen es möglich ist, Archivinformationspakete (AIP) als Zeitkapseln digitaler Medien, zwischen verschiedenen Langzeitarchivsystemen auszutauschen. Dazu werden die Systeme Rosetta von Exlibris — a ProQuest Group und Archivematica von Artefactual Systems Inc. verglichen. Es wird untersucht, inwieweit eine Exit-Strategie Bestandteil von einigen zertifizierten Langzeitarchivsystem-Betreibern ist, und wie unterschiedlich Informationspakete verwendet werden. In der Arbeit wird der Begriff AIP-AIP-Transfer definiert und verschiedene AIP-Übernahme-Szenarien vorgestellt.:1. Einführung 1.1. Motivation 1.2. Aufbau der Arbeit 2. Exit-Strategie als Baustein der digitalen Langzeitarchivierung 2.1. Digitale Langzeitarchivierung 2.2. Begriff der Exit-Strategie 2.3. Fragestellung und Bedeutung 2.4. Aktueller Stand der Wissenschaft und Technik 2.4.1. Exit-Strategien von zertifizierten Archivinformationssystemen 2.4.2. Informationspakete 2.4.3. AIP-AIP-Transfer 2.5. Abgrenzung 3. Vorbereitung der Untersuchung 3.1. Vorbetrachtung 3.2. Aufbau und Varianten von Submission Information Packages 3.2.1. Allgemeines 3.2.2. Abbildung zwischen Intellektuellen Einheiten und SIP 3.2.3. Technische Realisierungen von SIPs 3.2.4. Technische Realisierungen von AIPs 3.3. Ingest 3.4. Typische AIP Update Szenarien 3.4.1. Was ist ein AIP Update 3.4.2. Bedingungen 3.4.3. Metadatenupdate 3.4.4. Repräsentations- und Datenupdates 3.4.5. Löschen von AIPs 3.4.6. Preservation Planning and Action 3.5. AIP-AIP Transfer Szenarien 3.5.1. Allgemein 3.5.2. Übernahme AIP → AIP über definierte Schnittstelle 3.5.3. Übernahme AIP → AIP über Direktzugriff Quell- und Zielsystem 3.5.4. Übernahme AIP → SIP → AIP über Direktzugriff Quellsystem 3.5.5. Übernahme AIP → DIP → SIP → AIP 3.5.6. Vergleichskriterien 3.6. Betrachtete Langzeitarchivierungssysteme 3.6.1. Archivematica 3.6.2. Rosetta 3.6.3. Zusammenfassende Gegenüberstellung 4. Durchführung 4.1. Beschränkung 4.2. Festlegungen 4.2.1. Festlegung Submission Information Package 4.2.2. Festlegung Metadatenanreicherung (Enrichment) 4.2.3. Festlegung AIP Update Szenarien 4.3. Zugriff auf AIPs 4.4. Analyse der entstandenen AIPs 4.4.1. AIPs von Archivematica 4.4.2. AIPs von Rosetta 4.5. Direkte Übernahme von AIPs 4.6. Archivematica AIP als Rosetta SIP 4.7. Rosetta AIP als Archivematica SIP 5. Bewertung und Ausblick 5.1. Ausspielen AIPs 5.2. Aufbau der AIPs 5.3. Bewahrungsmetadaten 5.4. Einspielen von SIPs 5.5. Empfehlungen 5.6. Beurteilung anhand Vergleichskriterien 5.7. Ausblick A. Zusätzliche Abbildungen und Quellcodes B. Literatu

    Entwicklungsmethodiken zur kollaborativen Softwareerstellung – Stand der Technik

    Full text link
    Die weltweit wachsende Nachfrage nach Unternehmenssoftware erfordert immer neue Methoden und Formen der Zusammenarbeit (Kollaboration) bei der Softwareerstellung. Zu diesem Zweck untersucht und vergleicht dieses Arbeitspapier existierende Vorgehensmodelle und deren Evolution. Zusätzlich werde erste Ansätze zur kollaborativen Softwareerstellung vorgestellt und ihre Eignung für ein kommerzielles Umfeld analysiert. Die Arbeit verwendet hierzu einen eigenen Vergleichsrahmen, der u.a. auch so genannte "Kollaborationspunkte“ in Betracht zieht, d.h. Aktivitäten im Prozess an denen das Einbinden mehrerer Entwickler und/oder Anwender vorteilhaft ist. Die Erkenntnisse aus der vergleichenden Analyse des Stands der Technik werden schließlich dazu verwendet, Defizite existierender Ansätze aufzuzeigen und Anforderungen für unterstützende Werkzeuge abzuleiten
    • …
    corecore