Skip to main content

GRAPE – A Graph Rewriting and Persistence Engine

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 10373)


Graph-based data structures are fundamental to many applications in Computer Science and Software Engineering. Operations on graphs can be formalized as graph transformations or graph rewriting rules and a rich theoretical underpinning has been developed in the research community that supports reasoning about the properties of graph transformation systems. Various tools exist for developing graph transformations, including visual editors as well as textual languages that can be integrated with general purpose programming languages. This paper introduces Grape (Graph Rewriting and Persistence Engine), a hybrid, embedded Domain Specific Language (DSL) for Clojure. Grape is a lightweight approach to computing with persistent graphs within Clojure. It combines the ease of use of a textual DSL with a graphical visualization that is inlined with the program code when needed to aid comprehension and documentation of graph rewriting rules. Moreover, Grape supports persistence, programmed transactions and backtracking.


  • Graph transformations
  • Tool support
  • DSL
  • Persistence
  • Clojure

This is a preview of subscription content, access via your institution.

Buying options

USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions


  1. 1.

  2. 2.

  3. 3.


  1. Rozenberg, G.: Handbook of Graph Grammars and Computing by Graph Transformation - Volume 1: Foundations. World Scientific Publishing Company (1999)

    Google Scholar 

  2. Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G.: Handbook of Graph Grammars and Computing by Graph Transformation - Volume 2: Applications, Languages, Tools. World Scientific Publishing Company (1999)

    Google Scholar 

  3. Rouly, J.M., Orbeck, J.D., Syriani, E.: Usability and suitability survey of features in visual ides for non-programmers. In: Proceeding of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools, New York, NY, USA, pp. 31–42 (2014)

    Google Scholar 

  4. Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundam. Informaticae 26(3), 287–313 (1996)

    MathSciNet  MATH  Google Scholar 

  5. Schürr, A., Winter, A.J., Zündorf, A.: Graph grammar engineering with PROGRES. In: Schäfer, W., Botella, P. (eds.) ESEC 1995. LNCS, vol. 989, pp. 219–234. Springer, Heidelberg (1995). doi:10.1007/3-540-60406-5_17

    CrossRef  Google Scholar 

  6. Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceeding of the 22nd Intl Conference on Software Engineering, New York, NY, USA, pp. 742–745 (2000)

    Google Scholar 

  7. Taentzer, G.: AGG: a graph transformation environment for modeling and validation of software. In: Applications of Graph Transformations with Industrial Relevance, pp. 446–453 (2003)

    Google Scholar 

  8. Runge, O., Ermel, C., Taentzer, G.: AGG 2.0 – new features for specifying and analyzing algebraic graph transformations. In: Applications of Graph Transformations with Industrial Relevance, pp. 81–88 (2011)

    Google Scholar 

  9. Ghamarian, A.H., de Mol, M., Rensink, A., Zambon, E., Zimakova, M.: Modelling and analysis using GROOVE. Int. J. Softw. Tools Technol. Transf. 14(1), 15–40 (2012)

    CrossRef  Google Scholar 

  10. Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Model Driven Engineering Languages and Systems, pp. 121–135 (2010)

    Google Scholar 

  11. Balogh, A., Varró, D.: Advanced model transformation language constructs in the VIATRA2 framework. In: Proceedings of the 2006 ACM Symposium on Applied Computing, New York, NY, USA, pp. 1280–1287 (2006)

    Google Scholar 

  12. Bergmann, G., et al.: Viatra 3: a reactive model transformation platform. In: Theory and Practice of Model Transformations, pp. 101–110 (2015)

    Google Scholar 

  13. Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.: GrGen: a fast SPO-based graph rewriting tool. In: Graph Transformations, pp. 383–397 (2006)

    Google Scholar 

  14. Priemer, D., George, T., Hahn, M., Raesch, L., Zündorf, A.: Using graph transformation for puzzle game level generation and validation. In: Graph Transformation, pp. 223–235 (2016)

    Google Scholar 

  15. Horn, T.: Graph pattern matching as an embedded clojure DSL. In: Graph Transformation, pp. 189–204 (2015)

    Google Scholar 

  16. Ellson, J., Gansner, E., Koutsofios, L., North, S.C., Woodhull, G.: Graphviz— open source graph drawing tools. In: Graph Drawing, pp. 483–484 (2001)

    Google Scholar 

  17. Gasarch, W.: Review of algorithmic puzzles by Anany Levitin and Maria Levitin. SIGACT News 44(4), 47–48 (2013)

    CrossRef  MathSciNet  Google Scholar 

  18. Schürr, A., Klar, F.: 15 years of triple graph grammars. In: Graph Transformations, pp. 411–425 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Jens H. Weber .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Weber, J.H. (2017). GRAPE – A Graph Rewriting and Persistence Engine. In: de Lara, J., Plump, D. (eds) Graph Transformation. ICGT 2017. Lecture Notes in Computer Science(), vol 10373. Springer, Cham.

Download citation

  • DOI:

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-61469-4

  • Online ISBN: 978-3-319-61470-0

  • eBook Packages: Computer ScienceComputer Science (R0)