190 likes | 369 Views
Design of Linked Data Applications using SHDM. Hauptseminar Web Engineering – Semantic Web Dominik Pretzsch. Inhalte. Linked Data LDAs und die LOD Cloud Model- d riven Design SHDM Was ist SHDM? Entwicklungsschritte SHDM Modelle Synth Das Synth -Framework. Linked Data.
E N D
Design ofLinked Data Applicationsusing SHDM Hauptseminar Web Engineering – Semantic Web Dominik Pretzsch
Inhalte • Linked Data • LDAs und die LOD Cloud • Model-driven Design • SHDM • Was ist SHDM? • Entwicklungsschritte • SHDM Modelle • Synth • Das Synth-Framework
Linked Data • Linked Data konzentriert sich auf Bereitstellung von Informationen • Information kodiert als RDF • RDF Graph Semantik wird nur durch RDF (RDFS) Metamodel aus RDF Standard spezifiziert • Dadurch maschinenlesbar • Auch zusätzliche Information kann gefunden werden (wenn verfügbar) • Stellt allerdings nur einen kleinen Teil der benötigten Spezifikationen für vollständige Applikation dar
LDAs und die LOD Cloud • Linked Open Data Cloud • Sammlung von untereinanderverbundenen Datenquellen • Überspannen ein weites Feldvon Themen • Applikationen können Datenaus der LOD Cloud nutzen • Daten aus der Cloud konsumieren, aufbereiten und präsentieren • Linked Data Application (LDA)
Model-driven Design • Eine Reihe von Modellen legt das grundlegende Verhalten der Applikation fest • Jedes Modell deckt einen bestimmten Bereich der Anwendung ab, z.B. • Daten • Interface • Navigation • … • Können als RDF Statements über ein bestimmtes Vokabular spezifiziert werden • Es wird ein Interpreter benötigt, welcher das gewünschte Verhalten implementiert und die angestrebte Semantik bereitstellt
Model-driven Design • Im Fall von RDF oder OWL: • Inferenzmaschinen übernehmen die Rolle des Interpreters • Eine Inferenzmaschine stammt aus der KI und leitet Schlussfolgerungen von einer bestehenden Wissensbasis ab • Jedoch: Keine Möglichkeit um Anwendungsverhalten zu formulieren (Business Logic) • OWL: Web Ontology Language • Basiert technisch auf RDF, geht jedoch darüber hinaus • Vom W3C als Ontologie beschreibende Sprache für das semantische Web empfohlen
Model-driven Design • Software-Entwicklung im MDD: • Ein Prozess, während dem ein konzeptuelles High-Level-Modell sukzessive in weiter detaillierte Modelle übersetzt wird • Ziel ist es, dass eines dieser Modelle direkt auf einer Plattform ausgeführt werden kann • Konsistenz mit LDAs: • Die Modelle sollten durch die gleichen Formalismen spezifiziert sein, welche genutzt werden um die eigentlichen Daten zu beschreiben
SHDM – Was ist SHDM? • Semantic Hypermedia Design Method • Modellgetriebene Herangehensweise (Model-driven) • Umfasst mehrere Entwicklungsschritte und Modelle (nächste Folien) • Während jedem Schritt entstehen sog. Artefakte • Dienen dem Synth Framework (später) als Input, aus dem Synth die Applikation erstellt
SHDM – Entwicklungsschritte • Requirements Gathering (Anforderungserfassung) • Domain Modeling (ModellierungderZuständigkeiten) • Business Logic Modeling (Modellierung des VerhaltensderAnwendung) • Hypertextual Navigational Modeling (Modellierungder Navigation) • Abstract Interface Modeling (ModellierungderSchnittstellen) • Implementation
SHDM – Modelle • Domain Model • Business Logic Model • Hypertextual Navigation Model • Interface Model
SHDM – Domain Model • Beschreibt die Zuständigkeitenbzw. das Universum einer LDA • Besteht aus einem Set von RDFTripeln • Benutzt das VocabularyofInterlinked Datasets (VoID) um auf verlinkte Datasets zugreifen zu können
SHDM – Business Logic Model • Ein Menge von Operationen die auf den Informationen ausgeführt werden können • Diese Operationen werden durch die Applikation zur Verfügung gestellt • Die Operationen können wie in dienstorientierten Anwendungen zur Verfügung gestellt werden
SHDM –Hypertextual Navigation Model • Schreibt einen Weg durch die Informationen vor • Dadurch wird es möglich bestimmte Aufgaben auf den Pfaden zu realisieren
SHDM – Interface Model • Trennung von Schnittstelle und Aussehen: • Abstract Interface Model und Concrete Interface Model • Abstract Interface Model: • Beschreibt welche Rolle jedes Steuerelement einnimmt • Dazu zählt der Informationsaustausch zwischen der Applikation und der „Welt“ (z.B. dem Benutzer) • Concrete Interface Model: • Enthält zusätzliche Informationen über die Laufzeitumgebung • Der Entwickler entscheidet schließlich welche Mappings vom Abstract Interface zu Concrete Interfaces und Operationen bestehen
Synth – Das Synth Framework • Ist eine Entwicklungsumgebung zur Realisierung von Applikationen nach SHDM • Nimmt SHDM Modelle als Input • Erstellt daraus die Hypermedia Applikation, die von den Modellen beschrieben wird • Enthält eine GUI in die SHDM Modelle eingegeben und verändert werden können
Vielen Dank • Vielen Dank für Ihre Aufmerksamkeit
Quellen • http://www.tecweb.inf.puc-rio.br/ICWE2011.pdf • http://iswc2011.semanticweb.org/fileadmin/iswc/Papers/PostersDemos/iswc11pd_submission_31.pdf • http://www-di.inf.puc-rio.br/schwabe//papers/LAWEB2003.pdf • http://de.wikipedia.org/wiki/Inferenzmaschine • http://de.wikipedia.org/wiki/Web_Ontology_Language