TGraphen

Beschreibung

TGraphen wurden von der Arbeitsgruppe Ebert entwickelt und bilden unseren Forschungsschwerpunkt. Dabei handelt es sich um typisierte, attributierte, angeordnete und gerichtete Graphen. Sie stellen eine sehr generelle Art von Graphen dar und es existiert eine vielseitige Datenstruktur (Ebert1995ADA), mit der alle im Folgenden erläuterten Eigenschaften von TGraphen repräsentiert werden können:

  • Alle Knoten und Kanten von TGraphen sind attributiert, d.h. sie können Attribut-Wert-Paare beinhalten, die Attributbezeichnern konkrete Werte zuordnen.
  • Die Knoten und Kanten eines TGraphen sind normalerweise typisiert, d.h. die Menge der Attribute wird durch die Typen der Knoten und Kanten bestimmt.
  • Sowohl die Menge der Knoten als auch die Menge der Kanten innerhalb eines TGraphen sind geordnet, ebenso die Menge der inzidenten Kanten an jedem Knoten.
  • Knoten und Kanten in TGraphen sind unabhängige Objekte erster Klasse.
  • Multiple Kanten sind möglich, d.h. zwei Knoten können mit mehr als einer Kante miteinander verbunden sein.
  • Sowohl Knoten als auch Kanten haben klar unterscheidbare Klassentypen.
  • Mehrfachvererbung ist sowohl bei Knoten- als auch bei Kantentypen möglich.

Mit TGraphen können verschiedene Arten von Graphen dargestellt werden, deren Modellierungmächtigkeit gleich oder geringer ist, indem gegebenenfalls einige TGraphen-Eigenschaften ignoriert werden. Die Mächtigkeit von TGraphen liegt zwischen der Essential Meta Object Facility und der Complete Meta Object Facility, wobei TGraphen einige Eigenschaften hat, die selbst CMOF nicht hat (z.B. Kantenattribute).

TGraphen inklusive aller ihrer Eigenschaften können mit der GraLab Klassenbibliothek erstellt und verarbeitet, mit GrUML oder EER/GRAL modelliert, mit GReQL angefragt und mit GXL ausgetauscht werden.

Beispiel

Die folgende Abbildung zeigt einen beispielhaften TGraphen: graph.jpg

Anwendungsgebiet

Die TGraphen zurzeit in unseren Projekten GUPRO und ReDSeeDS zum Einsatz.

 

Literatur

2008

Ebert2008GTI2
Ebert, Jürgen; Riediger, Volker; Winter, Andreas (2008): Graph Technology in Reverse Engineering, The TGraph Approach. In: Gimnich, Rainer; Kaiser, Uwe; Quante, Jochen; Winter, Andreas: 10th Workshop Software Reengineering (WSR 2008). Bonn: GI. Bd. 126. S. 67-81.

Ebert2008MTS
Ebert, Jürgen (2008): Metamodels Taken Seriously: The TGraph Approach. In: Kontogiannis, Kostas; Tjortjis, Christos; Winter, Andreas: 12th European Conference on Software Maintenance and Reengineering. Piscataway, NJ: .

Ebert2008UTT
Ebert, Jürgen; Riediger, Volker; Schwarz, Hannes; Bildhauer, Daniel (2008): Using the TGraph Approach for Model Fact Repositories. In: Proceedings of the International Workshop on Model Reuse Strategies (MoRSe 2008). S. 9-18.

1995

Ebert1995ADA
Ebert, Jürgen; Franzke, Angelika (1995): A Declarative Approach to Graph Based Modeling. In: Mayr, E.; Schmidt, G.; Tinhofer, G.: Graphtheoretic Concepts in Computer Science. Berlin: Springer Verlag. Nr. 903. S. 38-50.

1987

Ebert1987AVD
Ebert, Jürgen (1987): A Versatile Data Structure For Edge-Oriented Graph Algorithms. In: Communications ACM. Bd. 30. Nr. 6. S. 513-519.