Abstract
The paper analyzes transformation of a correct heterogeneous meta-program into 2-stage meta-programs. We propose a methodology and describe experiments to solve two tasks: 1) transformation of the 1-stage meta-program into the set of 2-stage meta-programs; 2) checking hypothesis of the transformation equivalence under given transformation rules and constraints. The experimental results have shown that introduced formalism, rules and models ensure correctness of transformations, extend reuse dimension to automatically adapt (through transformations) variants of programs/meta-programs to different contexts of use, enable to better understand meta-program development/change processes and heterogeneous meta-programming perse.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ortiz, A.: An introduction to metaprogramming. Linux Journal (158), 6 (2007)
Veldhuizen, T.L.: Tradeoffs in Metaprogramming. In: Proc. of ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Charleston, SC, USA, pp. 150–159 (2006)
Damaševičius, R., Štuikys, V.: Taxonomy of the Fundamental Concepts of Metaprogramming. Information Technology and Control 37(2), 124–132 (2008)
Sheard, T.: Accomplishments and Research Challenges in Meta-programming. In: Taha, W. (ed.) SAIG 2001. LNCS, vol. 2196, pp. 2–44. Springer, Heidelberg (2001)
Pasalic, E.: The Role of Type Equality in Meta-Programming. PhD thesis, Oregon Health and Sciences University, OGI School of Science and Engineering (2004)
Štuikys, V., Damaševičius, R.: Metaprogramming Techniques for Designing Embedded Components for Ambient Intelligence. In: Basten, T., Geilen, M., de Groot, H. (eds.) Ambient Intelligence: Impact on Embedded System Design, pp. 229–250. Kluwer Academic Publishers (2003)
Batory, D., Dasari, S., Geraci, B., Singhal, V., Sirkin, M., Thomas, J.: Achieving Reuse with Software System Generators. IEEE Software, 89–94 (September 1995)
Terry, P.D.: Compilers and Compiler Generators: An Introduction with C++. International Thomson Computer Press (1997)
Batory, D.: Product-line architectures, Invited Presentation, Smalltalk and Java in Industry and Practical Training, Erfurt, Germany, pp. 1–12 (1998)
Ludwig, A., Heuzeroth, D.: Metaprogramming in the Large. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, pp. 178–187. Springer, Heidelberg (2001)
Löwe, W., Noga, M.: Metaprogramming Applied to Web Component Deployment. Electronic Notes in Theoretical Computer Science 65(4) (2002)
Mens, T., Czarnecki, K., Van Gorp, P.: A Taxonomy of Model Transformations. Electronic Notes in Theoretical Computer Science 152, 125–142 (2006)
Taha, W.: Multi-Stage Programming: Its Theory and Applications. PhD thesis, Oregon Graduate Institute of Science and Technology (1999)
Cordy, J.R., Sarkar, M.S.: Metaprogram Implementation by Second Order Source Transformation. Position paper at Software Transformation Systems Workshop at Generative Programming and Component Engineering Conference (GPCE 2004), Vancouver, Canada (October 2004)
Trujillo, S., Azanza, M., Díaz, O.: Generative Metaprogramming. In: Proc. of 6th Int. Conf. on Generative Programming and Component Eng. (GPCE 2007), October 1-3, pp. 105–114. Salzburg, Austria (2007)
Leeder, D., Boyle, T., Morales, R., Wharrad, H., Garrud, P.: To boldly GLO – towards the next generation of Learning Objects. In: Proceedings of World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education, pp. 28–33. AACE, Chesapeake (2004)
Boyle, T.: Layered learning design: Towards an integration of learning design and learning object perspectives. Computers & Education 54, 661–668 (2010)
Losh, E.: Assembly Lines: Web Generators as Hypertexts. In: Proc. of the 18th Conf. on Hypertext and Hypermedia, pp. 115–122. ACM Press, New York (2007)
Helman, T., Fertalj, K.: A Critique of Web Application Generators. In: Proc. of the 25th Int. Conf. on Information Technology Interfaces (ITI), pp. 639–644 (2003)
Biggerstaff, T.J.: The library scaling problem and the limits of concrete component reuse. In: Proceedings of the Third International Conference on Advances in Software Reusability, Rio de Janeiro, pp. 102–109 (1994)
Prusinkiewicz, P.: Graphical applications of L-systems. In: Proceedings of Graphics Interface 1986/Vision Interface 1986, pp. 247–253 (1986)
Jacob, C.: Modeling Growth with L-Systems & Mathematica. In: Mathematica in Education. TELOS Springer (1995)
Bareiša, E., Jusas, V., Motiejūnas, K., Šeinauskas, R.: Functional test generation remote tool. In: 8th Euromicro Conference on Digital System Design (DSD 2005), pp. 192–195 (2005)
Roget’s 21st Century Thesaurus, 3rd edn. Source location: Philip Lief Group (2009), http://thesaurus.com/browse/methodology (accessed: June 26, 2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Štuikys, V., Bespalova, K. (2012). Methodology and Experiments to Transform Heterogeneous Meta-program into Meta-meta-programs. In: Skersys, T., Butleris, R., Butkiene, R. (eds) Information and Software Technologies. ICIST 2012. Communications in Computer and Information Science, vol 319. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33308-8_18
Download citation
DOI: https://doi.org/10.1007/978-3-642-33308-8_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33307-1
Online ISBN: 978-3-642-33308-8
eBook Packages: Computer ScienceComputer Science (R0)