MMT-Logo
Sitemap | English
Gefördert durch


Europäische Union
Europäische Union


Europäischer Sozialfonds in Sachsen
Europäischer Sozialfonds (ESF-080951805)


Freistaat Sachsen
Freistaat Sachsen



Übersicht

EDYRA-Logo

CapView – Functionality-Aware Visual Mashup Development for Non-programmers

Übersicht

Wie in der Architekurgrafik zu sehen ist, existieren in EDYRA mehrere Ansichten auf die Mashup-Komposition. Die LiveView stellt lediglich die UI-Repräsentation der Komponenten entsprechend des Layouts dar. Weitere Ansichten können die Live-Ansicht überlagern und somit, passend zu den Erfahrungen und Fertigkeiten der Nutzergruppe, Details zur zugrundeliegenden Komposition preisgeben. Die ProfessionalView zeigt alle Informationen zu Interfaces an, lässt die Verknüpfung zu und bietet Testfeatures an. Eine Abstraktion vom Kompositionsmodell findet dabei nicht statt, sodass technische Konzepte, Datenstrukturen etc. verstanden werden müssen. Hier setzt die CapView an und bietet eine aufgaben-/aktivitäts-orientierte Abstraktion des Kompositionsmodells.

Architektur
Abbildung 1: Architektonischer Überblick der EDYRA-Plattform mit Fokus auf Empfehlungskonzepten

Dadurch sollen folgende Anwendungsfälle mithilfe der CapView realisiert werden. Ein Nicht-Programmierer möchte...

Wesentliche Annahme ist, dass Komponenten zur Erfüllung von Aufgaben dienen können, und dass ein Verbund von Komponenten entsprechend komplexe Aufgaben erledigen kann. Dazu benötigen Komponenten möglicherweise Eingaben bzw. produzieren Ausgaben. Dies lässt sich auf das zuvor definierte Modell abbilden: Aufgaben → Capabilities und Ein-/Ausgaben → Operations/Events.

Beispielhafter Überblick der CapView

Abbildung 2: Beispielhafter Überblick der CapView

Die CapView ist eine funktional abstrahierende Ansicht auf ein in Ausführung bzw. Entwicklung befindliches Mashup. Grundlegende Eigenschaften der CapView sind (vgl. Abbildung 2):

Explorieren

Nach dem Umschalten in die CapView, sieht der Endnutzer zunächst alle Repräsentationen, die ihre Komponenten überlagern und deren Labels in der Basiskonfiguration (s. unten) sind. Weiterhin sind die bestehenden Verbindungen dargestellt. Der Endnutzer kann nun eine Repräsentation bzw. einen speziellen Port auswählen. Diese wird nachfolgend als r0 bezeichnet. Die Menge aller verknüpfbaren Repräsentationen für r0 ist L0 und kann weiter unterteilt werden in die Menge S0L0 (Repräsentationen, die Eingaben für r0 liefern können) und T0L0 (Repräsentationen, die Ausgaben von r0 konsumieren können).

Formale Definitionen
Abbildung 3: Schematischer Überblick zur Veranschaulichung formler Definitionen

Nach der Selektion von r0 werden...

Kontextsensitive Erstellung von Labels

Die automatische Erstellung von Labels ist ein Kernbestandteil der CapView und wird vom Label Generator übernommen (s. Architekturgrafik). Dieser baut auf eine Menge generischer Regeln auf und nutzt dabei im Wesentlichen das Wissen aus Ontologien und ein Wörterbuch aus.

Im einfachsten Fall (keine Selektion) wird eine Basiskonfiguration für Labels generiert.

Andernfalls, d.h., sobald eine Selektion existiert, tritt die kontextsensitive Labelgenerierung in Kraft. Diese ändert nicht r0, sondern alle rL0. Dabei werden kurze Sätze über die Labels hinweg gebildet, um Ursache und Wirkung zu verdeutlichen. Dies wird erreicht durch das Anhängen oder Voranstellen von "..." sowie der unterschiedlichen Behandlung von rjT0 und riS0. Je nach Konstellation der durch die beiden involvierten r repräsentierten Interfacebestandteile (endweder Capabilities oder Property) gibt es grundlegende Regeln. Zudem existieren spezielle Regeln, die die semantischen Beziehungen von entities und Parametern beachten und z.B. greifen falls keine eindeutige Abbildung zwischen Aus- und Eingabeparametern existiert (Beispiel im Abschnitt Rekonfigurieren und in Abbildung 5) oder falls Mediationstechniken zum Einsatz kommen (unteres Beispiel in Abbildung 4, in dem ein semantischer Split Event → Location stattfindet, was durch "location of" angezeigt wird).

Beispiel für Labels
Abbildung 4: Beispiellabels bei aktiver Selektion

Rekonfigurieren

Existiert eine Selektion durch den Nutzer, kann eine Verbindung mit hervorgehobenen passenden Repräsentationen vorgenommen werden bzw. bestehende Verbindungen verändert und gelöscht werden.

Im Falle mehrerer Parameter und/oder mehrerer Optionen für deren Mapping obliegt es dem Endnutzer, die Zuordnung der Parameter festzulegen. Hierbei kann die von der Empfehlung stammende Belegung akzeptiert oder entsprechend angepasst werden. Im Beispiel ist zu sehen, dass der Ausgabeparameter vom Typ "Event" nicht komplett zur Flugsuche genutzt wird, sondern lediglich die Zeit und der Ort des Events (durch einzelne Eingabeports in Abbildung 5 gekennzeichnet). Zudem benötigt die Flugsuche mehrere Eingabeparameter (Zeitpunkt, Start-, Zielort), sodass es mehrere Möglichkeiten gibt, den Ort des Events abzubilden (angedeutet durch eine Kombobox mit zwei Einträgen im Label des ersten Eingabeports). Falls Clustering angewendet wurde, ist es Aufgabe der Laufzeitumgebung auf die passenden Operationen bzw. Events zurück zu schließen.

Beispiel zur Rekonfiguration
Abbildung 5: Beispiel zur Rekonfiguration und zu nicht eindeutiger Parameterabbildung

Verbindungen werden via Drag&Drop oder Einzelklicks der Ports erstellt. Dabei sind grundsätzlich beide Richtungen (source ↔ target) möglich.

Die Laufzeitumgebung trägt schließlich Sorge dafür, dass alle notwendigen Details gemäß dem Kompositionsmodell korrekt instanziiert werden, sodass die Verbindung auf Implementierungsebene und somit in der LiveView funktionstüchtig ist.

Zugehörige Publikationen

Hier finden sich weiterführende Informationen zur CapView, u.a. zu Evaluationsergebnissen und die formalen Regeln zur Labelgenerierung:

Selbst ausprobieren - Plattformdemo

Zur Erprobung und Validierung der erarbeiteten Konzepte wird kontinuierlich an einer Livedemo gearbeitet.

Obwohl viel Schweiß investiert wird, ist zu bedenken, dass es sich dabei um einen Forschungsprototyp handelt, d.h., Bugs sind nicht auszuschließen. Daher ist der Zugang derzeit beschränkt. Bitte wenden Sie sich an einen der Projektmitarbeiter, falls Sie die Demo ausprobieren möchten.

Zurück