Skip to main content
Log in

Personal reflections on automation, programming culture, and model-based software engineering

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

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.

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.

Similar content being viewed by others

References

  • Brooks Jr., F.: The Mythical Man-Month. Addison-Wesley, Reading (1995). Anniversary edn.

    Google Scholar 

  • 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)

    Google Scholar 

  • Frankel, D.: Model Driven Architecture – Applying MDA to Enterprise Computing. OMG Press, Indianapolis (2003)

    Google Scholar 

  • Graham, I.: Object-Oriented Methods. Addison-Wesley, London (2001)

    Google Scholar 

  • Greenfield, J., et al.: Software Factories. Wiley, Indianapolis (2004)

    Google Scholar 

  • 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)

    Article  MathSciNet  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Google Scholar 

  • Mernik, M., Heering, J., Sloane, M.: When and how to develop domain-specific languages. ACM Computing Surveys 37(4), 316–344 (2005)

    Article  Google Scholar 

  • McLuhan, M.: Understanding Media: The Extensions of Man. McGraw-Hill, New York (1964)

    Google Scholar 

  • 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)

    MATH  Google Scholar 

  • 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bran Selic.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-008-0035-7

Keywords

Navigation