Skip to main content

Metaprogramming in the Large

  • Conference paper
  • First Online:

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

Abstract

Software evolution demands continuous adaptation of software systems to continuously changing requirements. Our goal is to cope with software evolution by automating program transformation and system reconfiguration. We show that this can be achieved with a static metaprogramming facility and a library of suitable metaprograms. We show that former approaches of program transformations are not sufficient for large object oriented systems and outline two base transformations that fill the gap.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Kent Beck. extreme Programming explained. Addison Wesley, Reading, MA, 1999.

    Google Scholar 

  2. Rolf Bahlke and Gregor Snelting. The PSG System: From Formal Language Definitions to Interactive Programming Environments. ACM Transactions on Programming Languages and Systems, 8(4):547–576, October 1986.

    Article  Google Scholar 

  3. Krzysztof Czarnecki and Ulrich W. Eisenecker. Generative Programming. Addison Wesley, 2000.

    Google Scholar 

  4. M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Object Technology Series. Addison-Wesley, 1999.

    Google Scholar 

  5. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, MA, 1995.

    Google Scholar 

  6. Gregor Kiczales, John Irwin, John Lamping, Jean-Marc Loingtier, Cristina Videira Lopes, Chris Maeda, and Anurag Mendhekar. Aspectoriented Programming. In ECOOP’97, pages 220–242. Springer-Verlag, 1997.

    Google Scholar 

  7. Oscar Nierstrasz and Theo Dirk Meijler. Requirements for a composition language. In O. Nierstrasz P. Ciancarini and A. Yonezawa, editors, Object-Based Models and Languages for Concurrent Systems, LNCS924, pages 147–161. Springer-Verlag, 1995.

    Google Scholar 

  8. Harold Ossher and Peri Tarr. Multi-dimensional separation of concerns in hyperspace. Technical report, IBM T. J. Watson Research Center, 1999.

    Google Scholar 

  9. Mary Shaw, Robert DeLine, and Gregory Zelinski. Abstraction and Implementation for Architectural Connections. Technical report, CMU, November 1995.

    Google Scholar 

  10. Tim A. Wagner. Practical Algorithms for Incremental Software Development Environments. Ph. D. thesis, Computer Science Division, EECS Department, University of California, March 1998.

    Google Scholar 

  11. Walter Zimmer. Frameworks und Entwurfsmuster. PhD thesis, Universität Karlsruhe, February 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ludwig, A., Heuzeroth, D. (2001). Metaprogramming in the Large. In: Butler, G., Jarzabek, S. (eds) Generative and Component-Based Software Engineering. GCSE 2000. Lecture Notes in Computer Science, vol 2177. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44815-2_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-44815-2_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-44815-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics