Advertisement

Springer Nature is making Coronavirus research free. View research | View latest news | Sign up for updates

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

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 to check access.

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

Notes

  1. 1.

    Through www.soscisurvey.de.

  2. 2.

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

References

  1. 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)

  2. 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)

  3. 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. 4.

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

  5. 5.

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

  6. 6.

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

  7. 7.

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

  8. 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. 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)

  10. 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. 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. 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. 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)

  14. 14.

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

  15. 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. 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)

  17. 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. 18.

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

  19. 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. 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. 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)

  22. 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. 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. 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. 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. 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. 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)

  28. 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. 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. 30.

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

  31. 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. 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. 33.

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

  34. 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. 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. 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)

  37. 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)

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

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.

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

Consistency

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

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

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.

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

Integrity

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

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.

Model-driven development

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

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.

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

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

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

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

Keywords

  • Model-based engineering
  • Model-driven engineering
  • Embedded systems
  • Industry
  • Modeling
  • Empirical study
  • State-of-practice