Skip to main content

Verigraph: A System for Specification and Analysis of Graph Grammars

  • Conference paper
  • First Online:
Formal Methods: Foundations and Applications (SBMF 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10090))

Included in the following conference series:

Abstract

Graph grammars are models that allow for a visual representation of both static and dynamic aspects of a system. There are several tools that allow the edition, simulation and analysis of graph grammars, each of them focusing on one kind of analysis technique or graph model. In this paper we present a new tool for simulation and analysis of graph grammars, called Verigraph, built with the following design principles: an implementation as direct as possible of formal concepts (to ease correctness arguments), a generic implementation of core algorithms (to allow its application for several graph models), and a reasonable running time. In this paper we present architectural aspects of Verigraph, together with a comparison with other similar tools in terms of available features.

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

Access this chapter

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

Institutional subscriptions

Notes

  1. 1.

    For simplicity, lists are modelled as right degenerate trees.

  2. 2.

    The complete grammar of the example is available along with the Verigraph source code.

  3. 3.

    Link to Verigraph repository https://github.com/verites/verigraph.

  4. 4.

    The \(\smallfrown \) indicates that \(m_1\) and \(m_2\) are jointly surjective, i.e. \(m_1(L_1) \cup m_2(L_2) = G\).

  5. 5.

    Both the algorithms for shifting NACs over a morphism and over a span are omitted here due to lack of space, but can be found in [9].

  6. 6.

    treeToList.ggx and mutex.ggx are available on Verigraph Repository.

References

  1. Corradini, A., Duval, D., Echahed, R., Prost, F., Ribeiro, L.: AGREE – algebraic graph rewriting with controlled embedding. In: Parisi-Presicce, F., Westfechtel, B. (eds.) ICGT 2015. LNCS, vol. 9151, pp. 35–51. Springer, Heidelberg (2015). doi:10.1007/978-3-319-21145-9_3

    Chapter  Google Scholar 

  2. Corradini, A., Heindel, T., Hermann, F., König, B.: Sesqui-pushout rewriting. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 30–45. Springer, Heidelberg (2006). doi:10.1007/11841883_4

    Chapter  Google Scholar 

  3. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer, New York (2006)

    MATH  Google Scholar 

  4. Ehrig, H., Pfender, M., Schneider, H.J.: Graph-grammars: an algebraic approach. In: IEEE Conference Record of 14th Annual Symposium on Switching and Automata Theory, SWAT ’08, pp. 167–180, October 1973

    Google Scholar 

  5. Ehrig, H., Habel, A., Padberg, J., Prange, U.: Adhesive high-level replacement categories and systems. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 144–160. Springer, Heidelberg (2004). doi:10.1007/978-3-540-30203-2_12

    Chapter  Google Scholar 

  6. Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A., Corradini, A.: Algebraic approaches to graph transformation: part ii: single pushout approach and comparison with double pushout approach. In: Handbook of Graph Grammars, pp. 247–312 (1997)

    Google Scholar 

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

    MathSciNet  MATH  Google Scholar 

  8. Huth, M.R.A., Ryan, M.: Logic in Computer Science: Modelling and Reasoning about Systems. Cambridge University Press, New York (2000)

    MATH  Google Scholar 

  9. Lambers, L.: Certifying rule-based models using graph transformation. Ph.D. thesis, Berlin Institute of Technology (2009)

    Google Scholar 

  10. Lambers, L., Ehrig, H., Orejas, F.: Conflict detection for graph transformation with negative application conditions. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 61–76. Springer, Heidelberg (2006). doi:10.1007/11841883_6

    Chapter  Google Scholar 

  11. Machado, R.: Higher-order graph rewriting systems. Ph.D. thesis, Instituto de Informática - Universidade Federal do Rio Grande do Sul (2012)

    Google Scholar 

  12. Machado, R., Ribeiro, L., Heckel, R.: Rule-based transformation of graph rewriting rules: towards higher-order graph grammars. Theoret. Comput. Sci. 594, 1–23 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  13. Rensink, A.: The GROOVE simulator: a tool for state space generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004). doi:10.1007/978-3-540-25959-6_40

    Chapter  Google Scholar 

  14. Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation: Volume I. Foundations. World Scientific Publishing Co., Inc., River Edge (1997)

    MATH  Google Scholar 

  15. Schrijvers, T., Jones, S.P., Chakravarty, M., Sulzmann, M.: Type checking with open type functions. In: Proceedings of the 13th ACM SIGPLAN International Conference on Functional Programming, ICFP 2008, pp. 51–62. ACM, New York (2008)

    Google Scholar 

  16. Taentzer, G.: AGG: a tool environment for algebraic graph transformation. In: Nagl, M., Schürr, A., Münch, M. (eds.) AGTIVE 1999. LNCS, vol. 1779, pp. 481–488. Springer, Heidelberg (2000). doi:10.1007/3-540-45104-8_41

    Chapter  Google Scholar 

  17. Varro, G., Schurr, A., Varro, D.: Benchmarking for graph transformation. In: 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’05), pp. 79–88. IEEE (2005)

    Google Scholar 

Download references

Acknowledgements

The authors would like to acknowledge the brazilian agencies CNPq, CAPES and FAPERGS for their support in the form of financial aid (VeriTes project/CNPq) and scholarships (CAPES, CNPq and FAPERGS).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrei Costa .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Costa, A. et al. (2016). Verigraph: A System for Specification and Analysis of Graph Grammars. In: Ribeiro, L., Lecomte, T. (eds) Formal Methods: Foundations and Applications. SBMF 2016. Lecture Notes in Computer Science(), vol 10090. Springer, Cham. https://doi.org/10.1007/978-3-319-49815-7_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-49815-7_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-49814-0

  • Online ISBN: 978-3-319-49815-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics