Skip to main content
Log in

Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Model-based engineering (MBE) aims at increasing the effectiveness of engineering by using models as important artifacts in the development process. While empirical studies on the use and the effects of MBE in industry exist, only few of them target the embedded systems domain. We contribute to the body of knowledge with an empirical study on the use and the assessment of MBE in that particular domain. The goal of this study is to assess the current state-of-practice and the challenges the embedded systems domain is facing due to shortcomings with MBE. We collected quantitative data from 113 subjects, mostly professionals working with MBE, using an online survey. The collected data spans different aspects of MBE, such as the used modeling languages, tools, notations, effects of MBE introduction, or shortcomings of MBE. Our main findings are that MBE is used by a majority of all participants in the embedded systems domain, mainly for simulation, code generation, and documentation. Reported positive effects of MBE are higher quality and improved reusability. Main shortcomings are interoperability difficulties between MBE tools, high training effort for developers and usability issues. Our study offers valuable insights into the current industrial practice and can guide future research in the fields of systems modeling and embedded systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. Through www.soscisurvey.de.

  2. In the following, we state only MATLAB instead of MATLAB/Simulink/Stateflow.

References

  1. Agner, L.T.W., Soares, I.W., Stadzisz, P.C., Simão, J.M.: A brazilian survey on UML and model-driven practices for embedded software development. J. Syst. Softw. 86(4), 997–1005 (2013)

    Article  Google Scholar 

  2. Anda, B., Hansen, K., Gullesen, I., Thorsen, H.K.: Experiences from introducing uml-based development in a large safety-critical project. Empir. Softw. Eng. 11(4), 555–581 (2006)

    Article  Google Scholar 

  3. Baker, P., Loh, S., Weil, F.: Model-driven engineering in a large industrial context—motorola case study. In: Proceedings of ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems (2005)

  4. Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan and Claypool Publishers, San Rafael (2012)

    Google Scholar 

  5. CRYSTAL: Crystal-critical system engineering acceleration. http://www.crystal-artemis.eu (2014)

  6. Dobing, B., Parsons, J.: Dimensions of uml diagram use: a survey of practitioners. J. Database Manag. 19(1), 1–18 (2008)

    Article  Google Scholar 

  7. Ebert, C., Jones, C.: Embedded software: facts, figures, and future. Computer 42(4), 42–52 (2009)

    Article  Google Scholar 

  8. Espinoza, H., Cancila, D., Selic, B., Grard, S.: Challenges in combining sysml and marte for model-based design of embedded systems. In: Model Driven Architecture-Foundations and Applications, Lecture Notes in Computer Science, vol. 5562, pp. 98–113 (2009)

  9. Fisher, R.A.: On the interpretation of \(\chi ^2\) from contingency tables, and the calculation of \(p\). J. R. Stat. Soc. 85(1), 87–94 (1922)

    Article  Google Scholar 

  10. Forward, A., Lethbridge, T.C.: Problems and opportunities for model-centric versus code-centric software development: a survey of software professionals. In: Proceedings of 2008 International Workshop on Models in Software Engineering (MiSE) (2008)

  11. France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: 2007 Future of Software Engineering, FOSE ’07, pp. 37–54 (2007)

  12. Glinz, M.: A glossary of requirements engineering terminology. In: Standard Glossary of the Certified Professional for Requirements Engineering (CPRE) Studies and Exam, Version, vol 1 (2011)

  13. Grossman, M., Aronson, J.E., McCarthy, R.V.: Does UML make the grade? Insights from the software development community. Inf. Softw. Technol. 47(6), 383–397 (2005)

    Article  Google Scholar 

  14. Howe, D.: Free Online Dictionary of Computing. http://foldoc.org/

  15. Hutchinson, J., Rouncefield, M., Whittle, J.: Model-driven engineering practices in industry. In: Proceedings of 33rd International Conference on Software Engineering (ICSE) (2011)

  16. Hutchinson, J., Whittle, J., Rouncefield, M.: Model-driven engineering practices in industry: social, organizational and managerial factors that lead to success or failure. Part B. Sci. Comput. Program. 89(0), 144–161 (2014)

    Article  Google Scholar 

  17. Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of mde in industry. In: Proceedings of 33rd International Conference on Software Engineering (ICSE) (2011)

  18. IEEE Standard Glossary of Software Engineering Terminology: IEEE Std 610.12-1990, pp. 1–84 (1990)

  19. IEEE Standard for Information Technology- Standardized Application Environment Profile (AEP)-POSIX Realtime and Embedded Application Support. IEEE Std 1003.13-2003 (Revision of IEEE Std 1003.13-1998) pp. i–164 (2004)

  20. IEC 62531:2012(E) (IEEE Std 1850-2010): Standard for Property Specification Language (PSL). IEC 62531:2012(E) (IEEE Std 1850-2010) pp. 1–184 (2012)

  21. Karsai, G., Neema, S., Sharp, D.: Model-driven architecture for embedded software: a synopsis and an example. Sci. Comput. Program. 73(1), 26–38 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  22. Kirstan, S., Zimmermann, J.: Evaluating costs and benefits of model-based development of embedded software systems in the car industry—results of a qualitative case study. In: Proceedings of Workshop “From code centric to model centric: Evaluating the effectiveness of MDD (C2M:EEMDD)” (2010)

  23. Leiner, D.J.: Too fast, too straight, too weird: Post hoc identification of meaningless data in internet surveys. http://www.researchgate.net/publication/258997762_Too_Fast_too_Straight_too_Weird_Post_Hoc_Identification_of_Meaningless_Data_in_Internet_Surveys (2013)

  24. Liebel, G., Marko, N., Tichy, M., Leitner, A., Hansson, J.: Assessing the state-of-practice of model-based engineering in the embedded systems domain. In: Proceedings of ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems (2014)

  25. Marko, N., Liebel, G., Sauter, D., Lodwich Aleksander Tichy, M., Leitner, A., Hansson, J.: Model-based engineering for embedded systems in practice. Technical report, University of Gothenburg (2014)

  26. Mohagheghi, P., Dehlen, V.: Where is the proof?—A review of experiences from applying MDE in industry. In: Proceedings of 4th European Conference on Model Driven Architecture-Foundations and Applications (ECMDA-FA) (2008)

  27. Mohagheghi, P., Gilani, W., Stefanescu, A., Fernandez, M., Nordmoen, B., Fritzsche, M.: Where does model-driven engineering help? Experiences from three industrial cases. Softw. Syst. Model. 12(3), 619–639 (2013)

    Article  Google Scholar 

  28. Niesel, K.: Volvo Car Group, Software center Day Skåne. http://www.software-center.se/digitalAssets/1506/1506474_sw-center-sk-ne-volvo.pdf (2015)

  29. Object Management Group: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems. http://www.omg.org/spec/MARTE/1.1/PDF (2011)

  30. Object Management Group: OMG Unified Modeling Language 2.5. http://www.omg.org/spec/UML/2.5/PDF (2015)

  31. Pfleeger, S.L., Kitchenham, B.A.: Principles of survey research: Part 1: Turning lemons into lemonade. In: SIGSOFT Software Engingeering Notes, vol. 26, no. 6, pp. 16–18 (2001)

  32. Punter, T., Ciolkowski, M., Freimut, B.G., John, I.: Conducting on-line surveys in software engineering. In: Proceedings of the 2003 International Symposium on Empirical Software Engineering (ISESE) (2003)

  33. Stachowiak, H. (ed.): Allgemeine Modelltheorie. Springer, Berlin (1973)

    Google Scholar 

  34. Torchiano, M., Tomassetti, F., Ricca, F., Tiso, A., Reggio, G.: Preliminary findings from a survey on the md* state of the practice. In: Proceedings of 2011 International Symposium on Empirical Software Engineering and Measurement (ESEM) (2011)

  35. Whittle, J., Hutchinson, J., Rouncefield, M., Burden, H., Heldal, R.: Industrial adoption of model-driven engineering: are the tools really the problem? In: Proceedings of ACM/IEEE 16th International Conference on Model Driven Engineering Languages and Systems (2013)

  36. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic, Berlin (2000)

    Book  MATH  Google Scholar 

  37. Woodcock, J., Larsen, P.G., Bicarregui, J., Fitzgerald, J.: Formal methods: practice and experience. ACM Comput. Surv. 41(4), 19:1–19:36 (2009)

    Article  Google Scholar 

Download references

Acknowledgments

The research leading to these results has received partial funding from the European Union’s Seventh Framework Program (FP7/2007-2013) for CRYSTAL-Critical System Engineering Acceleration Joint Undertaking under Grant Agreement No. 332830 and from Vinnova under DIARIENR 2012-04304. Further, the authors gratefully acknowledge financial support from FFG Austria for the project in which the above presented research results were achieved. We would also like to thank Aleksander Lodwich, Jos Langen and Leon Bouwmeester for participating in the survey design and contributing to the final study.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Grischa Liebel.

Additional information

Communicated by Dr. Jürgen Dingel and Wolfram Schulte.

Appendix: Key terms and definitions

Appendix: Key terms and definitions

Throughout the questionnaire, we use numerous terms and keywords. Even though most of these are common language in practice, we define what we mean by them in order to support readers who are not familiar with them. We reuse existing definitions from well-known sources where applicable.

1.1 Completeness

“The degree to which the specification contains all information which is necessary for developing a system that satisfies the stakeholders desires and needs” [12].

1.2 Consistency

“The degree of uniformity, standardization, and freedom from contradiction among the documents or parts of a system or component” [18].

1.3 Embedded systems

Embedded systems are systems that are “integral components of larger systems”, which are used to “control and/or directly monitor that system using special hardware devices” [19].

