A survey on modeling and model-driven engineering practices in the embedded software industry

Abstract Software-intensive embedded systems have become an essential aspect of our lives. To cope with its growing complexity, modeling and model-driven engineering (MDE) are widely used for analysis, design, implementation, and testing of these systems. Since a large variety of software modeling practices is used in the domain of embedded software, it is important to understand and characterize the-state-of-the-practices and also the benefits, challenges and consequences of using software modeling approaches in this domain. The goal of this study is to investigate those practices in the embedded software engineering projects by identifying to what degree, why and how software modeling and MDE are used. To achieve this objective, we designed and conducted an online survey. Opinions of 627 practicing embedded software engineers from 27 different countries are included in the survey. The survey results reveal important and interesting findings about the state of software modeling and MDE practices in the worldwide embedded software industry. Among the results: (1) Different modeling approaches (from informal sketches to formalized models) are widely used in the embedded software industry with different needs and all of the usages could be effective depending on the various modeling characteristics; (2) The majority of participants use UML; and the second most frequently selected response is “Sketch/No formal modeling language”, which shows the wide-spread informal usage of modeling; (3) In model-driven approaches, it is not so important to have a graphical syntax to represent the model (as in UML) and depending on the type of target embedded industrial sector, modeling stakeholders prefer models, which can be represented in a format that is readable by a machine (as in DSL); (4) Sequence diagrams and state-machines are the two most popular diagram types; (5) Top motivations for adopting MDE are: cost savings, achieving shorter development time, reusability and quality improvement. The survey results will shed light on the state of software modeling and MDE practices and provide practical benefits to embedded software professionals (e.g., practitioners, researchers and also educators).

[1]  Patrizio Pelliccione,et al.  Descriptive vs prescriptive models in industry , 2016, MoDELS.

[2]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[3]  Marco Torchiano,et al.  Preliminary Findings from a Survey on the MD State of the Practice , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[4]  Thomas Zurawka,et al.  Automotive Software Engineering: Principles, Processes, Methods, and Tools , 2005 .

[5]  Lech Józwiak,et al.  Advanced mobile and wearable systems , 2017, Microprocess. Microsystems.

[6]  Alan Hartman,et al.  Model Driven Architecture: Foundations and Applications , 2003 .

[7]  Michel R. V. Chaudron,et al.  In practice: UML software architecture and design description , 2006, IEEE Software.

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

[9]  Richard V. McCarthy,et al.  Does UML make the grade? Insights from the software development community , 2005, Inf. Softw. Technol..

[10]  Lefteris Angelis,et al.  On the use of software design models in software development practice: An empirical investigation , 2014, J. Syst. Softw..

[11]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[12]  Mark Keil,et al.  Understanding software project risk: a cluster analysis , 2004, Inf. Manag..

[13]  Vahid Garousi,et al.  Characterizing the Development and Usage of Diagrams in Embedded Software Systems , 2017, 2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[14]  Peter Liggesmeyer,et al.  Trends in Embedded Software Engineering , 2009, IEEE Software.

[15]  Dave A. Thomas,et al.  MDA: revenge of the modelers or UML utopia? , 2004, IEEE Software.

[16]  Timothy Lethbridge,et al.  Problems and opportunities for model-centric versus code-centric software development: a survey of software professionals , 2008, MiSE '08.

[17]  Håkan Burden,et al.  A taxonomy of tool-related issues affecting the adoption of model-driven engineering , 2017, Software & Systems Modeling.

[18]  T. Lunsford,et al.  The Research Sample, Part I: Sampling , 1995 .

[19]  Bin Liu,et al.  Avionics Embedded Software Modeling Based on Time-Constrained Transition Equivalence Class , 2012 .

[20]  Wolfgang Müller,et al.  Model-based design of embedded systems , 2004, Seventh IEEE International Symposium onObject-Oriented Real-Time Distributed Computing, 2004. Proceedings..

[21]  Onur Demirörs,et al.  Towards Modeling Patterns for Embedded Software Industry: Feedback from the Field , 2018, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[22]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[23]  Lionel C. Briand,et al.  A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance , 2008, IEEE Transactions on Software Engineering.

[24]  Michael Jantzer,et al.  Model Based Engineering , 2020 .

[25]  Bran Selic,et al.  Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE: Developing Cyber-Physical Systems , 2013 .

[26]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[27]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[28]  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..

[29]  Jeff Kramer,et al.  Is abstraction the key to computing? , 2007, CACM.

