Abstract
We present a method for statically verifying confluence (functional behaviour) of terminating sets of rules in the graph programming language GP 2, which is undecidable in general. In contrast to other work about attributed graph transformation, we do not impose syntactic restrictions on the rules except for left-linearity. Our checking method relies on constructing the symbolic critical pairs of a rule set using an E-unification algorithm and subsequently checking whether all pairs are strongly joinable with symbolic derivations. The correctness of this method is a consequence of the main technical result of this paper, viz. that a set of left-linear attributed rules is locally confluent if all symbolic critical pairs are strongly joinable, and our previous results on the completeness and finiteness of the set of symbolic critical pairs. We also show that for checking strong joinability, it is not necessary to compute all graphs derivable from a critical pair. Instead, it suffices to focus on the pair’s persistent reducts. In a case study, we use our method to verify the confluence of a graph program that calculates shortest distances.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bak, C.: GP 2: efficient implementation of a graph programming language. Ph.D. thesis, University of York (2015). http://etheses.whiterose.ac.uk/id/eprint/12586
Bang-Jensen, J., Gutin, G.: Digraphs: Theory, Algorithms and Applications, Second edn. Springer, Heidelberg (2009). https://doi.org/10.1007/978-1-84800-998-1
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science, Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-31188-2
Ehrig, H., Golas, U., Habel, A., Lambers, L., Orejas, F.: \(\cal{M}\)-adhesive transformation systems with nested application conditions: part 2: embedding, critical pairs and local confluence. Fundamenta Informaticae 118(1–2), 35–63 (2012). https://doi.org/10.3233/FI-2012-705
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). https://doi.org/10.1007/978-3-540-30203-2_12
Habel, A., Plump, D.: Relabelling in graph transformation. In: Corradini, A., Ehrig, H., Kreowski, H.J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 135–147. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45832-8_12
Habel, A., Plump, D.: \(\cal{M}, \cal{N}\)-adhesive transformation systems. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2012. LNCS, vol. 7562, pp. 218–233. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33654-6_15
Hristakiev, I.: Confluence analysis for a graph programming language. Ph.D. thesis, University of York (2017, to appear)
Hristakiev, I., Plump, D.: A unification algorithm for GP 2. In: Graph Computation Models (GCM 2014), Revised Selected Papers. Electronic Communications of the EASST, vol. 71 (2015). https://doi.org/10.14279/tuj.eceasst.71.1002
Hristakiev, I., Plump, D.: Attributed graph transformation via rule schemata: Church-Rosser theorem. In: Milazzo, P., Varró, D., Wimmer, M. (eds.) STAF 2016. LNCS, vol. 9946, pp. 145–160. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-319-50230-4_11
Hristakiev, I., Plump, D.: Checking graph programs for confluence (long version) (2017). https://www.cs.york.ac.uk/plasma/publications/pdf/HristakievPlump.GCM17.Long.pdf
Hristakiev, I., Plump, D.: Towards critical pair analysis for the graph programming language GP 2. In: James, P., Roggenbach, M. (eds.) WADT 2016. LNCS, vol. 10644, pp. 153–169. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-72044-9_11. Long version available at: https://www.cs.york.ac.uk/plasma/publications/pdf/HristakievPlump.WADT16.Long.pdf
Kroening, D., Strichman, O.: Decision Procedures - An Algorithmic Point of View. Texts in Theoretical Computer Science, Springer, Second edn. (2016). https://doi.org/10.1007/978-3-662-50497-0
Kulcsár, G., Deckwerth, F., Lochau, M., Varró, G., Schürr, A.: Improved conflict detection for graph transformation with attributes. In: Rensink, A., Zambon, E. (eds.) Proceedings of Graphs as Models (GaM 2015). Electronic Proceedings in Theoretical Computer Science, vol. 181, pp. 97–112 (2015). https://doi.org/10.4204/EPTCS.181.7
de Moura, L.M., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24, https://github.com/Z3Prover/z3
Orejas, F., Lambers, L.: Lazy graph transformation. Fundamenta Informaticae 118(1–2), 65–96 (2012). https://doi.org/10.3233/FI-2012-706
Plump, D.: Confluence of graph transformation revisited. In: Middeldorp, A., van Oostrom, V., van Raamsdonk, F., de Vrijer, R. (eds.) Processes, Terms and Cycles: Steps on the Road to Infinity: Essays Dedicated to Jan Willem Klop on the Occasion of His 60th Birthday. LNCS, vol. 3838, pp. 280–308. Springer, Heidelberg (2005). https://doi.org/10.1007/11601548_16
Plump, D.: The design of GP 2. In: Escobar, S. (ed.) Proceedings of International Workshop on Reduction Strategies in Rewriting and Programming (WRS 2011). Electronic Proceedings in Theoretical Computer Science, vol. 82, pp. 1–16 (2012). https://doi.org/10.4204/EPTCS.82.1
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Hristakiev, I., Plump, D. (2018). Checking Graph Programs for Confluence. In: Seidl, M., Zschaler, S. (eds) Software Technologies: Applications and Foundations. STAF 2017. Lecture Notes in Computer Science(), vol 10748. Springer, Cham. https://doi.org/10.1007/978-3-319-74730-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-74730-9_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-74729-3
Online ISBN: 978-3-319-74730-9
eBook Packages: Computer ScienceComputer Science (R0)