• Keine Ergebnisse gefunden

Theoretische Ans¨ atze zur Graphtransformation

2.6 Graphtransformationen

2.6.3 Theoretische Ans¨ atze zur Graphtransformation

Algorithmischer Ansatz

Der algorithmische Ansatz basiert auf Mengentheorie. Graphen werden durch Mengen von Knoten und Kanten beschrieben. Diese k¨onnen markiert und attributiert werden. Da Transformationen damit auf Mengen operieren, werden sie mit Hilfe von mengentheore-tischen Operatoren definiert. Zudem k¨onnen Parameter an Transformationen ¨ubergeben werden. Grunds¨atzlich

”steht die Angabe eines Verfahrens im Vordergrund, das eine Graphersetzung als Folge von Mengenoperatoren abwickelt.“ [68] Es handelt sich um einen praxisorientieren Ansatz.

Der Ablauf einer Transformation gestaltet sich, grob skizziert, wie folgt: Zuerst wird der zu ersetzende Untergraph (linke Seite der Transformationsregel) identifiziert und dessen Kontext ermittelt. Darauffolgend wird der Untergraph gel¨oscht und der neue Un-tergraph (rechte Seite der Transformationsregel) an dessen Stelle eingef¨ugt. Im n¨achsten Schritt wird der neue Untergraph in den Wirtsgraphen eingebettet. Dies geschieht mit-tels Einbettungs¨uberf¨uhrungsregeln. Die Einbettungs¨uberf¨uhrungsregeln beschreiben, wie die rechte Seite der Graphtransformationsregel in den bestehenden Wirtsgraphen eingef¨ugt wird. Einbettungs¨uberf¨uhrungsregeln k¨onnen global (eine Regel f¨ur alle Graph-produktionen) und lokal (je Graphproduktion eine Regel) definiert werden. In jedem Falle beziehen sie den Kontext der Ersetzung ein. Handelt es sich um eine attributier-te Transformation, werden die Attribuattributier-te abgeleiattributier-tet oder aus Parameattributier-tern zugewiesen.

[68, 69]

Die so definierte Transformation wurde sp¨ater auf Teilgraphen ausgeweitet. Genauere Beschreibungen des algorithmischen Ansatzes finden sich in [69] und [66].

Algebraischer Ansatz

Basierend auf der Kategorientheorie werden im algebraischen Ansatz Graphtransforma-tionsregeln deklarativ beschrieben. Deklarativ bedeutet, dass zur Darstellung der Wir-kung einer Regel entsprechende Bedingungen vor der Transformation an ihre linke Seite und nach der Transformation an ihr rechte Seite gestellt werden. Zentrales Element ist hierbei die Kategorie, eine totale, assoziative, zweistellige Verkn¨upfung. Pushout-Diagramme stellen die Transformation f¨ur eine Kategorie von Graphen dar. Sie legen deklarativ fest, wie das Ergebnis einer Graphersetzung auszusehen hat. Ein Pushout ist das Ergebnis der Vereinigung zweier Graphen, die hier Hypergraphen genannt werden.

Die Hypergraphen werden mittels totaler Morphismen vereinigt.

Es existieren zwei Pushout-Ans¨atze. Der klassische Double-Pushout-Ansatz agiert auf der Kategorie von Graphen und benutzt Graphersetzungsregeln, deren Semantik mit Hil-fe zweier Pushout-Diagramme beschrieben wird. Abbildung 2.7 zeigt den Ablauf einer Transformation. PO1 und PO2 markieren die beiden Pushouts. L und R stellen die linke bzw. rechte Seite der Transformationsregel dar. G ist der Graph, in dem die Ersetzung vorgenommen werden wird. H ist der abgeleitete Graph, das Ergebnis der Transforma-tion und gleichzeitig das Pushout des PO2. K bzw. D repr¨asentieren den gemeinsamen Durchschnitt, die Gemeinsamkeiten von L und R bzw. von G und H. Die Morphismen g,

L id K id R

g d h

G id D id H

32 32

Abbildung 2.7: Der klassische algebraische double-pushout Ansatz

d und h ¨uberf¨uhren die Graphen ineinander. Bei dieser Art der Transformation werden die Knoten und Kanten des Graphen, die im Bild im Durchschnitt K der linken und rechten Regelseite liegen, identisch ersetzt.

