Development of data acquisition systems by using a domain-specific modeling language § Tomaz ˇ Kos a , Tomaz ˇ Kosar b, *, Marjan Mernik b a DEWESoft d.o.o., Gabrsko 11a, 1420 Trbovlje, Slovenia b University of Maribor, Faculty of Electrical Engineering and Computer Science, Smetanova ulica 17, 2000 Maribor, Slovenia 1. Introduction Programming engineers are confronted with various problems when developing applications. The fundamental development issue is choosing the appropriate programming language that the application should be implemented in. There are thousands 1 of programming languages. Some of them are general and suitable for use with any problem domain. Software production is primarily concentrated around general-purpose languages (GPLs), like Cþþ, C#, and Java. GPLs usually contain many application libraries and it takes time for programmers to master these libraries and thus produce the software. Moreover, rapid advances in software technology, the need for joining different technologies (e.g., distributed services), and problems with heterogeneous platforms are encouraging the growth and complexity of applications. Another problem with traditional software development is software maintenance. For instance, software customization usually demands substantial programmer effort. Also, reusing applications for similar domains requires a considerable amount of programmer skill. Therefore, there have been various initiatives in the field of software development regarding how to produce software more efficiently. In recent years, we have seen the rise of different development methodologies, such as object-oriented programming [1], component based software development [2], design patterns [3], generic programming [4,5], and generative programming [6]. Most of these are concerned with the simplification of software development. In this context, some methodologies involve end-users in the development process, which can be classified as ‘‘user-centered’’ software development, aiming to fulfill the goals of a product from the end-user’s point of view. Let us briefly mention just a few of these development methodologies: software factories [7], domain-specific software engineering [8], and model-driven engineering (MDE) [9]. The common denominator of the aforementioned development methodologies is the involvement of the end-user in the development of software, by using domain-specific languages (DSLs) that provide end-users with the ability to program their solutions. A DSL is a language designed in such a way that it provides a notation tailored towards a problem domain and is based only on the relevant concepts and features of that domain [10,11]. As such, a DSL is a means of describing a family of programs within the given domain, encouraging end-users to Computers in Industry 63 (2012) 181–192 A R T I C L E I N F O Article history: Received 7 October 2010 Received in revised form 29 August 2011 Accepted 23 September 2011 Available online 28 October 2011 Keywords: Domain-specific modeling languages Domain-specific languages Data acquisition Measuring systems Brake tests DEWESoft Sequencer A B S T R A C T Data acquisition is the process of capturing and measuring physical data and then converting the results into a digital form that is further manipulated by a computer program. Within the industry, data acquisition systems (measurement systems) are used in a wide variety of fields, including product quality testing. Usually measuring systems are complicated devices, however newer data acquisition systems tend to be easier to use. As such, they open the door for the development of customized software, which can be easily manipulated, not only by programmers but also by domain experts, enabling them to understand and modify programs. Raising the level of abstraction, particularly with those programs that use visual models, can be an effective aid for domain experts, who are then able to model their programs on their own. This paper describes the design and use of a domain-specific modeling language called the Sequencer, integrated with the measuring equipment DEWESoft, which enables domain experts to model their own data acquisitions. Specifically, in this paper the Sequencer is exposed to: domain concepts identification, the construction of modeling notation, a connection with execution framework, and the end-users’ point of view on the modeling tool. The use of the Sequencer will be presented on car brake tests. For this purpose, the Sequencer has already been successfully applied in the automotive industry. ß 2011 Elsevier B.V. All rights reserved. § This research is partly financed by the EU from the European Social Foundation. * Corresponding author. E-mail addresses: tomaz.kos@dewesoft.si (T. Kos), tomaz.kosar@uni-mb.si (T. Kosar), marjan.mernik@uni-mb.si (M. Mernik). 1 http://hopl.murdoch.edu.au/. Contents lists available at SciVerse ScienceDirect Computers in Industry jo ur n al ho m epag e: ww w.els evier .c om /lo cat e/co mp in d 0166-3615/$ – see front matter ß 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.compind.2011.09.004