Skip to main content

Part of the book series: Advanced Information and Knowledge Processing ((AI&KP,volume 5))

  • 1132 Accesses

Abstract

At the very beginning, our aim is to describe a scheme for the initial understanding of meta-programming in order to introduce the knowledge required for the thorough studies in the field later. We start from the statement which gives a very general definition and formulates the primary objectives of the field as follows:

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 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

References

  1. Atkinson C, Kuhne T (2002) The role of meta-modeling in MDA. In: Bezivin J, France R (eds) Workshop in software model engineering, University of Nantes, Nantes

    Google Scholar 

  2. Bartlett J (2005) The art of metaprogramming. IBM DeveloperWorks, Oct 2005. http://www-128.ibm.com/developerworks/linux/library/l-metaprog1.html?ca=dgr-lnxw06MetaCoding

  3. Batory J (1998) Product-line architectures. Invited presentation, smalltalk and Java in industry and practical training, Erfurt, Germany, pp 1–12

    Google Scholar 

  4. Batory D, Dasari S, Geraci B, Singhal V, Sirkin M, Thomas J (1995) Achieving reuse with software system generators. IEEE Softw, Sept, 89–94

    Google Scholar 

  5. Beck K (2000) Extreme programming explained. Addison-Wesley, Reading

    Google Scholar 

  6. Biggerstaff TJ (1998) A perspective of generative reuse. Ann Softw Eng 5:169–226

    Article  Google Scholar 

  7. Baily B, Martin G, Piziali A (2007) ESL – a methodology for handling complexity, slides of presentation at DAC’07, San-Diego, June 2007

    Google Scholar 

  8. Bondyopadhyay PK (1998) Moore’s law governs the silicon revolution. Proc IEEE 86(1):78–81

    Article  Google Scholar 

  9. Czarnecki K, Eisenecker UW (2000) Separating the configuration aspect to support architecture evolution. In: Proceedings of 14th European conference on object-oriented programming (ECOOP’2000), international workshop on aspects and dimensions of concerns, Cannes, France, 11–12 June 2000

    Google Scholar 

  10. Czarnecki K, Eisenecker U (2000) Generative programming: methods, tools and applications. Addison-Wesley, Boston

    Google Scholar 

  11. Chiba S (1995) A metaobject protocol for C++. ACM SIGPLAN Notices 30(10):285–299

    Article  Google Scholar 

  12. Cross JK, Schmidt DC (2002) Metaprogramming techniques for distributed real-time and embedded systems. In: Proceedings of 7th IEEE international workshop on object-oriented real-time dependable systems, San Diego, 7–9 Jan 2002, pp 3–10

    Google Scholar 

  13. Cordy JR, Shukla M (1992) Practical metaprogramming. In: Proceedings of the 1992 IBM Centre for Advanced Studies conference, Nov 1992, pp 215–224

    Google Scholar 

  14. Damaševičius R (2005) Transformational design processes based on higher level abstractions in hardware and embedded system design. Doctoral dissertation, Kaunas University of Technology

    Google Scholar 

  15. Damaševičius R (2006) On the application of meta-design techniques in hardware design domain. Int J Comput Sci (IJCS) 1(1):67–77

    Google Scholar 

  16. DeBenedictis EP (2004) Will Moore’s law be sufficient? In: Proceedings of the ACM/IEEE SC2004 conference on high performance networking and computing, 6–12 Nov 2004, Pittsburgh, p 45

    Google Scholar 

  17. Dennet DC (1984) Formulating human purposes: meta-engineering computers for people. In: Mason REA (ed) Information processing 83. Elsevier (North-Holland), Amsterdam, pp 253–258

    Google Scholar 

  18. von Dincklage D (2003) Making patterns explicit with metaprogramming. In: Proceedings of 2nd international conference on generative programming and component engineering, GPCE 2003, Erfurt, Germany. LNCS, vol 2830. Springer, New York, pp 287–306

    Google Scholar 

  19. Dehnert JC, Stepanov AA (1998) Fundamentals of generic programming, report of the Dagstuhl seminar on generic programming, Schloss Dagstuhl, Germany. LNCS, vol 1766, pp 1–11

    Google Scholar 

  20. Fischer G, Giaccardi E, Ye Y, Sutcliffe AG, Mehandjiev N (2004) Meta-design: a manifesto for end-user development. CACM 47(9):33–37

    Google Scholar 

  21. Greenwald ID, Kane M (1959) The share 709 system: programming and modification. J ACM 6(2):128–133

    Article  MATH  Google Scholar 

  22. Goguen JA (1996) Parameterized programming and software architecture. In: Proceedings of 4th international conference on software reuse, ICSR-4, Orlando, 23–26 April 1996, pp 2–11

    Google Scholar 

  23. Hubaux A, Heymans P, Unphon H (2008) Separating variability concerns in a product line re-engineering project. EA-AOSD’08, Brussels, Belgium, 31 March 2008

    Google Scholar 

  24. Hiremane R (2005) From Moore’s law to Intel innovation—prediction to reality. Technology@Intel Magazine, pp 1–9

    Google Scholar 

  25. Jones ND, Gomard CK, Sestoft P (1993) Partial evaluation and automatic program generation. Prentice Hall, New York

    MATH  Google Scholar 

  26. Jones SW (2004) Exponential trends in the integrated circuit Industry. In: IC knowledge. http://paginas.fe.up.pt/~jcf/PCVLSI/2003-04/exponential.pdf

  27. Kiczales G, Lamping J, Mendhekar A, Maeda C, Videira Lopes C, Loingtier J-M, Irwin J (1997) Aspect-oriented programming. In: Proceedings of the European conference on object-oriented programming (ECOOP’1997). LNCS, vol 1241. Springer, New York, pp 220–242

    Google Scholar 

  28. Kiczales G, Rivieres Jdes, Bobrow DG (1991) The art of the metaobject protocol. MIT Press, Cambridge, MA

    Google Scholar 

  29. Levy LS (1986) A metaprogramming method and its economic justification. IEEE Trans Softw Eng 12(2):272–277

    Article  Google Scholar 

  30. Ludwig A, Heuzerouth D (2001) Metaprogramming in the large. In: Butler G, Jarzabek S (eds) Generative and component-based software engineering. LNCS, vol 2177. Springer, Berlin, pp 178–187

    Google Scholar 

  31. Levine JR, Mason T, Brown D (1992) Lex and Yacc. O’Reilly and Associates, Inc, Sebastopol

    Google Scholar 

  32. Löwe W, Noga M (2002) Metaprogramming applied to web component deployment. Electron Notes Theor Comput Sci 65(4):106–116

    Article  Google Scholar 

  33. Minsky M (1975) A framework for representing knowledge. In: Winston PH (ed) The psychology of computer vision. McGraw-Hill, New York

    Google Scholar 

  34. Malenfant J, Jaques M, Demers F-N (1996) A tutorial on behavioral reflection and its implementation. In: Proceedings of the reflection 96 conference, April 1996, San Francisco, pp 1–20

    Google Scholar 

  35. Martin G, Müller W (eds) (2005) UML for SOC design. Springer, Dordrecht

    Google Scholar 

  36. Musser DR, Stepanov AA (1989) Generic programming. In: Proceedings of symbolic and algebraic computation, international symposium ISSAC’88, Rome, Italy, 4–8 July 1988. LNCS, vol 358. Springer, Berlin, pp 13–25

    Google Scholar 

  37. Multicellular Computing (2006) Online: http://www.runningempty.org/Steve/Multicellular/CharacterizingComplexity.html

  38. Ousterhout JK (1998) Scripting: higher level programming for the 21st century. IEEE Comput 31(3):23–30

    Article  Google Scholar 

  39. Palmer KD (2002) Vajra logic and mathematical metamodels for meta-systems engineering: notes on the foundations of emergent meta-systems theory and practice. In: Twelfth annual international symposium of the international council on systems engineering (INCOSE), Las Vegas, 28 July–1 Aug 2002

    Google Scholar 

  40. Pasalic E (2004) The role of type equality in meta-programming. Ph.D. thesis, Oregon Health and Sciences University, OGI School of Science and Engineering

    Google Scholar 

  41. Pettorosi A (1996) Future directions in program transformation. ACM Comput Surv 28(4):171–174

    Article  Google Scholar 

  42. Rideau F (1999) Metaprogramming and free availability of sources. In: Proceedings of Autour du Libre Conference, Bretagne

    Google Scholar 

  43. Schmidt DC (2006) Model-driven engineering. IEEE Comput 39(2):25–31

    Article  Google Scholar 

  44. Štuikys V, Damaševičius R (2002) Taxonomy of the program transformation processes. Inf Technol Control 1(22):39–52

    Google Scholar 

  45. Štuikys V, Damaševičius R (2008) Development of generative learning objects using feature diagrams and generative techniques. Inform Educ 7(2):277–288

    Google Scholar 

  46. Sheard T (2001) Accomplishments and research challenges in meta-programming. In: Proceedings of 2nd international workshop on semantics, application, and implementation of program generation (SAIG’2001), Florence, Italy. LNCS, vol 2196. Springer, Berlin, pp 2–44

    Google Scholar 

  47. Semiconductor Industry Association (2001) The international technology roadmap for semiconductors. http://public.itrs.net/

  48. Štuikys V (2002) Metaprogramming techniques for program generation and soft IP design. Habilitation Report, KTU, Kaunas, Lithuania

    Google Scholar 

  49. Taha W (1999) A sound reduction semantics for untyped CBN multi-stage computation. Or, the theory of MetaML is non-trivial. ACM SIGPLAN Notices 34(11):34–43

    Article  Google Scholar 

  50. Templ J (1995) Metaprogramming in Oberon. Ph.D. dissertation, ETH Zürich

    Google Scholar 

  51. Terry PD (1997) Compilers and compiler generators: an introduction with C++. International Thomson Computer Press, London

    Google Scholar 

  52. Veldhuizen TL (2006) Tradeoffs in metaprogramming. In Proceedings of ACM SIGPLAN workshop on partial evaluation and semantics-based program manipulation, Charleston, 2006, pp 150–159

    Google Scholar 

  53. Wirth N (1976) Algorithms + data structures = programs. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vytautas Štuikys .

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag London

About this chapter

Cite this chapter

Štuikys, V., Damaševičius, R. (2013). Introduction. In: Meta-Programming and Model-Driven Meta-Program Development. Advanced Information and Knowledge Processing, vol 5. Springer, London. https://doi.org/10.1007/978-1-4471-4126-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-4126-6_1

  • Published:

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-4125-9

  • Online ISBN: 978-1-4471-4126-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics