Title :
A test-driven approach for developing software languages
Author :
Badreddin, Omar ; Forward, Andrew ; Lethbridge, Timothy C.
Author_Institution :
School of Electrical Engineering and Computer Science (EECS), University of Ottawa, Canada
Abstract :
Test-Driven Development (TDD) is the practice of attempting to use the software you intend to write, before you write it. The premise is straightforward, but the specifics of applying it in different domains can be complex. In this paper, we provide aTDD approach for language development. The essence is to apply TDD at each of four levels of language processing, hence we call our approach Multi-Level TDD, or MLTDD. MLTDD can be applied to programming languages, preprocessors, domain specific languages, and transformation engines. MLTDD was used to build Umple, a model-oriented programming language available for Java, Ruby, and PHP. We present two case studies where this approach was implemented to develop two other domain specific languages.
Keywords :
Generators; Java; Semantics; Software; Syntactics; Testing; Unified modeling language; Model Oriented Programming Language; Test Driven Development; UML;
Conference_Titel :
Model-Driven Engineering and Software Development (MODELSWARD), 2014 2nd International Conference on
Conference_Location :
Lisbon, Portugal
Print_ISBN :
978-9-8975-8065-9