Skip to main content

Specifying Integrated Refactoring with Distributed Graph Transformations

  • Conference paper
Applications of Graph Transformations with Industrial Relevance (AGTIVE 2003)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Appel, A.W.: Modern Compiler Implementation in Java. Cambridge University Press, Cambridge (1998)

    Google Scholar 

  2. Beck, K., Fowler, M.: Planning Extreme Programming. Addison-Wesley, Reading (2001)

    Google Scholar 

  3. Fanta, R., Rajlich, V.: Reengineering object-oriented code. In: Proceedings of ICSM 1998, pp. 238–246. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  4. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

  8. Kreowski, H.-J., Kuske, S., Schürr, A.: Nested graph transformation units. Int. J. on SEKE 7(4), 479–502 (1997)

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

  12. OMG. UML specification version 1.4 (2001), http://www.omg.org/technology/documents/formal/uml.htm

  13. Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)

    Google Scholar 

  14. Roberts, D.B.: Practical Analysis for Refactoring. PhD thesis, University of Illinois (1999)

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

  17. Tokuda, L., Batory, D.: Evolving object-oriented designs with refactorings. Automated Software Engineering 8, 89–120 (2001)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics