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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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
Bassett PG (1997) Framing software reuse: lessons from the real world. Prentice Hall, Upper Saddle River
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
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
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
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
Boehm B (2010) The changing nature of software evolution. IEEE Softw 27(4):26–28
Damaševičius R, Štuikys V (2010) Metrics for evaluation of metaprogram complexity. Comput Sci Inf Syst (ComSIS) 7(4):769–787
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
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
Fowler M (1999) Refactoring: improving the design of existing programs. Addison-Wesley, Reading
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
Iranzo PJ (2003) Thesis: partial evaluation of lazy functional logic programs. AI Commun 16(2):121–123
Jones ND, Gomard CK, Sestoft P (1993) Partial evaluation and automatic program generation. Englewood Cliffs, NJ: Prentice Hall
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
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
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
Kleene SC (1952) Introduction to metamathematics. D. van Nostrand Co., Princeton
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
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
McCabe TJ. A complexity Measure. IEEE Trans Softw Eng 2(4):308–320
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
Oram A, Wilson G (2010) Making software: what really works, and why we believe it. O’Reilly, Sebastopol
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
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
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
Š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
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
Š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
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
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
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
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
Turchin VF (1977) The phenomenon of science. A cybernetic approach to human evolution. Columbia University Press, New York
Vidacs L (2009) Software maintenance methods for preprocessed languages. Summary of the PhD dissertation, Institute of Informatics, University of Szeged
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
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
Welinder M (1996) Partial evaluation and correctness. PhD thesis, Department of Computer Science, University of Copenhagen, Denmark
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
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
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). 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)