Abstract
There is an increasing need for graph transformations ensuring valid result graphs wrt. a given set of constraints. In a model refactoring process, for example, each performed refactoring should yield a valid model graph. At least, it has to remain an element of the underlying modeling language. If a graph transformation rule always produces valid output, it is called validity-guaranteeing; if only when applied to an already valid graph, it is called validity-preserving. There is a formal construction for graph transformation systems making them validity-guaranteeing. This is ensured by adding a validity-guaranteeing application condition to each of its transformation rules. This theory has been implemented recently as an Eclipse plug-in called OCL2AC. Initial tests have shown that resulting application conditions can become pretty large. As there are interesting application cases where transformations just need to be validity-preserving (such as model refactoring), we started to investigate this case further. The results are optimizing-by-construction techniques for application conditions for transformations that just need to be validity-preserving. All presented optimizations are proven to be correct. Implementing and evaluating them, we found that the complexity of the resulting application conditions is considerably reduced (by factor 7 on average). Moreover, our optimization yields a speedup of rule application by approximately 2.5 times.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
References
Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16145-2_9
Azab, K., Habel, A., Pennemann, K.H., Zuckschwerdt, C.: ENFORCe: a system for ensuring formal correctness of high-level programs. In: Proceedings of 3rd International Workshop on Graph Based Tools (GraBaTs 2006), vol. 1, pp. 82–93 (2006)
Becker, B., Lambers, L., Dyck, J., Birth, S., Giese, H.: Iterative development of consistency-preserving rule-based refactorings. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 123–137. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21732-6_9
Biermann, E., Ermel, C., Taentzer, G.: Formal foundation of consistent EMF model transformations by algebraic graph transformation. Softw. Syst. Model. 11(2), 227–250 (2012)
Clarisó, R., Cabot, J., Guerra, E., de Lara, J.: Backwards reasoning for model transformations: method and applications. J. Syst. Softw. 116(Suppl. C), 113–132 (2016)
Cuadrado, J.S.: Optimising OCL synthesized code. In: Pierantonio, A., Trujillo, S. (eds.) ECMFA 2018. LNCS, vol. 10890, pp. 28–45. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92997-2_3
Eclipse Foundation: Eclipse Modeling Framework (EMF) (2019). http://www.eclipse.org/emf/
Egyed, A.: Instant consistency checking for the UML. In: Proceedings of the 28th International Conference on Software Engineering, New York, pp. 381–390 (2006)
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., Ermel, C., Golas, U., Hermann, F.: Graph and Model Transformation - General Framework and Applications. EATCS. Springer, Berlin (2015). https://doi.org/10.1007/978-3-662-47980-3
Giese, H., Glesner, S., Leitner, J., Schäfer, W., Wagner, R.: Towards verified model transformations. In: Proceedings of the 3rd International Workshop on Model Development, Validation and Verification (MoDeV2a), Genova, pp. 78–93 (2006)
Giese, M., Larsson, D.: Simplifying transformations of OCL constraints. In: Briand, L., Williams, C. (eds.) MODELS 2005. LNCS, vol. 3713, pp. 309–323. Springer, Heidelberg (2005). https://doi.org/10.1007/11557432_23
Habel, A., Pennemann, K.H.: Correctness of high-level transformation systems relative to nested conditions. Math. Struct. Comput. Sci. 19, 245–296 (2009)
Heckel, R., Wagner, A.: Ensuring consistency of conditional graph grammars. Electron. Notes Theor. Comput. Sci. 2(Suppl. C), 118–126 (1995)
Kehrer, T., Kelter, U., Taentzer, G.: Consistency-preserving edit scripts in model versioning. In: 2013 28th IEEE/ACM International Conference on Automated Software Engineering, ASE 2013, pp. 191–201. IEEE, Piscataway (2013)
Kehrer, T., Taentzer, G., Rindt, M., Kelter, U.: Automatically deriving the specification of model editing operations from meta-models. In: Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 173–188. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42064-6_12
Krause, C., Giese, H.: Probabilistic graph transformation systems. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2012. LNCS, vol. 7562, pp. 311–325. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33654-6_21
Lack, S., Sobociński, P.: Adhesive and quasiadhesive categories. Theor. Inform. Appl. 39(3), 511–545 (2005)
Nassar, N., Kosiol, J., Arendt, T., Taentzer, G.: OCL2AC: automatic translation of OCL constraints to graph constraints and application conditions for transformation rules. In: Lambers, L., Weber, J. (eds.) ICGT 2018. LNCS, vol. 10887, pp. 171–177. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92991-0_11
Nassar, N., Kosiol, J., Arendt, T., Taentzer, G.: Constructing optimized validity-preserving application conditions for graph transformation rules: extended version. Technical report, Philipps-Universität Marburg (2019). https://uni-marburg.de/fb12/arbeitsgruppen/swt/forschung/publikationen/2019/NKAT19-TR.pdf/
No Magic: Magic draw. https://www.nomagic.com/products/magicdraw
OCL: Eclipse OCL (2019). https://projects.eclipse.org/projects/modeling.mdt.ocl
OCLinEcore: Eclipse OCL (2019). https://wiki.eclipse.org/OCL/OCLinEcore
OMG: Object Constraint Language (2014). http://www.omg.org/spec/OCL/
OMG: OMG Unified Modeling Language. Version 2.5 (2015). http://www.omg.org/spec/UML/2.5/
Pennemann, K.H.: Generalized constraints and application conditions for graph transformation systems. Diplomarbeit, Department für Informatik, Universität Oldenburg (2004). https://bit.ly/2T4RV0A
Pennemann, K.H.: Development of correct graph transformation systems. Ph.D. thesis, Carl von Ossietzky-Universität Oldenburg (2009)
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)
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
Schneider, S., Lambers, L., Orejas, F.: Automated reasoning for attributed graph properties. Int. J. Softw. Tools Technol. Transf. 20(6), 705–737 (2018)
Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)
Steimann, F., Frenkel, M., Voelter, M.: Robust projectional editing. In: Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering. SLE 2017, pp. 79–90. ACM, New York (2017)
Acknowledgement
We are grateful to Annegret Habel, Christian Sandmann, and Steffen Vaupel for their helpful comments on a draft version of this paper. This work was partially funded by the German Research Foundation (DFG), projects “Generating Development Environments for Modeling Languages” and “Triple Graph Grammars (TGG) 2.0”.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Nassar, N., Kosiol, J., Arendt, T., Taentzer, G. (2019). Constructing Optimized Validity-Preserving Application Conditions for Graph Transformation Rules. In: Guerra, E., Orejas, F. (eds) Graph Transformation. ICGT 2019. Lecture Notes in Computer Science(), vol 11629. Springer, Cham. https://doi.org/10.1007/978-3-030-23611-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-23611-3_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-23610-6
Online ISBN: 978-3-030-23611-3
eBook Packages: Computer ScienceComputer Science (R0)