Definition von visuellen Sprachen



Ähnliche Dokumente
Theorie der Informatik

1 Mathematische Grundlagen

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Grundbegriffe der Informatik

Programmiersprachen und Übersetzer

Grundbegriffe der Informatik

7 Rechnen mit Polynomen

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

1 topologisches Sortieren

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Mathematischer Vorbereitungskurs für Ökonomen

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Software-Engineering SS03. Zustandsautomat

Erfahrungen mit Hartz IV- Empfängern

Wir machen neue Politik für Baden-Württemberg

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Professionelle Seminare im Bereich MS-Office

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Lehrer: Einschreibemethoden

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

Theoretische Grundlagen des Software Engineering

Anmerkungen zur Übergangsprüfung

WS 2009/10. Diskrete Strukturen

Erstellen einer Abwesenheitsnotiz

Musterlösungen zur Linearen Algebra II Blatt 5

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Widerrufsbelehrung. Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen.

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Theoretische Grundlagen der Informatik

Formale Sprachen und Grammatiken

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Beweisbar sichere Verschlüsselung

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Peer-to-Peer- Netzwerke

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Grammatiken. Einführung

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Algorithmen und Datenstrukturen 2

Erläuterungen: GEO - Lastverteilung

Einführung in die Algebra

Rundung und Casting von Zahlen

Informatik IC2. Balazs Simon

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Konzepte der Informatik

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:

Grundbegriffe der Informatik

Erwin Grüner

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Workshop. Zeitmanagement Hamburg, 24. November 2004

Was ist Sozial-Raum-Orientierung?

Korrelation (II) Korrelation und Kausalität

ADDISON Aktenlösung Automatischer Rewe-Import. Technische Beschreibung

QTrade GmbH Landshuter Allee München Seite 1

Ein Vorwort, das Sie lesen müssen!

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Kombinatorische Optimierung

Win-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung-

Statuten in leichter Sprache

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Maximizing the Spread of Influence through a Social Network

Grundlagen der Theoretischen Informatik, SoSe 2008

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Jeder ist ein Teil vom Ganzen Inklusion ändert den Blick

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Künstliche Intelligenz Maschinelles Lernen

1.5 Umsatzsteuervoranmeldung

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Wärmebildkamera. Arbeitszeit: 15 Minuten

Grundlagen der Künstlichen Intelligenz

Leere Zeilen aus Excel-Dateien entfernen

27 Techniken der Gesprächsführung 28 Sorgen Sie für eine angenehme Gesprächsatmosphäre

Modalitäten der LSF-Belegung für die Lehrveranstaltungen

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

VIDA-LOGDATEIEN VIDA ALL-IN-ONE

Das Briefträgerproblem

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Eigenwerte und Eigenvektoren von Matrizen

Information Systems Engineering Seminar

Kapitel 6: Graphalgorithmen Gliederung

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Anleitung über den Umgang mit Schildern

Installation. Um eine fehlerfreie Installation zu gewährleisten sollte vor der Installation der Virenscanner deaktiviert werden.

Transkript:

Definition von visuellen Sprachen auf der Basis von Graphtransformation 27. November 2012 146

Überblick Die Syntax textueller Sprachen wird mit einer Grammatik definiert. Geht das auch für visuelle Sprachen? Die abstrakte Syntaxstruktur eines visuellen Modells kann gut durch einen Graphen beschrieben werden. Das visuelle Alphabet wird durch einen Typgraphen definiert. Die Syntax visueller Sprachen wird mit einer Graphgrammatik definiert. Unterschiede zwischen Metamodellen und Graphgrammatiken Taentzer Visuelle Sprachen 147

Beispiel: Einfache Aktivitätsdiagramme [product not available] notify client receive order check availiability [product available] calculate price send receipt Modellelemente: Verschiedene Typen von Aktivitäten: Startaktivitäten einfache Aktivitäten Entscheidungsaktivitäten Endaktivitäten Pfeile beschreiben Kontrollfluß können Bedingungen als Annotationen haben Bedingungen: genau eine Start- und eine Endaktivität wohldefinierte Entscheidungsstrukturen Taentzer Visuelle Sprachen 148

