200 likes | 296 Views
Universität Karlsruhe. "Aktive VISIO-Schablonen zur grafischen Erstellung von DIANE-Dienstbeschreibungen" Thomas Herzog Betreuer: Michael Klein. - 1 -. Zielsetzung der Arbeit. Bereitstellung von Schablonen für G-DSD Applikation: Microsoft Visio 2003 „Ablegen und Ausfüllen“
E N D
Universität Karlsruhe • "Aktive VISIO-Schablonen zur grafischen Erstellung von DIANE-Dienstbeschreibungen" • Thomas Herzog • Betreuer: Michael Klein - 1 -
Zielsetzung der Arbeit • Bereitstellung von Schablonen für G-DSD • Applikation: Microsoft Visio 2003 • „Ablegen und Ausfüllen“ • Implementierung eines Übersetzers nach F-DSD • Einfach zu bedienende VBA-Skripte • Ablage in das vordefinierte Repository • Benutzerunterstützung • Einfache Vorgänge automatisieren • Neuerstellungen durch Schemakenntnis vereinfachen - 2 -
Schablonen • Grundprinzipien von Visio • Komplette Geometrie durch Funktionen bestimmt • Berechnungen in Spreadsheet-ähnlichen Tabellen • Benutzeränderungen in Grafischer und Tabellen-Ansicht möglich • Schablonen können Benutzerdefinierte Daten enthalten • Funktionen kennen Verzweigung, logische Operatoren, Textoperatoren, usw. - 3 -
Schablonen - 4 -
Schablonen Schablonen können auf das Zeichenblatt gezogen werden. - 5 -
Schablonen Instanzdefinition mit den fertigen Schablonen - 6 -
Schablonen Abfrage der Eigenschaften nach dem Ablegen - 7 -
Schablonen • Benutzerdefinierte Eigenschaften • Bestimmen das Aussehen und die Beschriftung • Werden nach dem Ablegen abgefragt • Enthalten z.B. • Klassenname • Typ (bei Instanzen) • Wert (bei atomaren Werten) • Spezielle Eigenschaften der Objekte - 8 -
=GUARD(IF(Prop.Row_5=TRUE,"E","V")) =GUARD(IF(Prop.Row_6=TRUE,"P","")) =IF((Prop.Row_3=TRUE),1,2) Schablonen - 9 -
Übersetzer • Visio-Objektmodell • Jedes Objekt und alle seine Tabellenzellen per VBA zugreifbar • VBA-Makros bei Ereignissen • Kontextmenüs von Objekten erlauben Makroausführung • Benutzerdefinierte Eigenschaften können ausgelesen werden - 10 -
Übersetzer • Übersetzungsprinzip • Seitenweise auf Benutzeranforderung • Iterativ bei Klassendefinition • Iterativ und rekursiv bei Instanzdefinition • Rekursiv bei Request- und Offerdefinition • Akkumulation des Ergebnisses in einem Dialogfenster • Speicherort abgeleitet aus eigenem Speicherort plus relativem Pfad zu F-DSD-Repository - 11 -
ONTOLOGY: domain.movie public entityclass Movie [ title : String, release_day : Date, duration : Duration, first_showing : Time ] - 12 -
Übersetzer • Klassenübersetzung • Ontologiebezeichnung im „ontology tag“ der Seite • Iteriere über sämtliche lokalen Klassen • Finde ausgehende Vererbungskanten • Finde ausgehende Eigenschaftskanten • Übersetze Eigenschaften • zusätzlich: schreibe Quelldatei und Seitenname in die F-DSD-Datei - 13 -
Übersetzer • Instanzübersetzung • Ontologiebezeichnung im „ontology tag“ der Seite • Iteriere über Instanzen der Seite ohne eingehende Kanten • Finde ausgehende Kanten • Übersetze rekursiv die angehängten anonymen Instanzen • Übersetze die angehängten Werte und benamten Instanzen • zusätzlich: schreibe Quelldatei und Seitenname in die F-DSD-Datei - 14 -
Übersetzer • Request/Offer-Übersetzung • Finde Instanz ohne eingehende Kanten • Starte Instanzübersetzung wie gewohnt • Menge als Eigenschaft angetroffen -> Verzweige in Mengen/Variablenübersetzer • zusätzlich: schreibe Quelldatei und Seitenname in die F-DSD-Datei - 15 -
Übersetzer • Menge/Variable-Übersetzung • Iteriere über alle ausgehenden Kanten • Identifiziere property conditions und default-Werte • Extrahiere connecting strategy aus der Menge • Extrahiere direct conditions aus der Menge • Extrahiere missing strategy aus der abgehenden Kante • Unterscheide, ob Variable oder Menge • Bei Variable: extrahiere erweiterte Informationen • Übersetze property conditions rekursiv - 16 -
Assistenten • Hilfe bei Schemadefinition • Bei Ablage Vererbungsbeziehung zu erzeugen anbieten • Zyklenerkennung • Falsche Verbindungen erkennen - 17 -
Assistenten • Hilfe bei Instanzdefinition • Zyklenerkennung • Falsche Verbindungen erkennen • Einlesen des definierten Schemas im Hintergrund • Assistent zur Instanziierung einer bestimmten Klasse mitsamt ausgewählter properties - 18 -
Assistenten • Hilfe bei Offerdefinition • Assistent zur schrittweisen Erzeugung • „Beginn“ eines Angebots in DSD immer gleich • Bekannter Instanziierungsassistent - 19 -
Demonstration • Schemadefinition • Instanziierung • Offer • Request • Übersetzung nach F-DSD - 20 -