Abstract
Applying refactoring in a model-driven software engineering context raises many new challenges that need to be addressed. In this paper, we consider model-driven software development based on the code generation framework AndroMDA. Considering the UML profile for AndroMDA, we come up with a number of domain-specific model refactorings. In its most recent version, the AndroMDA code generation can be based on the Eclipse Modeling Framework (EMF) which has evolved towards the de facto standard technology to specify UML models. We show how domain-specific refactorings can be specified by EMF transformation incorporating graph transformation concepts. This opens up the possibility to reason about domain-specific refactorings in a formal way.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Eclipse model development tools (2007), http://www.eclipse.org/modeling/mdt
AndroMDA (2007), http://www.andromda.org
Astels, D.: Refactoring with UML. In: Proceedings of 3rd International Conference eXtreme Programming and Flexible Processes in Software Engineering, pp. 159–174 (2002)
Biermann, E., Ehrig, K., Köhler, C., Kuhns, G., Taentzer, G., Weiss, E.: Graphical definition of rule-based transformation in the Eclipse Modeling Framework. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 425–439. Springer, Heidelberg (2006)
Bottoni, P., Parisi-Presicce, F., Taentzer, G.: Specifying Coherent Refactoring of Software Artefacts with Distributed Graph Transformations. In: van Bommel, P. (ed.) Handbook on Transformation of Knowledge, Information, and Data: Theory and Applications, pp. 95–125. Idea Group Publishing (2005)
Brooks, F.P.: No silver bullet: Essence and accidents of software engineering. In: The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edn. Addison-Wesley, Reading (1995)
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. In: EATCS Monographs in Theoretical Computer Science. Springer, Heidelberg (2006)
Fujaba (2007), http://www.fujaba.de
Grunske, L., Geiger, L., Zündorf, A., Van Eetvelde, N., Van Gorp, P., Varro, D.: Using graph transformation for practical model driven software engineering. In: Beydeda, S., Book, M., Gruhn, V. (eds.) Model-driven Software Development, pp. 91–118. Springer, Heidelberg (2005)
Köhler, C., Lewin, H., Taentzer, G.: Ensuring containment constraints in graph-based model transformation approaches. In: Ehrig, K., Giese, H. (eds.) 6. Int. Workshop on Graph Transformation and Visual Modeling Techniques. Electronic Communication of the EASST, vol. 6 (2007)
Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. In: MoDELS, pp. 280–294 (2005)
Mens, T., Taentzer, G., Müller, D.: Model-driven software refactoring. In: Rech, J., Bunse, C. (eds.) Model-Driven Software Development: Integrating Quality Assurance. Idea Group Publishing (to appear, 2008)
Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and System Modeling 6(3), 269–285 (2007)
Moflon (2007), http://www.moflon.org
Porres, I.: Model Refactorings as Rule-Based Update Transformations. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 159–174. Springer, Heidelberg (2003)
Pretschner, A., Prenninger, A.: Computing refactorings of state machines. Journal on Software and Systems Modeling (January 2007)
Sunyé, G., Pollet, D., Le Traon, Y., Jezequel, J.M.: Refactoring UML models. In: The Unified Modeling Language, pp. 134–148 (2001)
Van Der Straeten, R., D’Hondt, M.: Model refactorings through rule-based inconsistency resolution. In: Proceedings Symposium on Applied Computing, pp. 1210–1217. ACM Press, New York (2006)
Van Gorp, P., Stenten, H., Mens, T., Demeyer, S.: Towards automating source-consistent UML refactorings. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 144–158. Springer, Heidelberg (2003)
Van Kempen, M., Chaudron, M., Koudrie, D., Boake, A.: Towards proving preservation of behaviour of refactoring of UML models. In: Proceedings SAICSIT 2005, pp. 111–118 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Taentzer, G., Müller, D., Mens, T. (2008). Specifying Domain-Specific Refactorings for AndroMDA Based on Graph Transformation. In: Schürr, A., Nagl, M., Zündorf, A. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 2007. Lecture Notes in Computer Science, vol 5088. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89020-1_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-89020-1_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89019-5
Online ISBN: 978-3-540-89020-1
eBook Packages: Computer ScienceComputer Science (R0)