Skip to main content

Source-to-Source Transformation in the Large

  • Conference paper
Modular Programming Languages (JMLC 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2789))

Included in the following conference series:

Abstract

In this paper we present Inject/J, both a language and a tool for specifying complex source-to-source transformations of Java programs. The focus of Inject/J is on ”transformation in the large” that is, modification of large object-oriented software on the design level. We first introduce the meta-model of our transformation language. This meta-model provides a conceptual view on object-oriented software by capturing relevant design entities. It also defines a number of conceptual analysis and transformation operations together with their code-level semantics. The entities of the meta-model, together with the respective operations, constitute the primitives of our transformation language. We discuss the main features of this transformation language and illustrate how it can be used to perform complex transformation tasks.

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. The RECODER/Java Homepage (2002), http://recoder.sf.net

  2. ASF+SDF MetaEnvironment (2003), http://www.cwi.nl/projects/MetaEnv

  3. AspectJ WWW Page (2003), http://www.eclipse.org/aspectj/

  4. Beck, K.: Extreme Programming Explained. Addison-Wesley, Reading (1999)

    Google Scholar 

  5. Bieman, J.M., Kang, B.K.: Cohesion and Reuse in an Object-Oriented System. In: Proceedings of the ACM Symposium on Software Reusability (1995)

    Google Scholar 

  6. Castor, F., Borba, P.: A Language for Specifying Java Transformations. In: Proceedings of the V Brazilian Symposium on Programming Languages (2001)

    Google Scholar 

  7. Chidamber, S.R., Kemerer, C.F.: A Metric Suite for Object-Oriented Design. IEEE Transactions on Software Engineering (1994)

    Google Scholar 

  8. Cinnéide, M.Ó.: Automated Application of Design Patterns: A Refactoring Approach. PhD thesis, University of Dublin,Trinity College (2000)

    Google Scholar 

  9. Semantic Designs. DMS Software Reengineering Toolkit (2003), http://www.semdesigns.com/products/DMS/DMSToolkit.html

  10. Fowler, M.: Refactoring – Improving The Design Of Existing Code. Addison-Wesley, Reading (1999)

    Google Scholar 

  11. Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and AspectJ. In: OOPSLA (2002)

    Google Scholar 

  12. Inject/J WWW Page (2003), http://injectj.sf.net/

  13. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  14. Lieberherr, K.J.: Adaptive Object-Oriented Software – The Demeter Method. PWS Publishing Company (1995)

    Google Scholar 

  15. Ludwig, A., Heuzeroth, D.: Meta-Programming in the Large. In: Proceedings of Conference on Generative Component-based Software Engineering, GCSE (2002)

    Google Scholar 

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

    Google Scholar 

  17. Riel, A.J.: Object-Oriented Design Heuristics. Addison-Wesley, Reading (1996)

    Google Scholar 

  18. Roberts, D.B.: Practical Analysis for Refactoring. PhD thesis, University of Illinois at Urbana-Champaign (1999)

    Google Scholar 

  19. Schulz, B., Genssler, T., Mohr, B., Zimmer, W.: On the Computer Aided Introduction of Design Patterns into Object-Oriented Systems. In: Proceedings of the 27th TOOLS conference (1998)

    Google Scholar 

  20. Seng, O., Genssler, T., Schulz, B.: Adaptive Extensions of Object-Oriented Systems. In: Proceedings of the IFIP TC2 Working Conference on Generic Programming. Kluwer, Dordrecht (2002)

    Google Scholar 

  21. Tichelaar, S.: Modeling Object-Oriented Software for Reverse Engineering and Refactoring. PhD thesis, University of Berne, Switzerland (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Genssler, T., Kuttruff, V. (2003). Source-to-Source Transformation in the Large. In: Böszörményi, L., Schojer, P. (eds) Modular Programming Languages. JMLC 2003. Lecture Notes in Computer Science, vol 2789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45213-3_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45213-3_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40796-6

  • Online ISBN: 978-3-540-45213-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics