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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
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)
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)
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
Bottoni, P., Parisi-Presicce, F., Taentzer, G.: Specifying integrated refactoring with distributed graph transformations. In: Pfaltz et al. [19], pp. 220–235
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)
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)
Dotor, A.: Entwurf und Modellierung einer Produktlinie von Software-Konfigurations-Management-Systemen. Ph.D. thesis, University of Bayreuth, Germany (2011)
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)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)
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)
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)
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)
Mens, T., Demeyer, S. (eds.): Software Evolution. Springer, Heidelberg (2009)
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)
Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Softw. Syst. Model. 6(3), 269–285 (2007)
Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)
OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Object Management Group, Needham, MA, formal/2011-01-01 edn., January 2011
Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.): AGTIVE 2003. LNCS, vol. 3062. Springer, Heidelberg (2004)
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)
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)
Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation: Foundations, vol. 1. World Scientific Publishing, Singapore (1997)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2009)
Taentzer, G.: AGG: A graph transformation environment for modeling and validation of software. In: Pfaltz et al. [19], pp. 446–453
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)
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)
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
Zündorf, A.: Rigorous object oriented software development. Technical report, University of Paderborn, Germany (2001)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)