MarketGrGen
Company Profile

GrGen

GrGen.NET is a software development tool that offers programming languages that are optimized for the processing of graph structured data. The core of the languages consists of modular graph rewrite rules, which are built on declarative graph pattern matching and rewriting; they are supplemented by many of the constructs that are used in imperative and object-oriented programming, and are completed with language devices known from database query languages.

Specification sample
Below is an example containing a graph model and rule specifications from the GrGen.NET-solution to the AntWorld-case posed at Grabats 08 . Graph model: node class GridNode { food:int; pheromones:int; } node class GridCornerNode extends GridNode; node class AntHill extends GridNode { foodCountdown:int = 10; } node class Ant { hasFood:boolean; } edge class GridEdge connect GridNode[1] -> GridNode[1]; edge class PathToHill extends GridEdge; edge class AntPosition; Rewrite rules: rule TakeFood(curAnt:Ant) { curAnt -:AntPosition-> n:GridNode\AntHill; if { !curAnt.hasFood && n.food > 0; } modify { eval { curAnt.hasFood = true; n.food = n.food - 1; } } } rule SearchAlongPheromones(curAnt:Ant) { curAnt -oldPos:AntPosition-> old:GridNode 9; } modify { delete(oldPos); curAnt -:AntPosition-> new; } } test ReachedEndOfWorld(curAnt:Ant) : (GridNode) { curAnt -:AntPosition-> n:GridNode\AntHill; negative { n <-:PathToHill-; } return (n); } == External links ==
Conference papers
• GrGen: A Fast SPO-Based Graph Rewriting Tool/- ICGT 06 • [https://web.archive.org/web/20110606104449/http://www-users.cs.york.ac.uk/~det/Papers/agtive.07.pdf Generation of Sierpinski Triangles: A Case Study for Graph Transformation Tools - AGTIVE 07 • Graph Rewriting for Hardware Dependent Program Optimizations - AGTIVE 07 • A First Experimental Evaluation of Search Plan Driven Graph Pattern Matching - AGTIVE 07 • Customizing GrGen.NET for Model Transformation - GraMoT 08 • Graph Rewrite Rules with Structural Recursion - ICGT/GCM 08 == See also ==
tickerdossier.comtickerdossier.substack.com