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.
The borders of my language are the borders of my world.
L. Wittgenstein
Chapter PDF
Similar content being viewed by others
References
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)
Alur, R.: Principles of Cyber-Physical Systems. The MIT Press, Cambridge (2015)
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)
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)
Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 1(1), 1–182 (2012)
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)
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)
Chaudron, M.R., Heijstek, W., Nugroho, A.: How effective is UML modeling? Softw. Syst. Model. 11(4) (2012)
Chen, P.P.S.: The entity-relationship model - toward a unified view of data. ACM Trans. Database Syst. 1(1), 166–192 (1976)
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)
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)
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)
Debruyne, V., Simonot-Lion, F., Trinquet, Y.: EAST-ADL - an architecture description language. In: Architecture Description Languages. Springer, New York (2005)
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)
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)
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)
Fieber, F., Huhn, M., Rumpe, B.: Modellqualität als Indikator für Softwarequalität: eine Taxonomie. Informatik-Spektrum 31(5), 408–424 (2008)
Freudenthal, M.: Domain-specific languages in a customs information system. IEEE Softw. 27(2), 65–71 (2010)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston (1995)
Gewaltig, M.O.: NEST (NEural Simulation Tool). Scholarpedia 2(4), 1430 (2007)
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)
Harel, D., Rumpe, B.: Meaningful Modeling: What’s the Semantics of “Semantics”? IEEE Comput. 37(10), 64–72 (2004)
Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2003)
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)
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)
Kent, S.: Model Driven Engineering. In: Integrated Formal Methods. Lecture Notes in Computer Science, vol. 2335. Springer, Berlin (2002)
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)
Look, M.: Unterstützung modellgetriebener, agiler Entwicklung mehrbenutzerfähiger, ubiquitärer Enterprise Applikationen durch Generatoren. Ph.D. thesis, RWTH Aachen University, Aachen (2017)
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)
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)
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)
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)
Matlab Homepage (2017). https://de.mathworks.com/products/matlab.html. Accessed 09 May 2017
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)
Medvidovic, N., Taylor, R.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)
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)
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)
Naur, P., Randell, B. (eds.): Software Engineering: Report of a Conference Sponsored by the NATO Science Committee (1969)
Object Management Group (2017). http://www.omg.org. Accessed 09 May 2017
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)
Pu, C., Black, A., Cowan, C., Walpole, J., Consel, C.: Microlanguages for operating system specialization. In: Workshop on Domain-Specific Languages (1997)
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)
Rumpe, B.: Modeling with UML: Language, Concepts, Methods. Springer International, Cham (2016)
Rumpe, B.: Agile Modeling with UML: Code Generation, Testing, Refactoring. Springer International, Cham (2017)
Schindler, M.: Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML/P. Aachener Informatik-Berichte, Software Engineering, Band 11. Shaker Verlag, Herzogenrath (2012)
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)
Simulink Homepage (2017). https://de.mathworks.com/products/simulink.html. Accessed 09 May 2017
Systems Modeling Language (2017). http://www.omgsysml.org/. Accessed 09 May 2017
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)
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)
Unified Modeling Language (2017). http://www.omg.org/spec/UML/. Accessed 09 May 2017
van Deursen, A., Klint, P.: Little languages: little maintenance. J. Softw. Maint. 10(2), 75–92 (1998)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
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.
Copyright information
© 2018 The Author(s)
About this chapter
Cite this chapter
Kautz, O., Roth, A., Rumpe, B. (2018). Achievements, Failures, and the Future of Model-Based Software Engineering. In: Gruhn, V., Striemer, R. (eds) The Essence of Software Engineering. Springer, Cham. https://doi.org/10.1007/978-3-319-73897-0_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-73897-0_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-73896-3
Online ISBN: 978-3-319-73897-0
eBook Packages: Computer ScienceComputer Science (R0)