Graphenlabor (GraLab)

Beschreibung

Das Graphenlabor (GraLab) ist eine Klassenbibliothek und stellt eine sehr effiziente API zur Verarbeitung von TGraphen dar. Die interne Datenstruktur für Graphen ist für eine schnelle Traversierung optimiert.

Es existieren zwei verschiedene Versionen des Gralab ein Version in C++ (im Folgenden weiter als Gralab bezeichnet) und eine Version in Java, das JGraLab.

Funktionalität

GraLab und JGraLab

  • Auslesen von TGraphen aus Dateien
  • Import von GXL Instanz/Schema Dateien
  • Verwendung von TGraphen als gerichtete oder ungerichtete Graphen ohne Veränderung der Repräsentation
  • Modifikation von TGraphen zur Laufzeit
    • effizientes Einfügen und Löschen von Knoten
  • Traversierungsfunktionen für alle Knoten, alle Kanten sowie alle eingehenden Kanten eines Knoten
    • Beschränkung auf bestimmte Klassen
  • Erstellung von Subklassenrelationen mit Attributvererbung
    • Mehrfachvererbung
  • Ergänzung von Konten und Kanten mit beliebigen Attributen
  • Ergänzung von Knoten und Kanten mit temporären Attributen zur Kontrolle von Graphalgorithmen
  • Schreiben von TGraphen in Dateien
  • Export von GXL Instanz/Schema Dateien
  • Erzeugung von Java-Klassen aus einer Schemabeschreibung in .tg/grUML zur Nutzung in eigenen Implementation
  • optionale Speicherung und rückgängig machen von Änderungen an Graphen mittels einer UNDO-Funktion
  • sytemunabhängige Persistenz von Graphen durch sehr effiziente Speicher- und Ladefunktionen
Nur JGraLab
  • Objektorientierte Zugriffsschicht
  • Zugriff auf das Graphschema zur Laufzeit
  • Remote-Zugriff auf die Funktionalität über eine XML-RPC Schnittstelle

Implementierung

  • Für GraLab existieren Distributionen für Linux, Apple Mac OS X (GNU g++ ab 3.x), Microsoft Windows (Win 95 ... XP, DevStudio 6, DevStudio .NET) und Sun Solaris (Intel oder Sparc Architektur, GNU g++ oder SparcWorks Compiler).
  • JGraLab ist ab Java 6.0 lauffähig (getestet unter Linux, Microsoft Windows XP, Microsoft Windows Vista und Apple Mac OS X).

Download und Lizenz

Sowohl GraLab als auch JGraLab sind für wissenschaftliche und private Zwecke frei verfügbar. Es gibt auch kommerzielle Lizenzen. Bitte wenden sie sich an Prof. Dr. Jürgen Ebert für weitere Informationen.

Weitere Informationen zum Download und zur Lizenz von (J)GraLab.

Anwendungsgebiete

Das GraLab kommt zurzeit in unserem Projekt GUPRO zum Einsatz, das JGraLab wird in ReDSeeDS als Fact Repository verwendet.

 

Literatur

2006

Kahle2006JKE
Kahle, Steffen (2006): JGraLab: Konzeption, Entwurf und Implementierung einer Java-Klassenbibliothek für TGraphen. Universität Koblenz-Landau, Institut für Softwaretechnik. Diplomarbeit.

1998

Dahm1998DGA
Widmann, Friedbert; Dahm, Peter (1998): Das Graphenlabor - Auszug aus dem Benutzerhandbuch. In: Winter, Andreas; Stasch, H.; Gimnich, Rainer; Ebert, Jürgen: GUPRO - Generische Umgebung zum Programmverstehen. Föllbach. S. 66--84.

Dahm1998DG
Dahm, Peter; Widmann, Friedbert (1998): Das Graphenlabor. Koblenz: Universität Koblenz-Landau, Institut für Informatik. Nr. 11/98. Fachberichte Informatik.

1994

Dahm1994DE3
Dahm, Peter; Ebert, Jürgen; Litauer, Christoph (1994): Das EMS-Graphenlabor 3.0 - Benutzerhandbuch. Koblenz: Universität Koblenz-Landau, Institut für Softwaretechnik. Nr. 3/94. Projektbericht.

last modified Feb 23, 2012 10:32 AM

Kontakt