Pain-mitigation Techniques for Model-based Engineering using Domain-specific Languages

Changing an established way of working can be a real headache. This is particularly true if there are high stakes involved, e.g., when changing the development process for complex systems. New design methods, such as model-based engineering (MBE) using domain-specific languages (DSLs) promise significant gains, such as cost reductions and improvements in productivity and product quality. However, transitioning between design methods comes with a great deal of uncertainty, as any approach has associated pains. While the gains may be intuitively appreciated, it may be less clear what the new pains will be and whether or not they will cancel out the gains. For this reason, it may sometimes feel safer to stick with the devil you know than to meet the one you do not, preventing the full design potential of the company from being reached. This paper is an experience report from an investigation into how to mitigate the pains associated with a transition to a model-based design flow using DSLs. The main contributions of the paper are: 1) a list of 14 pains related to MBE as a technology that is representative of our industrial partners designing high-tech systems in different domains, 2) a selected subset of six pains is positioned with respect to the state-of-thepractice, 3) practical experiences and pain-mitigation techniques from applying a model-based design process using DSLs to an industrial case study, and 4) a list of three open issues that require further research.

[1]  Markus Voelter Best Practices for DSLs and Model-Driven Development , 2009 .

[2]  David S. Wile,et al.  Lessons learned from real DSL experiments , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[3]  Jozef Hooman,et al.  Integrating Interface Modeling and Analysis in an Industrial Setting , 2017, MODELSWARD.

[4]  Manfred Broy,et al.  What is the Benefit of a Model-Based Design of Embedded Software Systems in the Car Industry? , 2012 .

[5]  Danilo Beuche,et al.  Variability management with feature models , 2004, Sci. Comput. Program..

[6]  M. Volter Architecture as Language , 2010, IEEE Software.

[7]  Eelco Visser,et al.  Product Line Engineering Using Domain-Specific Languages , 2011, 2011 15th International Software Product Line Conference.

[8]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[9]  Arjan J. Mooij,et al.  Industrial Software Rejuvenation Using Open-Source Parsers , 2016, ICMT.

[10]  IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA) — Framework and Rules , 2001 .

[11]  Gabor Karsai,et al.  Design Guidelines for Domain Specific Languages , 2014, ArXiv.

[12]  ISO / IEC 25010 : 2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation ( SQuaRE ) — System and software quality models , 2013 .

[13]  Parastoo Mohagheghi,et al.  Where Is the Proof? - A Review of Experiences from Applying MDE in Industry , 2008, ECMDA-FA.

[14]  Marco Torchiano,et al.  Relevance, benefits, and problems of software modelling and model driven techniques - A survey in the Italian industry , 2013, J. Syst. Softw..

[15]  Marco Torchiano,et al.  On the Benefits and Barriers When Adopting Software Modelling and Model Driven Techniques - An External, Differentiated Replication , 2015, 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[16]  Niklas Mellegård,et al.  Impact of Introducing Domain-Specific Modelling in Software Maintenance: An Industrial Case Study , 2016, IEEE Transactions on Software Engineering.

[17]  Sameer M. Prabhu,et al.  Best Practices for Establishing a Model-Based Design Culture , 2007 .

[18]  Eelco Visser,et al.  Evaluating and comparing language workbenches: Existing results and benchmarks for the future , 2015, Comput. Lang. Syst. Struct..

[19]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[20]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[21]  Miguel Goulão,et al.  Quality in model-driven engineering: a tertiary study , 2016, Software Quality Journal.

[22]  Jozef Hooman,et al.  Gaining Industrial Confidence for the Introduction of Domain-Specific Languages , 2013, 2013 IEEE 37th Annual Computer Software and Applications Conference Workshops.

[23]  김태식,et al.  RTCA-DO-178C 인증규격에 따른 소프트웨어 형상관리계획 수립에 관한 연구 , 2016 .

[24]  Mark Rouncefield,et al.  Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure , 2014, Sci. Comput. Program..