ABSTRACT

A Domain-Specific Language (DSL) is a dedicated language for a specific problem domain and is not intended to solve problems outside it. For example, HTML, Verilog, and VHDL are DSLs for a very specific domain. A DSL can be textual, graphical, or hybrid. A DSL builds abstractions so that the respective domain experts could specify their problem well suited to their domain understanding without paying much attention to the general-purpose computational programming languages such as C, C++, and Java, which have their own learning curve. The notion of domainspecific modeling arises from this concept, and the DSL designers are tasked with creating a domain-specific modeling language. If a DSL is also meant for simulation purposes, then one more task of mapping a specific DSL to a general-purpose computational language is also in the cards. There are many DEVS DSLs that implement a subset of rigorous DEVS formalism. One example of DEVS DSL is DEVSpecL (Hong & Kim, 2006), built on the BNF grammar. DSL writing tools such as Xtext and Ruby focusing directly on the Extended Backus-Naur Form (EBNF) grammar provide a much easier foundation to develop the Abstract Syntax Tree (AST) for model-to-model transformations. The rich integration and code generation capabilities with open-source tools such as Eclipse give them strong acceptance in the software modeling community.