This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Magic Potion: Incorporating New Development Paradigms through Metaprogramming
September/October 2010 (vol. 27 no. 5)
pp. 38-44
Dragan Djuric, University of Belgrade, Serbia
Vladan Devedzic, University of Belgrade, Belgrade
Today's applications require mixing and matching languages, platforms, and paradigms, which increases a solution's complexity. The authors propose a lighter approach that borrows a desired paradigm and incorporates it as an integral part of a preferred development environment. They've applied metaprogramming to internalize the ontology-modeling paradigm into a programming environment that's based on the Java ecosystem. Their method is also lightweight and suitable for small teams. They implemented an embedded domain-specific metalanguage, called Magic Potion, in the Clojure development environment, where it blends ontology, functional, object-oriented, and concurrent paradigms.

1. R. Lämmel and E. Meijer, "Mappings Make Data Processing Go 'Round: An Inter-Paradigmatic Mapping Tutorial," Generative and Transformation Techniques in Software Eng., LNCS 4143, Springer, 2006, pp. 169–218.
2. R. Hickey, "The Clojure Programming Language," Proc. 2008 Symp. Dynamic Languages, ACM Press, 2008, article 1.
3. D. Djuric, D. Gasevic, and V. Devedzic, "The Tao of Modeling Spaces," J. Object Technology, vol. 5, no. 8, 2006, pp. 125–147.
4. D. Gasevic, D. Djuric, and V. Devedzic, Model Driven Engineering and Ontology Development, 2nd ed., Springer, 2009.
5. T. Sheard, "Accomplishments and Research Challenges in Meta-Programming," Proc. 2nd Int'l Workshop Semantics, Applications, and Implementation of Program Generation, LNCS 2196, Springer, 2001, pp. 2–44.
6. N. Shadbolt, W. Hall, and T. Berners-Lee, "The Semantic Web Revisited," IEEE Intelligent Systems, vol. 21, no. 3, 2006, pp. 96–101.
7. L. Tratt, "Domain Specific Language Implementation via Compile-Time Metaprogramming," ACM Trans. Programming Languages and Systems (TOPLAS), vol. 30, no. 6, 2008, p. 31.
8. D. Spinellis, "Rational Metaprogramming," IEEE Software, vol. 25, no. 1, 2008, pp. 78–79.

Index Terms:
programming paradigms, multiparadigm languages, ontology languages, metaprogramming, domain-specific languages, programming languages, domain engineering, programming techniques
Citation:
Dragan Djuric, Vladan Devedzic, "Magic Potion: Incorporating New Development Paradigms through Metaprogramming," IEEE Software, vol. 27, no. 5, pp. 38-44, Sept.-Oct. 2010, doi:10.1109/MS.2010.90
Usage of this product signifies your acceptance of the Terms of Use.