[30]  Marcus Ciolkowski,et al.  Conducting on-line surveys in software engineering , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[31]  Bruce Powel Douglass Real Time UML: Advances in the UML for Real-Time Systems (3rd Edition) , 2004 .

[32]  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..

[33]  Deniz Akdur,et al.  Model Driven Engineering of Communication Protocol Artifact with Design Pattern Usage in Distributed and Real-Time Embedded Systems: An Industrial Experience , 2017 .

[34]  Teruaki Kitasuka,et al.  Development of a modeling education program for novices using model-driven development , 2012, WESE '12.

[35]  Michel R. V. Chaudron,et al.  A survey into the rigor of UML use and its perceived impact on quality and productivity , 2008, ESEM '08.

[36]  Siobhán Clarke,et al.  An aspect-oriented, model-driven approach to functional hardware verification , 2012, J. Syst. Archit..

[37]  Gregorio Robles,et al.  Practices and Perceptions of UML Use in Open Source Projects , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP).

[38]  Leonidas G. Anthopoulos,et al.  Role of unified modelling language in software development in Greece ?? results from an exploratory study , 2014, IET Softw..

[39]  Bran Selic,et al.  Challenges in Combining SysML and MARTE for Model-Based Design of Embedded Systems , 2009, ECMDA-FA.

[40]  Jörgen Hansson,et al.  Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice , 2018, Software & Systems Modeling.

[41]  Manfred Broy,et al.  Challenges in automotive software engineering , 2006, ICSE.

[42]  Marian Petre,et al.  UML in practice , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[43]  Henry Muccini,et al.  What Industry Needs from Architectural Languages: A Survey , 2013, IEEE Transactions on Software Engineering.

[44]  Thomas Weigert Practical experiences in using model-driven engineering to develop trustworthy computing systems , 2006, IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC'06).

[45]  Onur Demir√∂rs,et al.  Conceptual Modeling Notations and Techniques , 2010 .

[46]  Cris Kobryn Will UML 2.0 be agile or awkward? , 2002, CACM.

[47]  Douglas C. Schmidt,et al.  Model Driven Middleware , 2005 .

[48]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[49]  Gabor Karsai,et al.  Model-driven architecture for embedded software: A synopsis and an example , 2008, Sci. Comput. Program..

[50]  Vahid Garousi,et al.  Cross-factor analysis of software modeling practices versus practitioner demographics in the embedded software industry , 2017, 2017 6th Mediterranean Conference on Embedded Computing (MECO).

[51]  Dov Dori Why significant UML change is unlikely , 2002, CACM.

[52]  Ursula Dresdner Model Driven Engineering For Distributed Real Time Embedded Systems , 2016 .

[53]  Jörgen Hansson,et al.  Assessing the State-of-Practice of Model-Based Engineering in the Embedded Systems Domain , 2014, MoDELS.

[54]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[55]  Henry J. Gardner,et al.  Executable/Translatable UML in Computing Education , 2004, ACE.

[56]  Janice Singer,et al.  Guide to Advanced Empirical Software Engineering , 2007 .

[57]  Onur Demirörs,et al.  Factors influencing the understandability of process models: A systematic literature review , 2018, Inf. Softw. Technol..

[58]  Bruce McMillin,et al.  Software engineering: What is it? , 2018, 2018 IEEE Aerospace Conference.

[59]  Jennifer L. Hartnett,et al.  Managing Quality: The Strategic and Competitive Edge , 1988 .

[60]  Vahid Garousi,et al.  A Survey of Software Engineering Practices in Turkey (extended version) , 2014, J. Syst. Softw..

[61]  Michael Guttman,et al.  Real-Life MDA: Solving Business Problems with Model Driven Architecture , 2006 .

[62]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[63]  Capers Jones,et al.  Embedded Software: Facts, Figures, and Future , 2009, Computer.

[64]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[65]  Miguel A. Vega-Rodríguez Design space exploration of embedded systems: A view from diverse domains , 2013, J. Syst. Archit..

[66]  Sardar Muhammad Sulaman,et al.  Guidelines for Conducting Surveys in Software , 2015 .

[67]  Lech Józwiak,et al.  Quality-driven model-based architecture synthesis for real-time embedded SoCs , 2008, J. Syst. Archit..

[68]  John M. Rushby,et al.  New challenges in certification for aircraft software , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[69]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[70]  Paulo Cézar Stadzisz,et al.  A Brazilian survey on UML and model-driven practices for embedded software development , 2013, J. Syst. Softw..

[71]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.