This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Multi-DSL Applications with Ruby
September/October 2010 (vol. 27 no. 5)
pp. 25-30
Sebastian Günther, University of Magdeburg
Domain-specific languages (DSLs) are becoming a mature application development tool that developers use to express concerns. Multi-DSL applications comprise DSLs and host language code. Exploiting the Ruby programming language's built-in support for the imperative, functional, and object-oriented paradigm, extended with feature-oriented programming, the author uses integrated and interwoven multiparadigm expressions of several DSLs to express all application layers, concerns, and artifacts. In addition to the case study, the author discusses how this approach impacts analysis, design, implementation, and testing of applications.

1. P. Hudak, "Modular Domain Specific Languages and Tools," Proc. 5th Int'l Conf. Software Reuse (ICSR 98), IEEE CS Press, 1998, pp. 134–142.
2. M. Mernik, J. Heering, and A.M. Sloane, "When and How to Develop Domain-Specific Languages," ACM Computing Survey, vol. 37, no. 4, 2005, pp. 316–344.
3. S. Günther and S. Sunkle, "Feature-Oriented Programming with Ruby," Proc. 1st Int'l Workshop Feature-Oriented Software Development (FOSD 09), ACM Press, 2009, pp. 11–18.
4. C. Prehofer, "Feature-Oriented Programming: A Fresh Look at Objects," Proc. 11th European Conf. Object-Oriented Programming (ECOOP 97), LNCS 1241, Springer, 1997, pp. 419–443.
5. S. Günther, "Agile DSL-Engineering and Patterns in Ruby," tech. report FIN-018-2009, Otto-von-Guericke-University Magdeburg, 2009.
6. R.C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2009.

Index Terms:
programming languages, multiparadigm languages, specialized application languages, Internet applications, software engineering
Citation:
Sebastian Günther, "Multi-DSL Applications with Ruby," IEEE Software, vol. 27, no. 5, pp. 25-30, Sept.-Oct. 2010, doi:10.1109/MS.2010.91
Usage of this product signifies your acceptance of the Terms of Use.