Genereller Ansatz receive order check availiability [product not available] [product available] notify client calculate price send receipt Taentzer Visuelle Sprachen 149

Abstrakte Syntaxdefinition von einfachen Aktivitätendiagrammen Typgraph: Taentzer Visuelle Sprachen 150

Formale Grundlage: Graphen und Graphmorphismen Instanzmodelle, Alphabete, Meta-Alphabet in konkreter und abstrakter Syntax Beziehungen zwischen Modellen Verhältnis zwischen konkreten und abstrakten Syntaxstrukturen Typisierung von Instanzen Graphen getypt und attributiert gerichtete Kanten mit Identität Graphmorphismen Abbildungen von Knoten und Kanten strukturverträglich typkonform Taentzer Visuelle Sprachen 151

Definition: Graph Ein gerichteter Graph G = (V G, E G, src G, tar G ) besteht aus einer Menge V G von Knoten, E G von Kanten und Abbildungen src G, tar G : E G V G, die jeder Kante einen Quellund Zielknoten zuweisen. Attributierung von Knoten und Kanten durch weitere Abbildungen: attrv:v G Datentyp attre:e G Datentyp n3:next inscr= t end a2:sactivity n = act2 begin s:startact a:sactivity n = act1 d:decision end begin begin n1:next end begin n2:next n4:next inscr= f end a3:sactivity n = act3 Taentzer Visuelle Sprachen 152

Typgraph mit Vererbung Abstrakte und konkrete Knotentypen: keine Instanzknoten zu abstrakten Knotentypen Knotenvererbung: clan(n) ={n N path n n} Vererbung ist azyklisch. Mehrfachvererbung ist möglich. StartAct begin Next inscr: String Activity end Decision SActivity n : String EndAct Taentzer Visuelle Sprachen 153

Getypte Graphen und Graphmorphismus Wir suchen einen Graphmorphismus, d.h. eine Knoten- und eine Kantenabbildung type GN : G N TG N und type GE : G E TG E mit type GN (src(e)) clan(src(type GE (e)) und type GN (tar(e)) clan(tar(type GE (e)) Next inscr: String s:startact begin n1:next begin end a:sactivity n = act1 end begin StartAct Activity Decision n3:next inscr= t end begin d:decision end begin n2:next n4:next inscr= f end SActivity n : String a2:sactivity n = act2 a3:sactivity n = act3 EndAct Taentzer Visuelle Sprachen 154

Syntaxdefinition visueller Sprachen Definitionsansatz Instanz von Eine visuelle Sprache Instanz von Sprachelement (AS) Meta-Metamodell Instanz von Metamodell Instanz von Modell Graphtransformation Instanz von Graphsprache Instanz von Graph Taentzer Visuelle Sprachen 155

Definition der abstrakten Syntax einer visuellen Sprache visuelles Alphabet Symboltypen Relationstypen Attributtypen visueller Satz (Graphik) Symbole Relationen visuelle Sprache Typgraph T Knotentypen Kantentypen Attributtypen Instanzgraph G T Knoten Kanten Graphsprache L {G G T} Startgraph S Graphregel p = (L R) P Graphgrammatik GG=(T,S,P) Taentzer Visuelle Sprachen 156

Sprache der Aktivitätendiagramme Eigenschaften: genau eine Start- und eine Endaktivität Jede einfache Aktivität hat genau eine eingehende und eine ausgehende Transition. Die Startaktivität hat keine eingehende, die Endaktivität keine ausgehende Transition. Jede Entscheidung hat zwei Alternativen, die später wieder vereinigt werden. [product not available] notify client receive order check availiability [product available] calculate price send receipt Entscheidungen haben eine eingehende und zwei ausgehende, oder zwei eingehende und eine ausgehende Transition. Taentzer Visuelle Sprachen 157

Beispiel: eine Syntaxgrammatik Taentzer Visuelle Sprachen 158

Beispiel: Graphgrammatik Startgraph: Regeln: Taentzer Visuelle Sprachen 159

Ein Graphtransformationsschritt insertsimpleactivity afterstart( firstact ) Taentzer Visuelle Sprachen 160

Graphregel: Graphtransformation Abstrakte Typen dürfen benutzt werden. Keine abstrakten Typen für neu erzeugte Knoten. Graphtransformationsschritt: Gegeben:eine Graphregel p = (L R) und ein Ansatz m:l G Ein Graphtransformationsschritt wendet die Regel p auf Graph G mit Ansatz m an: G p,m H. Graphtransformationssequenz: G p 1,m 1 G 1 p n,m n G n = G * G n Sprache einer Graphgrammatik: LL(GG)= { G S * G } L G m p R H Taentzer Visuelle Sprachen 161

Eine Transformationssequenz Startgraph:? Taentzer Visuelle Sprachen 162

Generierung der abstrakten Syntax eines Aktivitätendiagramms Ableitungssequenz: insertsimpleactivityafterstart("receive Order"); insertsequentialactivity (receiveorder, "check availability"); insertsequentialactivity (checkavailability, "Decision"); insertdecision(decision, "product not available", "product available", "notify client", "calculate price"); insertsequentialactivity (calculateprice, "send receipt"); receiveorder, checkavailibility, decision und calculateprice sind die Namen von Activity-Knoten. Taentzer Visuelle Sprachen 163

Anwendungsbedingungen für Graphtransformationsregeln Kann man in jedem Zustand jede Regel anwenden? Kann jede Graphtransformationsregel auf jeden Instanzgraphen angewandt werden? Erste Bedingung: Es muss ein Graphmorphismus von der linken Seite der Regel L in den Instanzgraphen G gefunden werden. L p R Problem: Es soll ein Knoten gelöscht werden, an dem Kanten hängen, die in der linken Seite nicht vorkommen. G m H Lösung 1: Regel wird in diesem Fall nicht angewandt. Dies führt zu einer weiteren Anwendungsbedingung: Lösch einen Knoten nur, wenn all seine hängenden Kanten in der linken Seite aufgeführt werden. Lösung 2: Hängende Kanten werden mitgelöscht. Taentzer Visuelle Sprachen 164

Negative Anwendungsbedingungen Eine negative Anwendungsbedingung N über L ist ein Obergraph N von L. N L Ein Ansatz m: L G erfüllt N, wenn es keinen Graphmorphismus q:n G gibt, sodass die Abbildung von N nach G mit der von L nach G verträglich ist, d.h. q L = m gilt. q G m Taentzer Visuelle Sprachen 165

Bedingte Anwendungsbedingungen Eine bedingte Anwendungsbedingung P C über L besteht aus zwei Obergraphen von L. Ein Ansatz m: L G erfüllt die Anwendungsbedingung P C, wenn es für alle Graphmorphismen p: P G mit p L = m einen Graphmorphismus c: C G mit c P = p gibt. C P c p L G m Taentzer Visuelle Sprachen 166

Chomsky-Grammatiken: Grammatiken über Strings Regel A aab als (kontextfreie) Graphgrammatik Regel: Symbole als Knoten oder Kanten in L? A 1: 4: a A b 1: 2: 3: 4: Anwendung auf das Spezifizieren und Parsieren von visuellen Sprachen Theorie der Graphgrammatik als formale Sprachen- theorie für mehrdimensionale Strukturen Hierarchie von Sprachklassen und Grammatiken Entscheidbarkeits- und Komplexitätsergebnisse Parsierungsalgorithmen Taentzer Visuelle Sprachen 167

Zusammenfassung Die abstrakte Syntaxstruktur von Graphiken wird durch Graphen dargestellt. Typgraph: abstrakte Syntax des Alphabets Instanzgraph: abstrakte Syntax einer Graphik Graphgrammatiken können als eine Verallgemeinerung von Stringgrammatiken betrachtet werden. Strings als spezielle Graphen Metamodelle definieren visuelle Sprachen deklarativ, während Graphgrammatiken konstruktiv vorgehen. Ausblick: Integration beider Paradigmen in einen Ansatz zur Definition von visuellen Sprachen Taentzer Visuelle Sprachen 168