Bibliothek für Graphgrammatik und Umschreiben von Graphen

Ich interessiere mich für eine Bibliothek für:

  • Darstellen von Regeln zum Umschreiben von Graphen
  • Darstellung formaler Grammatiken in Bezug auf Graphen
  • (Niedrige Priorität:) repräsentiert Graphautomaten
  • (Niedrige Priorität:) Ausführen von Graphautomaten auf einem gegebenen Graphen
  • Schnelles Anwenden von Umschreibungsregeln auf ein Diagramm, einmalig und wiederholt

Es spielt keine Rolle, ob die Bibliothek selbst Graphen darstellt oder ob sie sich für diese Darstellung auf eine externe Bibliothek oder den Benutzer verlässt

Die Bibliothek sollte unterstützen:

  • Gerichtete und ungerichtete Graphen
  • Einfache und Multigraphen
  • Kanten- und Scheitelpunktetiketten und -farben, vorzugsweise von mehreren Arten

Die Programmiersprache sollte in der Reihenfolge abnehmender Präferenz sein:

  • Modernes C++ (dh C++11 und höher)
  • altes (ähnliches) C++
  • Noch etwas

Lizenz:

  • Muss nicht in den Handelscode gehen
  • Vorzugsweise etwas, aus dem ich abgeleitete Arbeiten erstellen und an anderer Stelle in den Code einfügen kann
  • Weniger bevorzugt, etwas, womit ich verknüpfen kann

Preislimit: Muss zum Download frei verfügbar sein.

+1 für eine tolle Frage. Hier ist ein Link zu einigen Ressourcen: cs.le.ac.uk/people/rh122/gratra/applications.html

Antworten (1)

Graphgrammatiken und Rewriting sind seit langem ein heißes Thema in deutschen akademischen Organisationen.

Das praktischste Werkzeug, das ich dafür kenne, ist Andy Schurr's PROGRES: PROgrammed Graph REwrite Systems . Dies war eine Arbeit, die Ende der 1980er / Anfang der 1990er Jahre durchgeführt wurde und so aussah, als wäre sie einigermaßen ausgereift.

Ich habe die Zeitungen gelesen und es klingt alles großartig; aber ich habe keine persönliche erfahrung. Beim Stöbern im Internet ist unklar, ob dieses Projekt noch aktiv ist und / oder wo Sie das Tool erhalten können, wenn Sie es alle erhalten können.

[Ich habe Erfahrung mit AST-Rewriting-Systemen, um die Nützlichkeit davon zu beurteilen].

Wikipedia listet eine Vielzahl von Engines zum Umschreiben von Graphen auf, von denen eine PROGRES ist. Von den anderen weiß ich wenig.

AST-Umschreibungssysteme wie in, sagen wir, TOM? Werde mir auf jeden Fall mal PROGES anschauen.
Ja, AST schreibt wie in TOM um. Weitere Informationen finden Sie unter semanticdesigns.com/Products/DMS/DMSToolkit.html . Ich bin der Auftraggeber dahinter.