2006
DOI: 10.1007/11841883_27
|View full text |Cite
|
Sign up to set email alerts
|

GrGen: A Fast SPO-Based Graph Rewriting Tool

Abstract: Abstract. Graph rewriting is a powerful technique that requires graph pattern matching, which is an NP-complete problem. We present GrGen, a generative programming system for graph rewriting, which applies heuristic optimizations. According to Varró's benchmark it is at least one order of magnitude faster than any other tool known to us. Our graph rewriting tool implements the well-founded single-pushout approach. We define the notion of search plans to represent different matching strategies and equip these s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
74
0

Year Published

2008
2008
2024
2024

Publication Types

Select...
7
1

Relationship

1
7

Authors

Journals

citations
Cited by 108 publications
(74 citation statements)
references
References 13 publications
0
74
0
Order By: Relevance
“…An implementation of readers that allows us to implement and execute readers of realistic size must be made. Such an implementation should be based on a general graph transformation engine such as AGG, GP, and GrGen.NET [34,32,17]. Currently, one of our students works on a prototype implementation of readers.…”
Section: Discussionmentioning
confidence: 99%
“…An implementation of readers that allows us to implement and execute readers of realistic size must be made. Such an implementation should be based on a general graph transformation engine such as AGG, GP, and GrGen.NET [34,32,17]. Currently, one of our students works on a prototype implementation of readers.…”
Section: Discussionmentioning
confidence: 99%
“…In GReAT [6] the patternmatching algorithm always starts from specific nodes called "pivot nodes"; rule execution is sequential and there are conditional and looping structures. GrGen.NET [21] uses the concept of search plans to represent different matching strategies. GP [36] is a rule-based, non-deterministic programming language, where programs are defined by sets of graph rewrite rules and a textual strategy expression.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Used for a long time in λ-calculus [8], strategies are present in programming languages such as Clean [33], Curry [24], and Haskell [25] and can be explicitely defined to rewrite terms in languages such as Elan [11], Stratego [42], Maude [29] or Tom [7]. They are also present in graph transformation tools such as PROGRES [39], AGG [19], Fujaba [32], GROOVE [37], GrGen [21] and GP [36]. PORGY's strategy language draws inspiration from these previous works, but a distinctive feature of PORGY's language is that it allows users to define strategies using not only operators to combine graph rewriting rules but also operators to define the location in the target graph where rules should, or should not, apply.…”
Section: Introductionmentioning
confidence: 99%
“…We use GrGen [1,2] which is a well-known and fast graph rewrite tool. It features an extensive specification language and can operate directly on our compiler's IR [3].…”
Section: The Problemmentioning
confidence: 99%
“…These subgraphs are composed of several basic instructions. To perform an optimization, we transform the original graph by replacing these subgraphs by a single corresponding, hardware specific node 2 . Figure 1 shows a small example of how such an optimizing transformation looks like.…”
Section: Introductionmentioning
confidence: 99%