The adoption of Domain-Specific Languages (DSLs) is regarded as an approach to reduce the accidental complexity of software systems development. The availability of sophisticated language workbenches facilitates the development of DSLs making them increasingly more popular. This comes at the risk that a badly designed DSL can bring more harm and decrease productivity, when compared to an existing alternative. In particular, a poorly designed DSL can be too hard to adopt by its domain users. As such, Usability is one of the key characteristics to mitigate this risk as it has an important impact on the achieved productivity of DSL users. The current state of practice in Software Language Engineering (SLE) neglects the Usability of DSLs. A pertinent research question in SLE is how to systematically engineer Usability into DSLs. We argue that a timely systematic approach based on User Interface experimental evaluation techniques should be used to assess the impact of DSLs during their development process, while the cost of fixing the usability problems is relatively low when compared to fixing them at the end of the development process. For that purpose, the focus of this dissertation is to build a systematic approach that supports the iterative development process of DSLs concerning the issue of their Usability evaluation, and engages the DSL's end users in the process. To be effective, the systematic approach should be grounded on the information produced along the engineering process. Model-Driven Development (MDD) enables us to explicitly capture the usability evaluation process by using models and establishing traceability links among them. We propose the Usability Software Engineering Modelling Environment (USE-ME) as a conceptual framework for the usability evaluation of DSLs. We defined the evaluation process in a step by step manner. We demonstrated the feasibility of the conceptual framework building a USE-ME prototype to support it. USE-ME modelling instances provide decision support when determining the usability of the DSL and opportunities for its improvement. Finally, we conducted several case studies to illustrate the proposed conceptual framework.
Faculdade Ciências e Tecnologia, Universidade Nova de Lisboa