Section: New Results
Processing Domain-Specific Modeling Languages: A Case Study in Telephony Services
The Domain-Specific Language (DSL) approach is being actively studied from both a software engineering viewpoint and a programming language viewpoint. It is being successfully applied to a variety of areas such as banking, graphics and networking. Yet, the concept of a DSL is still very vague, making both its applicability and implementation dif- ficult.
This paper introduces a layered approach to DSLs where (1) domain experts are provided with Domain-Specific Modeling Languages (DSMLs), requiring no programming skills and (2) implementation experts deal with Domain-Specific Programming Languages (DSPLs) that require a programming background but abstracts over the intricacies of underlying technologies.
By separating domain and implementation concerns, we show that our layered DSL approach enables high-level tools to be used to both compile and reason about DSML programs. Compilation and program verification amount to defining high-level generative processes.
We illustrate our approach with the domain of telephony service creation. We introduce a DSML for service creation and demonstrate the ease of compiling DSML programs using the Stratego/XT program transformation environment. Two compilation processes are defined for DSML programs targeting (1) a DSPL, illustrating a high-level compilation process and (2) the TLA+ specification language, exemplifying the verification of domain-specific properties. For more information, see:  .