Skip to main content

Meta-Meta-Programming and Equivalent Transformations of Heterogeneous Meta-Programs

  • Chapter
  • First Online:
Meta-Programming and Model-Driven Meta-Program Development

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

  • 1101 Accesses

Abstract

In this chapter, we consider a transformation-based approach which transforms the given (correct) meta-program within the same meta-parameter space into a meta-meta-program. The aim is threefold: (1) to formalize the transformation processes, (2) to approve under some conditions the equivalence of the high-level transformations and (3) to extend the results of Chap. 11.

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. Benestad AC, Anda B, Arisholm E (2009) Understanding software maintenance and evolution by analyzing individual changes: a literature review. J Softw Maint Evol Res Pract 21:349–378

    Article  Google Scholar 

  2. Bassett PG (1997) Framing software reuse: lessons from the real world. Prentice Hall, Upper Saddle River

    Google Scholar 

  3. Batory D (2004) Program comprehension in generative programming: a history of grand challenges. In: Proceedings of 12th IEEE International Workshop on Program Comprehension IWPC 2004, 24–26 June, Bari, Italy, pp 2–11

    Google Scholar 

  4. Becker M (2001) Generic components: a symbiosis of paradigms. In Butler G, Jarzabek S (eds) Second international symposium on Generative and Component-Based Software Engineering, GCSE 2000, Erfurt, Germany, 9–12 Oct. LNCS, vol 2177, pp 100–113

    Google Scholar 

  5. Biggerstaff T (1994) The library scaling problem and the limits of concrete component reuse. In: Proceedings of the third international conference on software reuse: advances in software reusability, Rio de Janeiro, Brazil, 1–4 Nov 1994, pp 102–109

    Google Scholar 

  6. Buckley J, Mens T, Zenger M, Rashid A, Kniesel G (2003) Towards a taxonomy of software change. J Softw Maint Evol Res Pract 17(5):309–332

    Article  Google Scholar 

  7. Boehm B (2010) The changing nature of software evolution. IEEE Softw 27(4):26–28

    Google Scholar 

  8. Damaševičius R, Štuikys V (2010) Metrics for evaluation of metaprogram complexity. Comput Sci Inf Syst (ComSIS) 7(4):769–787

    Article  Google Scholar 

  9. Ebraert P, Classen A, Heymans P, D’Hondt T (2009) Feature diagrams for change-oriented programming. In: Nakamura M, Reiff-Marganiec S (eds) Feature interactions in software and communication systems X. Ios Press, Amsterdam, pp 107–122

    Google Scholar 

  10. Fahmy H, Holt RC, Cordy JR (2001) Wins and losses of algebraic transformations of software architectures. In: Proceedings of 16th IEEE international conference on Automated Software Engineering (ASE 2001), 26–29 Nov, Coronado Island, San Diego, CA, USA, pp 51–62

    Google Scholar 

  11. Fowler M (1999) Refactoring: improving the design of existing programs. Addison-Wesley, Reading

    Google Scholar 

  12. Francis M (2004) Metagene: a C++ meta-program generation tool. In: Proceedings of Multiparadigm Programming with Object-Oriented Languages (MPOOL’ 04), Oslo, Norway, 15 June

    Google Scholar 

  13. Iranzo PJ (2003) Thesis: partial evaluation of lazy functional logic programs. AI Commun 16(2):121–123

    MATH  Google Scholar 

  14. Jones ND, Gomard CK, Sestoft P (1993) Partial evaluation and automatic program generation. Englewood Cliffs, NJ: Prentice Hall

    Google Scholar 

  15. Janota M, Kiniry J (2007) Reasoning about feature models in higher-order logic. In: Proceedings of 11th international conference on Software Product Lines, SPLC 2007, 10–14 Sept, Kyoto, Japan, pp 13–22

    Google Scholar 

  16. Jeuring J, Plasmeijer R (2006) Generic programming for software evolution. In: Proceedings of international workshop on software evolution (ERCIM, LIFT-INRIA), 6–7 April, France, pp 97–104

    Google Scholar 

  17. Jarzabek S, Pettersson U (2006) Research journey towards Industrial application of reuse technique. In: Proceedings of 28th International Conference on Software Engineering ICSE’06, 20–28 May, Shanghai, China, pp 608–611

    Google Scholar 

  18. Kleene SC (1952) Introduction to metamathematics. D. van Nostrand Co., Princeton

    MATH  Google Scholar 

  19. Karaila M, Systa T (2007) Applying template meta-programming techniques for a domain-specific visual language. An industrial experience report. In: Proceedings of 29th International Conference on Software Engineering (ICSE’07), Minneapolis, MN, USA, 20–26 May, pp 571–580

    Google Scholar 

  20. Martin G (2004) IP reuse and integration in MPSoC: highly configurable processors. Tensilica Inc. Presentation at MPSoC’2004, Hôtellerie du Couvent Royal, Saint-Maximin la Sainte Baume, France

    Google Scholar 

  21. McCabe TJ. A complexity Measure. IEEE Trans Softw Eng 2(4):308–320

    Google Scholar 

  22. Mens T, Demeyer S, Janssens D (2002) Formalising behaviour preserving program transformations. In: Corradini A, Ehrig H, Kreowski H-J, Rozenberg G (eds) Graph transformation, proceedings of first international conference, ICGT 2002, Barcelona, Spain, 7–12 Oct, LNCS, vol 2505. Springer-Verlag London, UK, pp 286–301

    Google Scholar 

  23. Oram A, Wilson G (2010) Making software: what really works, and why we believe it. O’Reilly, Sebastopol

    Google Scholar 

  24. Pataki N, Sipos Á, Porkoláb Z (2006) Measuring the complexity of aspect-oriented programs with multiparadigm metric. In: Proceedings of the 10th ECOOP workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE 2006), 3 July 2006, Nantes, France, pp 1–10

    Google Scholar 

  25. Reis GD, Järvi J (2005) What is generic programming? Proceedings of workshop on Library-Centric Software Design LCSD’05, vols 06–12. An OOPSLA Workshop October 16, 2005, San Diego, California, USA, pp 1–10

    Google Scholar 

  26. Ross KD (2006) Towards an automatic complexity analysis for generic programs. In: Proceedings of the 2006 ACM SIGPLAN workshop on generic programming, 16–16 Sept, Portland, OR, USA

    Google Scholar 

  27. Štuikys V, Damaševičius R, Ziberkas G (2002) Open PROMOL: an experimental language for target program modification. In: Mignotte A, Villar E, Horobin L (eds) System on chip design languages – extended papers: best of FDL’01 and HDLCON’01. Kluwer, Norwell, pp 235–246

    Google Scholar 

  28. Sheard T (2001) Accomplishments and research challenges in meta-programming. In: Proceedings of the 2nd international workshop on Semantics, Application, and Implementation of Program Generation (SAIG’2001), Florence, Italy. LNCS, vol 2196. Springer, pp 2–44

    Google Scholar 

  29. Štuikys V, Montvilas M, Damaševičius R (2009) Development of WEB component generators using one-stage metaprogramming. Inf Technol Control 38(2):108–118

    Google Scholar 

  30. Schordan M, Quinlan DJ (2005) Specifying transformation sequences as computation on program fragments with an abstract attribute grammar. In: Proceedings of the 5th IEEE international workshop on Source Code Analysis and Manipulation (SCAM 2005), 30 Sept–1 Oct 2005, Budapest, Hungary, pp 97–106

    Google Scholar 

  31. Trujillo S, Azanza M, Díaz O (2007) Generative metaprogramming. In: Proceedings of 6th international conference on Generative Programming and Component Engineering (GPCE 2007), Salzburg, Austria, 1–3 Oct 2007, pp 105–114

    Google Scholar 

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

    Article  Google Scholar 

  33. Taha W, Crosby S, Swadi K (2004) A new approach to data mining for software design. In: Proceedings of the international conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications (CSITeA’04), Cairo, Egypt

    Google Scholar 

  34. Turchin VF (1977) The phenomenon of science. A cybernetic approach to human evolution. Columbia University Press, New York

    Google Scholar 

  35. Vidacs L (2009) Software maintenance methods for preprocessed languages. Summary of the PhD dissertation, Institute of Informatics, University of Szeged

    Google Scholar 

  36. Visser E (2001) A survey of rewriting strategies in program transformation systems. In: Gramlich B, Lucas S (eds) Electronic notes in theoretical computer science, vol 57. Elsevier, Utrecht

    Google Scholar 

  37. Westfechtel B, Conradi R (2009) Multi-variant modeling concepts, issues and challenges. European Conference on Model-Driven Architecture (ECMDA), Twente, The Netherlands, 24 June 2009, pp 57–67

    Google Scholar 

  38. Welinder M (1996) Partial evaluation and correctness. PhD thesis, Department of Computer Science, University of Copenhagen, Denmark

    Google Scholar 

  39. Winter VL (2004) Program transformation: what, how and why. In: Wah BW (ed) Wiley encyclopedia of computer science and engineering. John Wiley & Sons, Inc. DOI: 10.1002/9780470050118.ecse330

    Google Scholar 

  40. Yan C (2009) Analyzing the influences of aspect weaving on software system behavior. In: Proceedings of the international symposium on Web Information Systems and Applications (WISA’09), Nanchang, China, 22–24 May 2009, pp 234–237

    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). Meta-Meta-Programming and Equivalent Transformations of Heterogeneous Meta-Programs. 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_14

Download citation

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

  • 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