GrGen.NET
# GrGen.NET

GrGen.NET ist ein Softwareentwicklungswerkzeug, das Programmiersprachen (Fachsprachen (DSL)) anbietet, die auf die Verarbeitung von graphartigen Daten hin optimiert wurden. In ihrem Kern bestehen die Sprachen aus modularen Graphersetzungregeln, die auf deklarativer Graphmustersuche- und Ersetzung aufbauen; sie werden durch viele Konstrukte, die in der imperativen und objekt-orientierten Programmierung geläufig sind ergänzt, und mit aus Datenbankenabfragesprachen bekannten Sprachmitteln vervollständigt.
Der Graph Rewrite GENerator übersetzt die Sprachen in effiziente .NET-Assemblies (über C#-Code als Zwischenschritt), die über eine Programmierschnittstelle in den Code einer beliebigen .NET-Sprache integriert werden können. GrGen kann unter Windows und Linux (Mono benötigt) ausgeführt werden und ist als Open Source unter der LGPL v3 verfügbar.
Zum Rapid Prototyping und Debugging enthält das Programmpaket eine interaktive Kommandozeile und einen (VCG-)Graphvisualisierer. Mit seinen Sprachen und seinem graphischen und schrittweisen Debugging erlaubt GrGen die Entwicklung auf dem natürlichen Abstraktionsniveau von graphbasierten Darstellungen. Selbige finden zum Beispiel im Ingenieurwesen, der Modelltransformation, der Computerlinguistik, oder dem Compilerbau (als Intermediate Representation) Verwendung.
GrGen erhöht die Produktivität für diese Art von Aufgaben deutlich über das hinaus, was mit der Programmierung in einer gewöhnlichen Programmiersprache erreicht werden kann; aufgrund der vielen implementierten Optimierungen erlaubt es dennoch schnelle Lösungen zu erreichen. Seine Entwickler bewerben das System mit der Aussage, dass es die höchste kombinierte Entwicklungs- und Ausführungsgeschwindigkeit bietet, die für das algorithmische Verarbeiten von Graphen verfügbar ist (basierend auf ihrem Abschneiden bezüglich diverser Aufgaben, die in unterschiedlichen Ausgaben des Transformation Tool Contests (/GraBaTs) gestellt wurden).

## Beispielspezifikation

Es folgt ein Auszug aus der Graphmodell- und Ersetzungsregelspezifikation der GrGen.NET-Lösung für die @1@2Vorlage:Toter Link/www.fots.ua.ac.beAntWorld-Aufgabe (PDF; 105 kB) (Seite nicht mehr abrufbar, festgestellt im Januar 2019. Suche in Webarchiven), die auf der Grabats 08 gestellt wurde.
Graphmodell:
Ersetzungsregeln: