scholarly journals A Tool Support for Model-Driven Development: An Industrial Case Study from a Measurement Domain

2019 ◽  
Vol 9 (21) ◽  
pp. 4553 ◽  
Author(s):  
Tomaž Kos ◽  
Marjan Mernik ◽  
Tomaž Kosar

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.

2016 ◽  
Vol 2 ◽  
pp. e84 ◽  
Author(s):  
Javier Luis Cánovas Izquierdo ◽  
Jordi Cabot

Software development is becoming more and more collaborative, emphasizing the role of end-users in the development process to make sure the final product will satisfy customer needs. This is especially relevant when developing Domain-Specific Modeling Languages (DSMLs), which are modeling languages specifically designed to carry out the tasks of a particular domain. While end-users are actually the experts of the domain for which a DSML is developed, their participation in the DSML specification process is still rather limited nowadays. In this paper, we propose a more community-aware language development process by enabling the active participation of all community members (both developers and end-users) from the very beginning. Our proposal, called Collaboro, is based on a DSML itself enabling the representation of change proposals during the language design and the discussion (and trace back) of possible solutions, comments and decisions arisen during the collaboration. Collaboro also incorporates a metric-based recommender system to help community members to define high-quality notations for the DSMLs. We also show how Collaboro can be used at the model-level to facilitate the collaborative specification of software models. Tool support is available both as an Eclipse plug-in a web-based solution.


2017 ◽  
Vol 14 (3) ◽  
pp. 875-912 ◽  
Author(s):  
Geylani Kardas ◽  
Emine Bircan ◽  
Moharram Challenger

The conventional approach currently followed in the development of domain-specific modeling languages (DSMLs) for multi-agent systems (MASs) requires the definition and implementation of new model-to-model and model-totext transformations from scratch in order to make the DSMLs functional for each different agent execution platforms. In this paper, we present an alternative approach which considers the construction of the interoperability between MAS DSMLs for a more efficient way of platform support extension. The feasibility of using this new interoperability approach instead of the conventional approach is exhibited by discussing and evaluating the model-driven engineering required for the application of both approaches. Use of the approaches is also exemplified with a case study which covers the model-driven development of an agent-based stock exchange system. In comparison to the conventional approach, evaluation results show that the interoperability approach requires both less development time and effort considering design and implementation of all required transformations.


Author(s):  
Siamak Farshidi ◽  
Slinger Jansen ◽  
Sven Fortuin

AbstractModel-driven development platforms shift the focus of software development activity from coding to modeling for enterprises. A significant number of such platforms are available in the market. Selecting the best fitting platform is challenging, as domain experts are not typically model-driven deployment platform experts and have limited time for acquiring the needed knowledge. We model the problem as a multi-criteria decision-making problem and capture knowledge systematically about the features and qualities of 30 alternative platforms. Through four industry case studies, we confirm that the model supports decision-makers with the selection problem by reducing the time and cost of the decision-making process and by providing a richer list of options than the enterprises considered initially. We show that having decision knowledge readily available supports decision-makers in making more rational, efficient, and effective decisions. The study’s theoretical contribution is the observation that the decision framework provides a reliable approach for creating decision models in software production.


2010 ◽  
Vol 22 (1) ◽  
pp. 1-22 ◽  
Author(s):  
Margaret Burnett

End-user programming has become ubiquitous; so much so that there are more end-user programmers today than there are professional programmers. End-user programming empowers—but to do what? Make bad decisions based on bad programs? Enter software engineering’s focus on quality. Considering software quality is necessary, because there is ample evidence that the programs end users create are filled with expensive errors. In this paper, we consider what happens when we add considerations of software quality to end-user programming environments, going beyond the “create a program” aspect of end-user programming. We describe a philosophy of software engineering for end users, and then survey several projects in this area. A basic premise is that end-user software engineering can only succeed to the extent that it respects that the user probably has little expertise or even interest in software engineering.


Author(s):  
Sebastian Rose ◽  
Marius Lauder ◽  
Michael Schlereth ◽  
Andy Schürr

Automation engineering heavily relies on concurrent model-driven design activities across multiple disciplines. The customization and integration of domain-specific modeling languages and tools play an important role. This contribution introduces a conceptual framework for this purpose that combines the modeling standards of the Object Management Group (OMG) with precisely defined specification techniques based on metamodeling and graph grammars. The main focus is on the development of synchronization mechanisms between modeling tools and on the presentation of some extensions of the underlying graph grammar formalism motivated by its application to a real-world scenario. These techniques are presented by a case study about the application of graph grammars within automation engineering.


Author(s):  
Yeshica Isela Ormeño ◽  
Jose Ignacio Panach ◽  
Nelly Condori-Fernández ◽  
Óscar Pastor

Nowadays there are sound Model-Driven Development (MDD) methods that deal with functional requirements, but in general, usability is not considered from the early stages of the development. Analysts that work with MDD implement usability features manually once the code has been generated. This manual implementation contradicts the MDD paradigm and it may involve much rework. This paper proposes a method to elicit usability requirements at early stages of the software development process such a way non-experts at usability can use it. The approach consists of organizing several interface design guidelines and usability guidelines in a tree structure. These guidelines are shown to the analyst through questions that she/he must ask to the end-user. Answers to these questions mark the path throughout the tree structure. At the end of the process, the paper gathers all the answers of the end-user to obtain the set of usability requirements. If it represents usability requirements according to the conceptual models that compose the framework of a MDD method, these requirements can be the input for next steps of the software development process. The approach is validated with a laboratory demonstration.


Sign in / Sign up

Export Citation Format

Share Document