Evolution of Domain-Specific Modeling Language: An Example of an Industrial Case Study on an RT-Sequencer

Model-driven engineering is a well-established software development methodology that uses models to develop applications where the end-users with visual elements model abstractions from a specific domain. These models are based on domain-specific modeling language (DSML), which is particular to the problem domain. During DSML use, new ideas emerge and DSMLs evolve. However, reports on DSML evolution are rare. This study presents a new DSML called RT-Sequencer that evolved from our DSML Sequencer to support, in addition to the Data Acquisition domain, also a new domain—Real-Time Control (RTC) systems. The process of defining models with a new language RT-Sequencer has changed in a way that new end-users were introduced—advanced end-users, which use general-purpose language (GPL) and advanced programming concepts to define modeling environments for the RT-Sequencer end-users. More specifically, an industrial experience with the RT-Sequencer is presented, where DSML was opened for extension so that a GPL code could be inserted into the model to create new visual blocks for the end-user, and the possibility to adapt and optimize the execution code for a particular task. Our experience shows the specific case of DSML evolution supporting another problem domain, and the implementation effort needed to extend domain-specific modeling language with GPL support.