Advertisement

Achievements, Failures, and the Future of Model-Based Software Engineering

  • Oliver Kautz
  • Alexander Roth
  • Bernhard Rumpe
Open Access
Chapter

Abstract

Model-based software engineering (MBSE) is used in research and industry for quite a while. After three decades of improving modeling techniques, concepts, and explicit modeling languages as well as understanding the usability and failures of modeling in development projects, this chapter summarizes the principal obstacles, achievements, and failures of MBSE projects from a personal perspective. We consider the use of MBSE as a failure in a development project, if the methodology fails to meet its goals with respect to the particular project. For example, some reasons for failures are as follows: developers initially decide not to use models (negative cost/benefit analysis), decrease in productivity (increase in development time), or decrease in software quality (e.g., decrease in maintainability, understandability, or performance). On the contrary, the use of MBSE in a development project is an achievement, if it succeeds to accomplish all desired goals with respect to the particular project. Besides the aspects mentioned above, this could also be increased analyzability of the system under development due to the introduced high-level abstraction of models.

References

  1. 1.
    Adam, K., Butting, A., Heim, R., Kautz, O., Rumpe, B., Wortmann, A.: Model-driven separation of concerns for service robotics. In: International Workshop on Domain-Specific Modeling (DSM’16). ACM, New York (2016)Google Scholar
  2. 2.
    Alur, R.: Principles of Cyber-Physical Systems. The MIT Press, Cambridge (2015)Google Scholar
  3. 3.
    Aravantinos, V., Voss, S., Teufl, S., Hölzl, F., Schätz, B.: AutoFOCUS 3: tooling concepts for seamless, model-based development of embedded systems. In: Joint Proceedings of ACES-MB 2015 - Model-Based Architecting of Cyber-Physical and Embedded Systems and WUCOR 2015 - UML Consistency Rules (2015)Google Scholar
  4. 4.
    Batory, D., Johnson, C., MacDonald, B., von Heeder, D.: Achieving extensibility through product-lines and domain-specific languages: a case study. ACM Trans. Softw. Eng. Methodol. 11(2), 191–214 (2002)Google Scholar
  5. 5.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 1(1), 1–182 (2012)Google Scholar
  6. 6.
    Butting, A., Haber, A., Hermerschmidt, L., Kautz, O., Rumpe, B., Wortmann, A.: Systematic language extension mechanisms for the MontiArc architecture description language. In: Modelling Foundations and Applications (ECMFA’17), Held as Part of STAF 2017, pp. 53–70. Springer International Publishing, Cham (2017)Google Scholar
  7. 7.
    Chandra, S., Richards, B., Larus, J.R.: Teapot: language support for writing memory coherence protocols. In: Conference on Programming Language Design and Implementation. ACM, New York (1996)Google Scholar
  8. 8.
    Chaudron, M.R., Heijstek, W., Nugroho, A.: How effective is UML modeling? Softw. Syst. Model. 11(4) (2012)Google Scholar
  9. 9.
    Chen, P.P.S.: The entity-relationship model - toward a unified view of data. ACM Trans. Database Syst. 1(1), 166–192 (1976)Google Scholar
  10. 10.
    Cheng, B., Eder, K., Gogolla, M., Grunske, L., Litoiu, M., Müller, H., Pelliccione, P., Perini, A., Qureshi, N., Rumpe, B., Schneider, D., Trollmann, F., Villegas, N.: Using models at runtime to address assurance for self-adaptive systems. In: Models@run.time. Lecture Notes in Computer Science, vol. 8378, pp. 101–136. Springer, Berlin (2014)Google Scholar
  11. 11.
    Cheng, B.H.C., Combemale, B., France, R.B., Jézéquel, J.M., Rumpe, B.: Globalizing domain-specific languages (Dagstuhl Seminar 14412). Dagstuhl Rep. 4(10) (2015)Google Scholar
  12. 12.
    Combemale, B., France, R., Jézéquel, J.M., Rumpe, B., Steel, J., Vojtisek, D.: Engineering Modeling Languages: Turning Domain Knowledge into Tools. Innovations in Software Engineering and Software Development Series. Chapman & Hall/CRC, London/Boca Raton (2016)Google Scholar
  13. 13.
    Debruyne, V., Simonot-Lion, F., Trinquet, Y.: EAST-ADL - an architecture description language. In: Architecture Description Languages. Springer, New York (2005)Google Scholar
  14. 14.
    Elliott, C.: Modeling interactive 3D and multimedia animation with an embedded language. In: Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997. USENIX Association, Berkeley (1997)Google Scholar
  15. 15.
    Erdweg, S., van der Storm, T., Völter, M., Tratt, L., Bosman, R., Cook, W.R., Gerritsen, A., Hulshout, A., Kelly, S., Loh, A., Konat, G., Molina, P.J., Palatnik, M., Pohjonen, R., Schindler, E., Schindler, K., Solmi, R., Vergu, V., Visser, E., van der Vlist, K., Wachsmuth, G., van der Woning, J.: Evaluating and comparing language workbenches. Comput. Lang. Syst. Struct. 44, 24–47 (2015)Google Scholar
  16. 16.
    Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley Professional, Reading (2012)Google Scholar
  17. 17.
    Fieber, F., Huhn, M., Rumpe, B.: Modellqualität als Indikator für Softwarequalität: eine Taxonomie. Informatik-Spektrum 31(5), 408–424 (2008)Google Scholar
  18. 18.
    Freudenthal, M.: Domain-specific languages in a customs information system. IEEE Softw. 27(2), 65–71 (2010)Google Scholar
  19. 19.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston (1995)Google Scholar
  20. 20.
    Gewaltig, M.O.: NEST (NEural Simulation Tool). Scholarpedia 2(4), 1430 (2007)Google Scholar
  21. 21.
    Greifenberg, T., Hölldobler, K., Kolassa, C., Look, M., Mir Seyed Nazari, P., Müller, K., Navarro Perez, A., Plotnikov, D., Reiß, D., Roth, A., Rumpe, B., Schindler, M., Wortmann, A.: Integration of handwritten and generated object-oriented code. In: Model-Driven Engineering and Software Development. Communications in Computer and Information Science, vol. 580. Springer, New York (2015)Google Scholar
  22. 22.
    Harel, D., Rumpe, B.: Meaningful Modeling: What’s the Semantics of “Semantics”? IEEE Comput. 37(10), 64–72 (2004)Google Scholar
  23. 23.
    Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2003)Google Scholar
  24. 24.
    Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, 3rd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2006)Google Scholar
  25. 25.
    Karsai, G., Krahn, H., Pinkernell, C., Rumpe, B., Schindler, M., Völkel, S.: Design guidelines for domain specific languages. In: Domain-Specific Modeling Workshop (DSM’09), Techreport B-108. Helsinki School of Economics (2009)Google Scholar
  26. 26.
    Kent, S.: Model Driven Engineering. In: Integrated Formal Methods. Lecture Notes in Computer Science, vol. 2335. Springer, Berlin (2002)Google Scholar
  27. 27.
    Kulkarni, V., Barat, S., Ramteerthkar, U.: Early experience with agile methodology in a model-driven approach. In: 14th International Conference on Model Driven Engineering Languages and Systems. MODELS’11. Springer, Berlin (2011)Google Scholar
  28. 28.
    Look, M.: Unterstützung modellgetriebener, agiler Entwicklung mehrbenutzerfähiger, ubiquitärer Enterprise Applikationen durch Generatoren. Ph.D. thesis, RWTH Aachen University, Aachen (2017)Google Scholar
  29. 29.
    Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., Tang, A.: What industry needs from architectural languages: a survey. IEEE Trans. Softw. Eng. 39(6), 869–891 (2013)Google Scholar
  30. 30.
    Maoz, S., Ringert, J.O., Rumpe, B.: A manifesto for semantic model differencing. In: Proceedings International Workshop on Models and Evolution (ME’10). Lecture Notes in Computer Science, vol. 6627, pp. 194–203. Springer, Berlin (2010)Google Scholar
  31. 31.
    Maoz, S., Ringert, J.O., Rumpe, B.: ADDiff: semantic differencing for activity diagrams. In: Conference on Foundations of Software Engineering (ESEC/FSE ’11), pp. 179–189. ACM, New York (2011)Google Scholar
  32. 32.
    Maoz, S., Ringert, J.O., Rumpe, B.: Semantically configurable consistency analysis for class and object diagrams. In: Conference on Model Driven Engineering Languages and Systems (MODELS’11). Lecture Notes in Computer Science, vol. 6981, pp. 153–167. Springer, Berlin (2011)Google Scholar
  33. 33.
    Matlab Homepage (2017). https://de.mathworks.com/products/matlab.html. Accessed 09 May 2017
  34. 34.
    Mcdermott, D., Ghallab, M., Howe, A., Knoblock, C., Ram, A., Veloso, M., Weld, D., Wilkins, D.: PDDL - the planning domain definition language. Tech. Rep. TR-98-003, Yale Center for Computational Vision and Control (1998)Google Scholar
  35. 35.
    Medvidovic, N., Taylor, R.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)Google Scholar
  36. 36.
    Méndez-Acuña, D., Galindo Duarte, J.A., Degueule, T., Combemale, B., Baudry, B.: Leveraging software product lines engineering in the development of external DSLs: a systematic literature review. Comput. Lang. Syst. Struct. 46, 206–235 (2016)Google Scholar
  37. 37.
    Mir Seyed Nazari, P., Roth, A., Rumpe, B.: An extended symbol table infrastructure to manage the composition of output-specific generator information. In: Modellierung 2016 Conference, vol. 254. Bonner Köllen Verlag, Bonn (2016)Google Scholar
  38. 38.
    Naur, P., Randell, B. (eds.): Software Engineering: Report of a Conference Sponsored by the NATO Science Committee (1969)Google Scholar
  39. 39.
    Object Management Group (2017). http://www.omg.org. Accessed 09 May 2017
  40. 40.
    Plotnikov, D., Blundell, I., Ippen, T., Eppler, J.M., Morrison, A., Rumpe, B.: NESTML: a modeling language for spiking neurons. In: Modellierung 2016 Conference. LNI, vol. 254. Bonner Köllen Verlag, Bonn (2016)Google Scholar
  41. 41.
    Pu, C., Black, A., Cowan, C., Walpole, J., Consel, C.: Microlanguages for operating system specialization. In: Workshop on Domain-Specific Languages (1997)Google Scholar
  42. 42.
    Roth, A., Rumpe, B.: Towards product lining model-driven development code generators. In: Model-Driven Engineering and Software Development Conference (MODELSWARD ’15). SciTePress, Setúbal (2015)Google Scholar
  43. 43.
    Rumpe, B.: Modeling with UML: Language, Concepts, Methods. Springer International, Cham (2016)Google Scholar
  44. 44.
    Rumpe, B.: Agile Modeling with UML: Code Generation, Testing, Refactoring. Springer International, Cham (2017)Google Scholar
  45. 45.
    Schindler, M.: Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML/P. Aachener Informatik-Berichte, Software Engineering, Band 11. Shaker Verlag, Herzogenrath (2012)Google Scholar
  46. 46.
    Schlegel, C., Steck, A., Lotz, A.: Model-driven software development in robotics: communication patterns as key for a robotics component model. In: Introduction to Modern Robotics. iConcept Press, Kowloon (2011)Google Scholar
  47. 47.
    Simulink Homepage (2017). https://de.mathworks.com/products/simulink.html. Accessed 09 May 2017
  48. 48.
    Systems Modeling Language (2017). http://www.omgsysml.org/. Accessed 09 May 2017
  49. 49.
    Thibault, S., Consel, C., Muller, G.: Safe and efficient active network programming. In: Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281) (1998)Google Scholar
  50. 50.
    Thibault, S.A., Marlet, R., Consel, C.: Domain-specific languages: from design to implementation application to video device drivers generation. IEEE Trans. Softw. Eng. 25(3), 363–377 (1999)CrossRefGoogle Scholar
  51. 51.
    Unified Modeling Language (2017). http://www.omg.org/spec/UML/. Accessed 09 May 2017
  52. 52.
    van Deursen, A., Klint, P.: Little languages: little maintenance. J. Softw. Maint. 10(2), 75–92 (1998)CrossRefGoogle Scholar
  53. 53.
    Van Ommering, R., Van Der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. Computer 33(3), 78–85 (2000)CrossRefGoogle Scholar

Copyright information

© The Author(s) 2018

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Authors and Affiliations

  1. 1.Software EngineeringRWTH Aachen UniversityAachenGermany

Personalised recommendations