Abstract
When using graphs and graph transformations to model systems, consistency is an important concern. While consistency has primarily been viewed as a binary property, i.e., a graph is consistent or inconsistent with respect to a set of constraints, recent work has presented an approach to consistency as a graduated property. This allows living with inconsistencies for a while and repairing them when necessary. When repairing inconsistencies in a graph, we use graph transformation rules with so-called impairment- and repair-indicating application conditions to understand how much repair gain certain rule applications would bring. Both types of conditions can be derived from given graph constraints. Our main theorem shows that the difference between the number of actual constraint violations before and after a graph transformation step can be characterized by the difference between the numbers of violated impairment-indicating and repair-indicating application conditions. This theory forms the basis for algorithms with look-ahead that rank graph transformations according to their potential for graph repair. An initial evaluation shows that graph repair can be well supported by rules with these new types of application conditions.
This work was partially funded by the German Research Foundation (DFG), project “Triple Graph Grammars (TGG) 3.0”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The original CRA problem also considers call dependencies between methods, which are ignored in this paper to keep the running example as small as possible.
- 2.
Two morphisms \(p :P \hookrightarrow G\) and \(q :Q \hookrightarrow G\) into the same graph G are called jointly surjective if for each element \(e \hookrightarrow G\) either there is an element \(e' \in P\) with \(p(e')=e\) or there is an element \(e' \in Q\) with \(q(e') = e.\).
- 3.
- 4.
References
Abdeen, H., et al.: Multi-objective optimization in rule-based design space exploration. In: Crnkovic, I., Chechik, M., Grünbacher, P. (eds.) ACM/IEEE International Conference on Automated Software Engineering, ASE 2014, Vasteras, Sweden - 15–19 September 2014, pp. 289–300. ACM (2014). https://doi.org/10.1145/2642937.2643005
Bowman, M., Briand, L.C., Labiche, Y.: Solving the class responsibility assignment problem in object-oriented analysis with multi-objective genetic algorithms. IEEE Trans. Software Eng. 36(6), 817–837 (2010). https://doi.org/10.1109/TSE.2010.70
Ehrig, H.: Introduction to the algebraic theory of graph grammars (a survey). In: Claus, V., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1978. LNCS, vol. 73, pp. 1–69. Springer, Heidelberg (1979). https://doi.org/10.1007/BFb0025714
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. MTCSAES, Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-31188-2
Ehrig, H., Habel, A.: Concurrent transformations of graphs and relational structures. In: Nagl, M., Perl, J. (eds.) Proceedings of the WG 1983, International Workshop on Graphtheoretic Concepts in Computer Science, pp. 76–88. Universitätsverlag Rudolf Trauner, Linz (1983)
Fleck, M., Troya Castilla, J., Wimmer, M.: The class responsibility assignment case. In: TTC 2016: 9th Transformation Tool Contest, co-located with the 2016 Software Technologies: Applications and Foundations (STAF 2016), vol. 1758, pp. 1–8 (2016). https://ceur-ws.org/Vol-1758/paper1.pdf
Fritsche, L., Lauer, A., Schürr, A., Taentzer, G.: Using application conditions to rank graph transformations for graph repair (2024). https://arxiv.org/abs/2405.08788
Habel, A., Pennemann, K.: Correctness of high-level transformation systems relative to nested conditions. Math. Struct. Comput. Sci. 19(2), 245–296 (2009). https://doi.org/10.1017/S0960129508007202
Heckel, R., Taentzer, G.: Graph Transformation for Software Engineers - With Applications to Model-Based Development and Domain-Specific Language Engineering. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-43916-3
Hinkel, G.: An NMF solution to the class responsibility assignment case. In: García-Domínguez, A., Krikava, F., Rose, L.M. (eds.) Proceedings of the 9th Transformation Tool Contest, co-located with the 2016 Software Technologies: Applications and Foundations (STAF 2016), Vienna, Austria, 8 July 2016. CEUR Workshop Proceedings, vol. 1758, pp. 15–20. CEUR-WS.org (2016). https://ceur-ws.org/Vol-1758/paper3.pdf
Khelladi, D.E., Kretschmer, R., Egyed, A.: Detecting and exploring side effects when repairing model inconsistencies. In: Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, pp. 113–126. ACM (2019). https://doi.org/10.1145/3357766.3359546
Kosiol, J., Strüber, D., Taentzer, G., Zschaler, S.: Sustaining and improving graduated graph consistency: a static analysis of graph transformations. Sci. Comput. Program. 214, 102729 (2022). https://doi.org/10.1016/J.SCICO.2021.102729
Nassar, N., Kosiol, J., Arendt, T., Taentzer, G.: Constructing optimized constraint-preserving application conditions for model transformation rules. J. Log. Algebr. Methods Program. 114, 100564 (2020). https://doi.org/10.1016/J.JLAMP.2020.100564
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. LNCS, vol. 3838, pp. 280–308. Springer, Heidelberg (2005). https://doi.org/10.1007/11601548_16
Radke, H., Arendt, T., Becker, J.S., Habel, A., Taentzer, G.: Translating essential OCL invariants to nested graph constraints for generating instances of meta-models. Sci. Comput. Program. 152, 38–62 (2018). https://doi.org/10.1016/J.SCICO.2017.08.006
Rensink, A.: Representing first-order logic using graphs. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 319–335. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30203-2_23
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Fritsche, L., Lauer, A., Schürr, A., Taentzer, G. (2024). Using Application Conditions to Rank Graph Transformations for Graph Repair. In: Harmer, R., Kosiol, J. (eds) Graph Transformation. ICGT 2024. Lecture Notes in Computer Science, vol 14774 . Springer, Cham. https://doi.org/10.1007/978-3-031-64285-2_8
Download citation
DOI: https://doi.org/10.1007/978-3-031-64285-2_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-64284-5
Online ISBN: 978-3-031-64285-2
eBook Packages: Computer ScienceComputer Science (R0)