Skip to main content

Model Refactorings for and with Graph Transformation Rules

  • Conference paper
  • First Online:

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 555))

Abstract

Refactoring denotes the activity of improving the structure of software by applying a series of transformations without affecting its externally observable behavior. Refactoring has been applied extensively at the source code level. In the context of model-driven software engineering, refactoring has to be applied consistently to both structural and behavioral models. In this paper, we present tool support for model refactoring in ModGraph, a tool which employs Ecore class diagrams for structural modeling and graph transformation rules for declarative behavioral modeling. A refactoring transformation restructures the structural model — an Ecore class diagram — and propagates the changes consistently to the behavioral model — a set of graph transformation rules. Since the refactoring transformations are implemented with graph transformation rules, ModGraph supports model refactoring both for and with graph transformation rules.

This paper is an extended and revised version of [27].

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.

    http://btn1x4.inf.uni-bayreuth.de/modgraph/homepage.

  2. 2.

    https://wiki.eclipse.org/Xcore.

References

  1. Agrawal, A., Karsai, G., Neema, S., Shi, F., Vizhanyo, A.: The design of a language for model transformations. Softw. Syst. Model. 5(3), 261–288 (2006)

    Article  Google Scholar 

  2. Banerjee, J., Kim, W., Kim, H.J., Korth, H.F.: Semantics and implementation of schema evolution in object-oriented databases. In: Proceedings of the 1987 ACM SIGMOD International Conference on Management of Data (SIGMOD 1987), pp. 311–322. ACM Press, San Franciso (1987)

    Google Scholar 

  3. Biermann, E., Ehrig, K., Köhler, C., Kuhns, G., Taentzer, G., Weiss, E.: EMF model refactoring based on graph transformation concepts. In: Favre, J.M., Heckel, R., Mens, T. (eds.) Proceedings of the Third Workshop on Software Evolution Through Transformations: Embracing the Change. Electronic Communications of the EASST, vol. 3. Natal, Rio Grande del Norte, Brazil, 16 p., September 2006

    Google Scholar 

  4. Bottoni, P., Parisi-Presicce, F., Taentzer, G.: Specifying integrated refactoring with distributed graph transformations. In: Pfaltz et al. [19], pp. 220–235

    Google Scholar 

  5. Buchmann, T., Dotor, A., Westfechtel, B.: MOD2-SCM: a model-driven product line for software configuration management systems. Inf. Softw. Technol. 55(3), 630–650 (2013)

    Article  Google Scholar 

  6. Buchmann, T., Westfechtel, B., Winetzhammer, S.: The added value of programmed graph transformations – a case study from software configuration management. In: Schürr, A., Varró, D., Varró, G. (eds.) AGTIVE 2011. LNCS, vol. 7233, pp. 198–209. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  7. Dotor, A.: Entwurf und Modellierung einer Produktlinie von Software-Konfigurations-Management-Systemen. Ph.D. thesis, University of Bayreuth, Germany (2011)

    Google Scholar 

  8. Efftinge, S., Eysholdt, M., Köhnlein, J., Zarnekow, S., Hasselbring, W., von Massow, R., Hanus, M.: Xbase: Implementing domain-specific languages for Java. In: Proceedings of the 11th International Conference on Generative Programming and Component Engineering (GPCE 2012), pp. 112–121. ACM Press, Dresden (2012)

    Google Scholar 

  9. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)

    Google Scholar 

  10. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)

    Google Scholar 

  11. Geiger, L.: Graph transformation-based refactorings using Fujaba. In: Rensink, A., van Gorp, P. (eds.) 4th International Workshop on Graph-Based Tools: The Contest, Leicester, UK (2008)

    Google Scholar 

  12. Levendovszky, T., Balasubramanian, D., Narayanan, A., Karsai, G.: A novel approach to semi-automated evolution of DSML model transformation. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 23–41. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  13. Mens, T.: On the use of graph transformations for model refactoring. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 219–257. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  14. Mens, T., Demeyer, S. (eds.): Software Evolution. Springer, Heidelberg (2009)

    Google Scholar 

  15. Mens, T., Eetvelde, N.V., Demeyer, S., Janssens, D.: Formalizing refactorings with graph transformations. J. Softw. Maint. Evol. Res. Pract. 17(4), 247–276 (2005)

    Article  Google Scholar 

  16. Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Softw. Syst. Model. 6(3), 269–285 (2007)

    Article  Google Scholar 

  17. Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)

    Article  Google Scholar 

  18. OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Object Management Group, Needham, MA, formal/2011-01-01 edn., January 2011

    Google Scholar 

  19. Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.): AGTIVE 2003. LNCS, vol. 3062. Springer, Heidelberg (2004)

    Google Scholar 

  20. Rose, L.M., Herrmannsdoerfer, M., Williams, J.R., Kolovos, D.S., Garcés, K., Paige, R.F., Polack, F.A.C.: A comparison of model migration tools. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 61–75. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  21. Roser, S., Bauer, B.: Automatic generation and evolution of model transformations using ontology engineering space. In: Spaccapietra, S., Pan, J.Z., Thiran, P., Halpin, T., Staab, S., Svatek, V., Shvaiko, P., Roddick, J. (eds.) Journal on Data Semantics XI. LNCS, vol. 5383, pp. 32–64. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  22. Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation: Foundations, vol. 1. World Scientific Publishing, Singapore (1997)

    MATH  Google Scholar 

  23. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2009)

    Google Scholar 

  24. Taentzer, G.: AGG: A graph transformation environment for modeling and validation of software. In: Pfaltz et al. [19], pp. 446–453

    Google Scholar 

  25. Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 18–33. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  26. Winetzhammer, S.: ModGraph – generating executable EMF models. In: Krause, C., Westfechtel, B. (eds.) Proceedings of the 7th International Workshop on Graph Based Tools. Electronic Communications of the EASST, vol. 54, pp. 32–44. EASST, Bremen (2012)

    Google Scholar 

  27. Winetzhammer, S., Westfechtel, B.: Propagating model refactorings to graph transformation rules. In: ICSOFT-PT 2014 - Proceedings of the 9th International Conference on Software Paradigm Trends, Vienna, Austria, pp. 17–28, Aug 2014

    Google Scholar 

  28. Zündorf, A.: Rigorous object oriented software development. Technical report, University of Paderborn, Germany (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sabine Winetzhammer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Winetzhammer, S., Westfechtel, B. (2015). Model Refactorings for and with Graph Transformation Rules. In: Holzinger, A., Cardoso, J., Cordeiro, J., Libourel, T., Maciaszek, L., van Sinderen, M. (eds) Software Technologies. ICSOFT 2014. Communications in Computer and Information Science, vol 555. Springer, Cham. https://doi.org/10.1007/978-3-319-25579-8_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-25579-8_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-25578-1

  • Online ISBN: 978-3-319-25579-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics