Skip to main content

Constructing Optimized Validity-Preserving Application Conditions for Graph Transformation Rules

  • Conference paper
  • First Online:

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

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

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.

    https://ocl2ac.github.io/home/.

References

  1. 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

    Chapter  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. Eclipse Foundation: Eclipse Modeling Framework (EMF) (2019). http://www.eclipse.org/emf/

  8. Egyed, A.: Instant consistency checking for the UML. In: Proceedings of the 28th International Conference on Software Engineering, New York, pp. 381–390 (2006)

    Google Scholar 

  9. 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

    Book  MATH  Google Scholar 

  10. 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

    Book  MATH  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. Habel, A., Pennemann, K.H.: Correctness of high-level transformation systems relative to nested conditions. Math. Struct. Comput. Sci. 19, 245–296 (2009)

    Article  MathSciNet  Google Scholar 

  14. Heckel, R., Wagner, A.: Ensuring consistency of conditional graph grammars. Electron. Notes Theor. Comput. Sci. 2(Suppl. C), 118–126 (1995)

    Article  Google Scholar 

  15. 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)

    Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. 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

    Chapter  MATH  Google Scholar 

  18. Lack, S., Sobociński, P.: Adhesive and quasiadhesive categories. Theor. Inform. Appl. 39(3), 511–545 (2005)

    Article  MathSciNet  Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. 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/

  21. No Magic: Magic draw. https://www.nomagic.com/products/magicdraw

  22. OCL: Eclipse OCL (2019). https://projects.eclipse.org/projects/modeling.mdt.ocl

  23. OCLinEcore: Eclipse OCL (2019). https://wiki.eclipse.org/OCL/OCLinEcore

  24. OMG: Object Constraint Language (2014). http://www.omg.org/spec/OCL/

  25. OMG: OMG Unified Modeling Language. Version 2.5 (2015). http://www.omg.org/spec/UML/2.5/

  26. 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

  27. Pennemann, K.H.: Development of correct graph transformation systems. Ph.D. thesis, Carl von Ossietzky-Universität Oldenburg (2009)

    Google Scholar 

  28. 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)

    Article  Google Scholar 

  29. 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

    Chapter  Google Scholar 

  30. Schneider, S., Lambers, L., Orejas, F.: Automated reasoning for attributed graph properties. Int. J. Softw. Tools Technol. Transf. 20(6), 705–737 (2018)

    Article  Google Scholar 

  31. Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)

    Article  Google Scholar 

  32. 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)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Nebras Nassar .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics