Authors:
Omar Badreddin
;
Andrew Forward
and
Timothy C. Lethbridge
Affiliation:
University of Ottawa, Canada
Keyword(s):
Test Driven Development, Model Oriented Programming Language, UML.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Domain-Specific Modeling and Domain-Specific Languages
;
Languages, Tools and Architectures
;
Model Quality Assurance Techniques
;
Model-Based Testing and Validation
;
Model-Driven Architecture
;
Model-Driven Software Development
;
Software Engineering
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.