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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Kent Beck. extreme Programming explained. Addison Wesley, Reading, MA, 1999.
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.
Krzysztof Czarnecki and Ulrich W. Eisenecker. Generative Programming. Addison Wesley, 2000.
M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Object Technology Series. Addison-Wesley, 1999.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, MA, 1995.
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.
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.
Harold Ossher and Peri Tarr. Multi-dimensional separation of concerns in hyperspace. Technical report, IBM T. J. Watson Research Center, 1999.
Mary Shaw, Robert DeLine, and Gregory Zelinski. Abstraction and Implementation for Architectural Connections. Technical report, CMU, November 1995.
Tim A. Wagner. Practical Algorithms for Incremental Software Development Environments. Ph. D. thesis, Computer Science Division, EECS Department, University of California, March 1998.
Walter Zimmer. Frameworks und Entwurfsmuster. PhD thesis, Universität Karlsruhe, February 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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