Alternativ dazu wurde der Single-Pushout-Ansatz entwickelt. W¨ahrend der Double-Pushout-Ansatz totale Morphismen verwendet, werden im Single-Double-Pushout-Ansatz par-tielle Morphismen zur Abbildung von L nach R bzw. G nach H genutzt. Der Single-Pushout-Ansatz reduziert die Anzahl der zur Graphtransformation ben¨otigten Pushouts auf 1. [66]

F¨ur eine genauere Erkl¨arung des algebraischen Ansatzes, inklusive der Pushout-An-s¨atze, sei auf das

”Handbook of Graph Grammars and Computing by Graph Transfor-mation“, Band 1 [66] und auf die

”Fundamentals of Algebraic Graph Transformation“

[30] verwiesen.

Logikorientierter Ansatz

Dieser Hybridansatz der vorangegangenen Ans¨atze definiert den Graphersetzungsbe-griff mittels Pr¨adikatenlogik erster Stufe neu und greift dabei die identische Ersetzung von Knoten des algebraischen Ansatzes, sowie die Einbettungs¨uberf¨uhrungsregeln des algorithmischen Ansatzes auf. Da es sich um einen praxisnahen Ansatz handelt, greift dieser einige neue Aspekte auf, die den vorangegangenen Ans¨atzen fehlen. Vor allem bie-tet er eine M¨oglichkeit, Eigenschaften von schematreuen Graphen statisch zu beschrei-ben und den Erhalt dieser Eigenschaften im Zuge einer Graphver¨anderung zu pr¨ufen.

Grunds¨atzlich gilt, dass dieser Ansatz den algebraischen Ans¨atzen maximal ¨ahnelt ohne dabei gegen¨uber dem algorithmischen Ansatz an Ausdrucksf¨ahigkeit zu verlieren.

Graphtransformationsregeln und Graphen werden durch pr¨adikatenlogische Formel-mengen dargestellt. Die Transformation selbst wird als Manipulation der Formelmenge verstanden. Zentraler Begriff ist hierbei das Graphschema. Es ordnet einer Klasse von Graphen Integrit¨atsbedingungen zu, beschreibt demnach deren internen Aufbau. Unter einer Klasse von Graphen versteht man Graphen mit gleicher Signatur. Hierbei wer-den Graphen als gerichtete, attributierte, knoten- und kantenmarkierte Graphen, kurz gakk-Graph aufgefasst. Zur Transformation muss der Graph, wie im ¨Ubrigen auch seine Ersetzungsregel, dem Schema treu sein (schematreuer Graph bzw. schematreue Grapher-setzungsregel). Ist dies der Fall, wird die Transformation durchgef¨uhrt, indem zuerst eine

Ansatz Algorithmische Algebraische Logikbasierte

Merkmal Ans¨atze Ans¨atze Ans¨atze

Theorie Mengentheorie Kategorientheorie Pr¨adikatenlogik

Abbild Teilgraph Teilgraph Teilgraph

Einbettung Uberf¨¨ uhrungsregel Id. Ersetzung Beide Konzepte Sequenziell, Invertiert, Ver- Sequenziell,

Anwendung parallel schmolzen, parallel, parallel

sequenziell

Kantenb¨uschel, Kanten, Kantenb¨uschel, Erstellen

Knoten Knoten Knoten

Kantenb¨uschel, Kanten, Knoten Kantenb¨uschel, L¨oschen

Knoten NUR im Kontext Knoten

Attributierbarkeit Intrinsisch Intrinsisch Abgeleitet, intrinsisch Kontrollstrukturen Vorgesehen Vorgesehen Vorgesehen

Tabelle 2.1:Vergleich der theoretischen Ans¨atze zur Graphtransformation

Teilgraphensuche auf dem Wirtsgraphen ausgef¨uhrt wird, der gefundene Teilgraph er-setzt und mittels einer Einbettungs¨uberf¨uhrungsfunktion eingebettet wird, Attribute auf neue Knoten transferiert und deren Werte berechnet werden.

F¨ur eine detaillierte Beschreibung des logikbasierten Ansatzes sei auf [68] verwiesen.

Vergleich

Zum Ende des Theorieabschnitts sollen die einzelnen Ans¨atze verglichen werden. Die wichtigsten Eigenschaften der Ans¨atze sind in Tabelle 2.1 zusammenfasst. Die drei Ans¨atze operieren letztendlich alle auf Teilgraphen, obwohl der algorithmische Ansatz urspr¨unglich auf Untergraphen definiert war. Die Einbettung in den Wirtsgraphen findet auf komplett unterschiedliche, hier nicht weiter gewichtete, Arten statt.

Ein großer Vorteil des algorithmischen Ansatzes besteht in seiner Ausdrucksm¨ achtig-keit bei gleichzeitig intuitiver Verst¨andlichkeit. Komplexe Graphtransformationsregeln, die beispielsweise das L¨oschen von Kanten mit unbestimmtem Kontext oder das L¨oschen, Kopieren und Erzeugen ganzer Kantenb¨uschel erlauben, sind damit formal beschreibbar.

Der algorithmische Ansatz ist jedoch bei der Regelanwendung auf eine sequenzielle oder parallele und gerichtete Anwendung beschr¨ankt. Er eignet sich damit gut, um Graph-transformationsregeln mit Kontrollstrukturen zu steuern.

Aufgrund der mathematischen Fundierung des algebraischen Ansatzes k¨onnen Regeln parallelisiert, verschmolzen oder invertiert werden. Gleichzeitig ist die Ausdrucksm¨ achtig-keit der Regeln geringer, da keine Kantenb¨uschel unbekannter Kardinalit¨at behandelt werden k¨onnen. Zudem k¨onnen Knoten nur im Kontext aller ihrer Kanten gel¨oscht wer-den. Dies bedeutet, dass alle Kanten, die mit dem zu l¨oschenden Knoten in Verbindung stehen, auf der linken Seite der Regel zu finden sein m¨ussen.4

4Dies gilt nicht f¨ur den Single Pushout Ansatz. N¨ahere Informationen hierzu finden sich in [66]

Der bisherige Vergleich zeigt, dass viele der St¨arken des algebraischen Ansatzes den Schw¨achen des algorithmischen Ansatzes entsprechen und umgekehrt. Daraus kann ge-folgert werden, dass eine restriktivere mathematische Spezifikation eine geringere Aus-drucksm¨achtigkeit zur Folge hat, w¨ahrend eine gr¨oßere Ausdrucksm¨achtigkeit eine we-niger restriktive mathematische Spezifikation erfordert. Die klassische Form des alge-braischen Ansatzes ist laut [69] weniger ausdrucksf¨ahig als die des mengentheoretischen Ansatzes. Beide Ans¨atze unterst¨utzen die Beschreibung graphver¨andernder Operatio-nen, bieten jedoch keine Hilfsmittel an, die die statische Beschreibung abgeleiteter Ei-genschaften bestimmter Graphklassen zulassen. Genauso wenig ist es ihnen m¨oglich, die Erhaltung bestimmter Eigenschaften einer Graphklasse vor und nach einer Transforma-tion zu pr¨ufen.

Diese Defizite versucht der logikbasierte Ansatz zu eliminieren, indem er eine Hy-bridl¨osung aus beiden Ans¨atzen bietet. Der Vorteil des logikbasierten Ansatzes liegt in der F¨ahigkeit komplexe Regeln ¨uber den Aufbau von Graphen zu gestatten, die Graph-schemata. Dabei kommen beliebige Bedingungen zum Einsatz. Es kann z.B. festgelegt werden, wie Attribute von verschiedenen Knoten zueinander in Beziehung stehen d¨urfen.

Zudem werden abgeleitete Grapheigenschaften unterst¨utzt: abgeleitete Kanten werden durch Pfade mit einer Pfadmarkierung dargestellt und Attribute k¨onnen abgeleitet wer-den, indem ihr Wert berechnet statt zugewiesen wird. Der logikbasierte Ansatz versucht demnach die Vorteile der beiden Ans¨atze zu vereinen. Dies gelingt nicht immer. Lo-gikbasierte Regeln k¨onnen zwar auf Kantenb¨uscheln operieren, sie sind jedoch nicht invertierbar.