Abstract
Model-based software engineering (MBSE) is an approach to software development characterized in part by significantly greater levels of automation when compared to more traditional development methods. Computer-based tools play a fundamental role in a number of key aspects of development, including authoring support (many MBSE languages are predominantly visual), automatic or semi-automatic verification, automated translation of specifications into corresponding programs, and so on.
Given the historical precedents, such as the introduction of compilation technology, there is little doubt that automation, when properly conceived and realized, can dramatically increase the productivity of software developers and improve the quality of their software. Therefore, it is natural to assume that MBSE would quickly become the dominant form of software development, similar to the rapid adoption of computer-aided design approaches for hardware. Yet, this has not been the case.
In this opinion-based article, derived from the author’s long-term experience with MBSE and its application in industry, we examine the causes behind this seemingly paradoxical situation.
Similar content being viewed by others
References
Brooks Jr., F.: The Mythical Man-Month. Addison-Wesley, Reading (1995). Anniversary edn.
Chamberlin, D.D., Boyce, R.F.: (1974). SEQUEL: a structured English query language. In: Proceedings of the 1974 ACM SIGFIDET Workshop on Data Description, Access and Control, pp. 249–264. Association for Computing Machinery (1974)
Eclipse Foundation: Eclipse documentation. http://www.eclipse.org/documentation/ (2008)
Ellsberger, J., et al.: SDL – Formal Object-Oriented Language for Communicating Systems. Prentice Hall, London (1997)
Frankel, D.: Model Driven Architecture – Applying MDA to Enterprise Computing. OMG Press, Indianapolis (2003)
Graham, I.: Object-Oriented Methods. Addison-Wesley, London (2001)
Greenfield, J., et al.: Software Factories. Wiley, Indianapolis (2004)
Harel, D., et al.: STATEMATE: a working environment for the development of complex reactive systems. IEEE Transactions of Software Engineering 16(4), 403–414 (1990)
International Business Machines (IBM): Systems reference Library: Report Program Generator (on Disk) Specifications. http://bitsavers.org/pdf/ibm/14xx/C24-3261-1_1401_diskRPG.pdf (1964)
Magerko, B.: Adaptation in digital games. IEEE Computer 41(6), 87–89 (2008)
MathWorks: MATLAB Function Reference. http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.html (2008)
Mellor, S., et al.: MDA Distilled—Principles of Model-Driven Architecture. Addison-Wesley, Boston (2004)
Mernik, M., Heering, J., Sloane, M.: When and how to develop domain-specific languages. ACM Computing Surveys 37(4), 316–344 (2005)
McLuhan, M.: Understanding Media: The Extensions of Man. McGraw-Hill, New York (1964)
Nunes, N.J., et al. (eds.): Industry track papers. In: UML Modeling Languages and Applications – «UML» 2004 Satellite Activities, Lisbon, Portugal, October 2004 (Revised Selected Papers). Lecture Notes in Computer Science, vol. 3297, pp. 94–233. Springer (2005)
Object Management Group (OMG): MDA Guide, v.1.0.1. OMG document omg/2003-06-01 (2003)
Object Management Group (OMG): Unified Modeling Language (UML) Superstructure Specification, v.2.1.2. OMG document formal/07-11-02 (2007a)
Object Management Group (OMG): XML Metadata Interchange (XMI), v.2.1.1. OMG document formal/07-12-01 (2007b)
Object Management Group (OMG): A UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, v.Beta 2. OMG document ptc/08-06-09 (2008a)
Object Management Group (OMG): OMG MARTE Information Day (June 2008b). http://omgmarte.org/Events.htm
Selic, B., et al.: Real-Time Object-Oriented Modeling. Wiley, New York (1994)
SPSS Inc: SPSS 15.0 Command Syntax Reference, Chicago IL (2006)
Weigert, T., Weil, F.: Practical experience in using model-driven engineering to develop trustworthy computing systems. In: Proceedings of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing, vol. 1, pp. 208–217, 5–7 June, 2006
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Selic, B. Personal reflections on automation, programming culture, and model-based software engineering. Autom Softw Eng 15, 379–391 (2008). https://doi.org/10.1007/s10515-008-0035-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-008-0035-7