Abstract
End-user programming may utilize Domain-Specific Modeling Languages (DSMLs) to develop applications in the form of models, using only abstractions found in a specific problem domain. Indeed, the productivity benefits reported from Model-Driven Development (MDD) are hard to ignore, and a number of MDD solutions are flourishing. However, not all stories from industry on MDD are successful. End-users, without having software development skills, are more likely to introduce software errors than professional programmers. In this study, we propose and encourage other DSML developers to extend the development of DSML with tool support. We believe the programming tools (e.g., debugger, testing tool, refactoring tool) are also needed for end-users to ensure the proper functioning of the products they develop. It is imperative that domain experts are provided with tools that work on the abstraction level that is familiar to them. In this paper, an industrial experience is presented for building various tools for usage in MDD. Debugger, automated testing infrastructure, refactoring, and other tools were implemented for Sequencer, a DSML. Our experience with the implementation of tool support for MDD confirms that these tools are indispensable for end-user programming in practice, and that implementing those tools might not be as costly as expected.
Highlights
We live in a time when demand for the development of software and extending of the existing ones are increasing enormously
Is that it enables end-users and domain experts to program without having professional software knowledge, but they can express themselves in Domain-Specific Modeling Languages (DSMLs)
Tool support is indispensable for acceptance of Model-Driven Development (MDD) by domain experts. Besides this lesson learned in the industrial environment, we report our experience with end-users, maintaining and evolving the DSML, which other practitioners may apply after introducing DSML in a real-world environment
Summary
We live in a time when demand for the development of software and extending of the existing ones are increasing enormously. The benefits reported from MDD are flexibility, productivity, reliability, and usability [5,6,7], which have been shown through empirical evaluations [8,9], and a number of MDD solutions are flourishing [10,11,12,13,14] Another benefit of MDD is that it enables end-users and domain experts to program without having professional software knowledge, but they can express themselves in DSMLs. Scaffidi et al showed that the number of end-users in the last years has been increasing [15]. Implementing a DSML tool from scratch can be more time consuming, error-prone, and costly This is why, in most cases, a Model-Driven Development Environment (MDDE) is provided without tools like a model debugger, but, as can be observed in the case of many programming languages, like.
Published Version (
Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have