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.
Identifer | oai:union.ndltd.org:bl.uk/oai:ethos.bl.uk:647425 |
Date | January 2015 |
Creators | Lai, Qinan |
Publisher | University of Manchester |
Source Sets | Ethos UK |
Detected Language | English |
Type | Electronic Thesis or Dissertation |
Source | https://www.research.manchester.ac.uk/portal/en/theses/enabling-high-quality-executable-domain-specific-language-specification(bc6a9e87-b624-4072-9430-fbacdaac8289).html |
Page generated in 0.0019 seconds