Abstract
With refactoring, the internal structure of a software system changes to support subsequent reuse and maintenance, while preserving the system behavior. To maintain consistency between the code (represented as a flow graph) and the model (given by several UML diagrams of different kinds), we propose a framework based on distributed graphs. Each refactoring is specified as a set of distributed graph transformations, structured and organized into transformation units. This formalism could be used as the basis for important extensions to current refactoring tools.
Partially supported by the EC under Research and Training Network SeGraVis.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Appel, A.W.: Modern Compiler Implementation in Java. Cambridge University Press, Cambridge (1998)
Beck, K., Fowler, M.: Planning Extreme Programming. Addison-Wesley, Reading (2001)
Fanta, R., Rajlich, V.: Reengineering object-oriented code. In: Proceedings of ICSM 1998, pp. 238–246. IEEE Computer Society Press, Los Alamitos (1998)
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
Goedicke, M., Enders, B., Meyer, T., Taentzer, G.: Towards integration of multiple perspectives by distributed graph transformation. In: Münch, M., Nagl, M. (eds.) AGTIVE 1999. LNCS, vol. 1779, pp. 369–377. Springer, Heidelberg (2000)
Goedicke, M., Meyer, T., Taentzer, G.: Viewpoint-oriented software development by distributed graph transformation: Towards a basis for living with inconsistencies. In: Proc. 4th IEEE Int. Symp. on Requirements Engineering, pp. 92–99 (1999)
Koch, M., Parisi Presicce, F.: Describing policies with graph constraints and rules. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 223–238. Springer, Heidelberg (2002)
Kreowski, H.-J., Kuske, S., Schürr, A.: Nested graph transformation units. Int. J. on SEKE 7(4), 479–502 (1997)
Mens, T.: Conditional graph rewriting as a domain-independent formalism for software evolution. In: Münch, M., Nagl, M. (eds.) AGTIVE 1999. LNCS, vol. 1779, pp. 127–143. Springer, Heidelberg (2000)
Mens, T., Demeyer, S., Janssens, D.: Formalising behaviour preserving program transformations. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 286–301. Springer, Heidelberg (2002)
Niere, J., Wadsack, J.P., Zündorf, A.: Recovering UML Diagrams from Java Code using Patterns. In: Jahnke, J.H., Ryan, C. (eds.) Proc. of the 2nd Workshop on Soft Computing Applied to Software Engineering. Centre for Telematics and Information Technology, University of Twende, The Netherlands (February 2001)
OMG. UML specification version 1.4 (2001), http://www.omg.org/technology/documents/formal/uml.htm
Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)
Roberts, D.B.: Practical Analysis for Refactoring. PhD thesis, University of Illinois (1999)
Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.-M.: Refactoring UML models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)
Taentzer, G., Fischer, I., Koch, M., Volle, V.: Visual Design of Distributed Systems by Graph Transformation. In: Ehrig, H., Kreowski, H.-J., Montanari, U., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation. Concurrency, Parallelism, and Distribution, vol. 3, pp. 269–340. World Scientific, Singapore (1999)
Tokuda, L., Batory, D.: Evolving object-oriented designs with refactorings. Automated Software Engineering 8, 89–120 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bottoni, P., Presicce, F.P., Taentzer, G. (2004). Specifying Integrated Refactoring with Distributed Graph Transformations. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 2003. Lecture Notes in Computer Science, vol 3062. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25959-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-540-25959-6_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22120-3
Online ISBN: 978-3-540-25959-6
eBook Packages: Springer Book Archive