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:
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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
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
Batory J (1998) Product-line architectures. Invited presentation, smalltalk and Java in industry and practical training, Erfurt, Germany, pp 1–12
Batory D, Dasari S, Geraci B, Singhal V, Sirkin M, Thomas J (1995) Achieving reuse with software system generators. IEEE Softw, Sept, 89–94
Beck K (2000) Extreme programming explained. Addison-Wesley, Reading
Biggerstaff TJ (1998) A perspective of generative reuse. Ann Softw Eng 5:169–226
Baily B, Martin G, Piziali A (2007) ESL – a methodology for handling complexity, slides of presentation at DAC’07, San-Diego, June 2007
Bondyopadhyay PK (1998) Moore’s law governs the silicon revolution. Proc IEEE 86(1):78–81
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
Czarnecki K, Eisenecker U (2000) Generative programming: methods, tools and applications. Addison-Wesley, Boston
Chiba S (1995) A metaobject protocol for C++. ACM SIGPLAN Notices 30(10):285–299
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
Cordy JR, Shukla M (1992) Practical metaprogramming. In: Proceedings of the 1992 IBM Centre for Advanced Studies conference, Nov 1992, pp 215–224
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
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
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
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
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
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
Fischer G, Giaccardi E, Ye Y, Sutcliffe AG, Mehandjiev N (2004) Meta-design: a manifesto for end-user development. CACM 47(9):33–37
Greenwald ID, Kane M (1959) The share 709 system: programming and modification. J ACM 6(2):128–133
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
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
Hiremane R (2005) From Moore’s law to Intel innovation—prediction to reality. Technology@Intel Magazine, pp 1–9
Jones ND, Gomard CK, Sestoft P (1993) Partial evaluation and automatic program generation. Prentice Hall, New York
Jones SW (2004) Exponential trends in the integrated circuit Industry. In: IC knowledge. http://paginas.fe.up.pt/~jcf/PCVLSI/2003-04/exponential.pdf
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
Kiczales G, Rivieres Jdes, Bobrow DG (1991) The art of the metaobject protocol. MIT Press, Cambridge, MA
Levy LS (1986) A metaprogramming method and its economic justification. IEEE Trans Softw Eng 12(2):272–277
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
Levine JR, Mason T, Brown D (1992) Lex and Yacc. O’Reilly and Associates, Inc, Sebastopol
Löwe W, Noga M (2002) Metaprogramming applied to web component deployment. Electron Notes Theor Comput Sci 65(4):106–116
Minsky M (1975) A framework for representing knowledge. In: Winston PH (ed) The psychology of computer vision. McGraw-Hill, New York
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
Martin G, Müller W (eds) (2005) UML for SOC design. Springer, Dordrecht
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
Multicellular Computing (2006) Online: http://www.runningempty.org/Steve/Multicellular/CharacterizingComplexity.html
Ousterhout JK (1998) Scripting: higher level programming for the 21st century. IEEE Comput 31(3):23–30
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
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
Pettorosi A (1996) Future directions in program transformation. ACM Comput Surv 28(4):171–174
Rideau F (1999) Metaprogramming and free availability of sources. In: Proceedings of Autour du Libre Conference, Bretagne
Schmidt DC (2006) Model-driven engineering. IEEE Comput 39(2):25–31
Štuikys V, Damaševičius R (2002) Taxonomy of the program transformation processes. Inf Technol Control 1(22):39–52
Štuikys V, Damaševičius R (2008) Development of generative learning objects using feature diagrams and generative techniques. Inform Educ 7(2):277–288
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
Semiconductor Industry Association (2001) The international technology roadmap for semiconductors. http://public.itrs.net/
Štuikys V (2002) Metaprogramming techniques for program generation and soft IP design. Habilitation Report, KTU, Kaunas, Lithuania
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
Templ J (1995) Metaprogramming in Oberon. Ph.D. dissertation, ETH Zürich
Terry PD (1997) Compilers and compiler generators: an introduction with C++. International Thomson Computer Press, London
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
Wirth N (1976) Algorithms + data structures = programs. Prentice Hall, Englewood Cliffs
Author information
Authors and Affiliations
Corresponding author
Rights 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)