Skip to main content

GRAPE – A Graph Rewriting and Persistence Engine

  • Conference paper
  • First Online:

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

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
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

Notes

  1. 1.

    http://lighttable.com.

  2. 2.

    https://github.com/jenshweber/grape.

  3. 3.

    https://github.com/sdiemert/app-project.

References

  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

    Chapter  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)

    Article  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)

    Article  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

Authors

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. https://doi.org/10.1007/978-3-319-61470-0_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-61470-0_13

  • 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)

Publish with us

Policies and ethics