[Thesis]. Manchester, UK: The University of Manchester; 2015.
Domain Specific Languages (DSL) are becoming a common practice for describing models
at a higher abstraction, using a notation that domain experts understand. Designing
a DSL usually starts from creating a language specification, and the other tools of
the DSLs are derived from the specification. Hence, the quality of the language specification
can crucially impact the quality of the complete DSL tool chain. Although many methods
for defining a language specification have been proposed, the quality of the language
specification they produced is not emphasised. This thesis explores the quality of
language specifications, and proposes consistency, correctness, executability, understandability,
and interoperability as the key features that a high quality language specification
processes. Given the importance of these features, this thesis designs a new language
definition approach that is based on the newly published OMG standards, namely: the
semantics of the foundational subset of UML (fUML), and the Action Language for fUML
(ALF). This approach enables the creation of a language specification with the proposed
criteria. Moreover, a software framework that simplifies the production of high quality
language specifications is built. Finally, a software development process is developed,
which analyses the roles, products, and activities in DSL specification development.
The framework is demonstrated by defining the language specification of Business Process
Execution Language (BPEL) as a case study. The BPEL specification is further evaluated,
which confirms the desired quality features are processed.