The Experience of Implementing Model-Driven Engineering Tools in the Process Control Domain

  • Giovanni Godena Jožef Stefan Institute, Department of Systems and Control, Jamova 39, 1000 Ljubljana, Slovenia Jožef Stefan International Postgraduate School, Jamova cesta 39, 1000 Ljubljana, Slovenia
  • Tomaž Lukman iteratec GmbH, Inselkammerstraße 4, 82008 München - Unterhaching, Germany
  • Marjan Heričko University of Maribor, Faculty of Electrical Engineering and Computer Science, Smetanova ulica 17, 2000 Maribor, Slovenia
  • Stanko Strmčnik Jožef Stefan Institute, Department of Systems and Control, Jamova 39, 1000 Ljubljana, Slovenia
Keywords: model-driven engineering, process control software, domain-specific modeling languages, ProcGraph


Model-driven engineering (MDE) is a software-engineering paradigm that is being introduced into a growing number of domains. One of the most important success factors for a new MDE approach is the availability of the appropriate tool support for it. Although the literature discusses the development of support tools, only a few reports and analyses are available about the development of tool support for real-life modeling languages and MDE approaches. The goal of this paper is to fill this gap through an experience report about developing a tool-suite prototype for an MDE approach for the process control domain that is capable of supporting the development of real-life process control software. Before the work presented in this paper an initial prototype tool suite was already developed. However, it was not able to adequately support industry-scale projects. The paper starts with an analysis of the past development of this already-existing laboratory prototype and then moves on to a report about the development of the industrial prototype, which is influenced by the findings of the analysis. Then a comparison between the two prototypes is made and the lessons learned are described, which may be useful to practitioners who attempt to develop support tools for an MDE approach that are useful in practice. The most important lesson learned is that when developing tool support for complex modeling languages, the traditional development approach should not be easily rejected.