1.4 Formal methods

“Mathematically based techniques for the specification, development and verification of software and hardware systems” [14]. This definition includes more specific terms, such as formal verification.

1.5 Formal verification

“A functional verification process in which analysis of a design and a property yields a logical inference about whether the property holds for all behaviors of the design. If a property is declared true by a formal verification tool, no simulation can show it to be false. If the property does not hold for all behaviors, then the formal verification process should provide a specific counterexample to the property, if possible” [20].

1.6 Integrity

“The degree to which a system or component prevents unauthorized access to, or modification of, computer programs or data” [18].

1.7 Model

We use the following definition, based on Stachowiak’s features of a model [33]: A model is a representation of entities and relationships in the real world with a certain correspondence for a certain purpose.

1.8 Model-driven development

“Model-driven development (MDD) is a development paradigm that uses models as the primary artifact of the development process” [4].

1.9 Model-driven engineering

“Model-driven engineering (MDE) would be a superset of MDD because, as the E in MDE suggests, MDE goes beyond of the pure development activities and encompasses other model-based tasks of a complete software engineering process” [4]. This means that the term MDE encompasses all artifacts arising from the engineering process as artifacts that are possibly modeled, e.g., requirements, documentation, or designs.

1.10 Model-based engineering

The “Model-based engineering (MBE) process is a process in which software models play an important role although they are not necessarily the key artifacts of the development (i.e., they do NOT ‘drive’ the process as in MDE)” [4].

1.11 Quality

“(1) The degree to which a system, component, or process meets specified requirements. (2) The degree to which a system, component, or process meets customer or user needs or expectations” [18].

1.12 Simulation

“(1) A model that behaves or operates like a given system when provided a set of controlled inputs; (2) the process of developing or using a model as in (1)” [18].

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liebel, G., Marko, N., Tichy, M. et al. Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice. Softw Syst Model 17, 91–113 (2018). https://doi.org/10.1007/s10270-016-0523-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0523-3

Keywords

Navigation